From 467b9372970824f565c0cb7f782ed453001f1a86 Mon Sep 17 00:00:00 2001 From: Sean McGrail Date: Tue, 2 Nov 2021 21:58:57 +0000 Subject: [PATCH] Update API Models (#1479) * Add ShapeBackwardsCompatabilityTransforms * Sync API Models * feature: Updated Service Models --- .../applicationinsights.2018-11-25.json | 137 +- .../aws-models/auditmanager.2017-07-25.json | 1568 ++-- .../aws-models/autoscaling.2011-01-01.json | 665 +- .../aws-models/chime.2018-05-01.json | 12 + .../chimesdkidentity.2021-04-20.json | 930 ++- .../chimesdkmessaging.2021-05-15.json | 419 +- .../aws-models/cloudfront.2020-05-31.json | 1676 +++- .../aws-models/connect.2017-08-08.json | 240 +- .../connectparticipant.2018-09-07.json | 82 +- .../aws-models/ec2.2016-11-15.json | 1806 +++- .../aws-models/ecs.2014-11-13.json | 166 +- .../aws-models/eks.2017-11-01.json | 40 +- .../aws-models/emrcontainers.2020-10-01.json | 47 +- .../aws-models/gamelift.2015-10-01.json | 267 +- .../aws-models/lightsail.2016-11-28.json | 87 +- .../aws-models/neptune.2014-10-31.json | 136 +- .../aws-models/networkmanager.2019-07-05.json | 2545 +++++- .../aws-models/nimble.2020-08-01.json | 3558 +++++--- .../aws-models/quicksight.2018-04-01.json | 24 +- .../aws-models/rds.2014-10-31.json | 822 +- .../aws-models/rekognition.2016-06-27.json | 1128 ++- .../route53resolver.2018-04-01.json | 291 +- .../aws-models/sagemaker.2017-07-24.json | 609 +- .../aws-models/ssmincidents.2018-05-10.json | 611 +- .../aws-models/textract.2018-06-27.json | 258 +- .../aws-models/transcribe.2017-10-26.json | 111 +- ...ShapeBackwardsCompatabilityTransforms.java | 42 + ...mithy.go.codegen.integration.GoIntegration | 1 + .../smithy/aws/go/codegen/endpoints.json | 7315 +++++++++++++++-- .../api_op_CreateApplication.go | 9 +- .../api_op_ListProblems.go | 3 + .../api_op_UpdateApplication.go | 2 + .../api_op_UpdateComponentConfiguration.go | 2 + service/applicationinsights/deserializers.go | 56 + .../internal/endpoints/endpoints.go | 40 + service/applicationinsights/serializers.go | 25 + service/applicationinsights/types/enums.go | 36 +- service/applicationinsights/types/types.go | 7 + service/applicationinsights/validators.go | 3 - .../appstream/internal/endpoints/endpoints.go | 18 + ...AssociateAssessmentReportEvidenceFolder.go | 8 +- ..._BatchAssociateAssessmentReportEvidence.go | 8 +- ...pi_op_BatchCreateDelegationByAssessment.go | 8 +- ...pi_op_BatchDeleteDelegationByAssessment.go | 8 +- ...tchDisassociateAssessmentReportEvidence.go | 10 +- ..._BatchImportEvidenceToAssessmentControl.go | 12 +- .../auditmanager/api_op_CreateAssessment.go | 13 +- .../api_op_CreateAssessmentFramework.go | 6 +- .../api_op_CreateAssessmentReport.go | 4 +- service/auditmanager/api_op_CreateControl.go | 10 +- .../auditmanager/api_op_DeleteAssessment.go | 2 +- .../api_op_DeleteAssessmentFramework.go | 2 +- .../api_op_DeleteAssessmentFrameworkShare.go | 122 + .../api_op_DeleteAssessmentReport.go | 2 +- service/auditmanager/api_op_DeleteControl.go | 2 +- ...i_op_DeregisterOrganizationAdminAccount.go | 15 +- ...associateAssessmentReportEvidenceFolder.go | 2 +- .../auditmanager/api_op_GetAccountStatus.go | 2 +- service/auditmanager/api_op_GetAssessment.go | 4 +- .../api_op_GetAssessmentFramework.go | 4 +- .../api_op_GetAssessmentReportUrl.go | 8 +- service/auditmanager/api_op_GetChangeLogs.go | 14 +- service/auditmanager/api_op_GetControl.go | 4 +- service/auditmanager/api_op_GetDelegations.go | 10 +- service/auditmanager/api_op_GetEvidence.go | 8 +- .../api_op_GetEvidenceByEvidenceFolder.go | 14 +- .../auditmanager/api_op_GetEvidenceFolder.go | 8 +- .../api_op_GetEvidenceFoldersByAssessment.go | 13 +- ...p_GetEvidenceFoldersByAssessmentControl.go | 22 +- .../api_op_GetOrganizationAdminAccount.go | 4 +- .../auditmanager/api_op_GetServicesInScope.go | 2 +- service/auditmanager/api_op_GetSettings.go | 2 +- ...op_ListAssessmentFrameworkShareRequests.go | 222 + .../api_op_ListAssessmentFrameworks.go | 16 +- .../api_op_ListAssessmentReports.go | 10 +- .../auditmanager/api_op_ListAssessments.go | 10 +- service/auditmanager/api_op_ListControls.go | 12 +- .../api_op_ListKeywordsForDataSource.go | 15 +- .../auditmanager/api_op_ListNotifications.go | 8 +- .../api_op_ListTagsForResource.go | 4 +- .../auditmanager/api_op_RegisterAccount.go | 2 +- ...api_op_RegisterOrganizationAdminAccount.go | 10 +- .../api_op_StartAssessmentFrameworkShare.go | 146 + service/auditmanager/api_op_TagResource.go | 4 +- .../auditmanager/api_op_UpdateAssessment.go | 18 +- .../api_op_UpdateAssessmentControl.go | 13 +- ...api_op_UpdateAssessmentControlSetStatus.go | 12 +- .../api_op_UpdateAssessmentFramework.go | 8 +- .../api_op_UpdateAssessmentFrameworkShare.go | 132 + .../api_op_UpdateAssessmentStatus.go | 6 +- service/auditmanager/api_op_UpdateControl.go | 12 +- service/auditmanager/api_op_UpdateSettings.go | 4 +- ...pi_op_ValidateAssessmentReportIntegrity.go | 6 +- service/auditmanager/deserializers.go | 829 +- service/auditmanager/doc.go | 18 +- service/auditmanager/generated.json | 4 + service/auditmanager/serializers.go | 300 + service/auditmanager/types/enums.go | 68 + service/auditmanager/types/errors.go | 4 +- service/auditmanager/types/types.go | 425 +- service/auditmanager/validators.go | 171 + .../api_op_CreateAutoScalingGroup.go | 23 +- .../api_op_UpdateAutoScalingGroup.go | 17 +- service/autoscaling/deserializers.go | 1490 +++- service/autoscaling/serializers.go | 438 + service/autoscaling/types/enums.go | 186 + service/autoscaling/types/types.go | 511 +- service/autoscaling/validators.go | 156 + service/chime/deserializers.go | 18 + service/chime/types/types.go | 6 + ...pi_op_DeregisterAppInstanceUserEndpoint.go | 121 + .../api_op_DescribeAppInstanceUserEndpoint.go | 128 + .../api_op_ListAppInstanceUserEndpoints.go | 222 + .../api_op_ListTagsForResource.go | 121 + .../api_op_RegisterAppInstanceUserEndpoint.go | 203 + .../chimesdkidentity/api_op_TagResource.go | 122 + .../chimesdkidentity/api_op_UntagResource.go | 122 + .../api_op_UpdateAppInstanceUserEndpoint.go | 138 + service/chimesdkidentity/deserializers.go | 1980 ++++- service/chimesdkidentity/generated.json | 8 + service/chimesdkidentity/serializers.go | 772 +- service/chimesdkidentity/types/enums.go | 74 + service/chimesdkidentity/types/types.go | 132 +- service/chimesdkidentity/validators.go | 362 + .../api_op_BatchCreateChannelMembership.go | 2 +- .../api_op_CreateChannelBan.go | 2 +- .../api_op_CreateChannelMembership.go | 33 +- .../api_op_CreateChannelModerator.go | 2 +- .../api_op_DeleteChannelMembership.go | 2 +- .../api_op_DeleteChannelModerator.go | 2 +- .../api_op_DescribeChannelBan.go | 2 +- .../api_op_DescribeChannelMembership.go | 2 +- .../api_op_DescribeChannelModerator.go | 2 +- .../api_op_GetChannelMembershipPreferences.go | 142 + .../api_op_ListChannelMemberships.go | 6 +- .../api_op_PutChannelMembershipPreferences.go | 146 + .../api_op_SendChannelMessage.go | 7 + service/chimesdkmessaging/deserializers.go | 557 ++ service/chimesdkmessaging/generated.json | 2 + service/chimesdkmessaging/serializers.go | 275 + service/chimesdkmessaging/types/enums.go | 38 + service/chimesdkmessaging/types/types.go | 77 +- service/chimesdkmessaging/validators.go | 155 + .../api_op_CreateResponseHeadersPolicy.go | 135 + .../api_op_DeleteResponseHeadersPolicy.go | 128 + .../api_op_GetResponseHeadersPolicy.go | 134 + .../api_op_GetResponseHeadersPolicyConfig.go | 133 + .../cloudfront/api_op_ListCachePolicies.go | 15 +- ...tDistributionsByResponseHeadersPolicyId.go | 137 + service/cloudfront/api_op_ListFunctions.go | 16 +- .../api_op_ListOriginRequestPolicies.go | 15 +- .../api_op_ListResponseHeadersPolicies.go | 140 + .../api_op_UpdateResponseHeadersPolicy.go | 147 + service/cloudfront/deserializers.go | 5123 ++++++++++-- service/cloudfront/generated.json | 7 + service/cloudfront/serializers.go | 1343 ++- service/cloudfront/types/enums.go | 97 + service/cloudfront/types/errors.go | 165 +- service/cloudfront/types/types.go | 734 +- service/cloudfront/validators.go | 645 +- .../internal/endpoints/endpoints.go | 60 +- .../connect/api_op_CreateHoursOfOperation.go | 1 - .../connect/api_op_DeleteHoursOfOperation.go | 1 - .../api_op_DescribeHoursOfOperation.go | 1 - service/connect/api_op_ListLexBots.go | 6 +- .../connect/api_op_StartContactStreaming.go | 181 + .../connect/api_op_StopContactStreaming.go | 131 + .../connect/api_op_UpdateHoursOfOperation.go | 1 - service/connect/deserializers.go | 255 + service/connect/generated.json | 2 + .../connect/internal/endpoints/endpoints.go | 1 + service/connect/serializers.go | 175 + service/connect/types/types.go | 17 +- service/connect/validators.go | 112 + .../internal/endpoints/endpoints.go | 1 + .../api_op_CompleteAttachmentUpload.go | 4 +- .../api_op_CreateParticipantConnection.go | 21 +- .../api_op_GetAttachment.go | 9 +- .../api_op_StartAttachmentUpload.go | 4 +- service/connectparticipant/serializers.go | 5 + service/connectparticipant/types/enums.go | 28 +- service/connectparticipant/types/types.go | 5 +- .../internal/endpoints/endpoints.go | 74 +- service/docdb/internal/endpoints/endpoints.go | 81 +- service/ebs/internal/endpoints/endpoints.go | 6 + service/ec2/api_op_DescribeImages.go | 15 +- service/ec2/api_op_DescribeInstances.go | 15 +- ...etInstanceTypesFromInstanceRequirements.go | 257 + service/ec2/api_op_GetSpotPlacementScores.go | 273 + .../ec2/api_op_ModifyCapacityReservation.go | 3 + service/ec2/api_op_ModifyImageAttribute.go | 12 +- service/ec2/deserializers.go | 4838 +++++++---- service/ec2/generated.json | 2 + service/ec2/serializers.go | 1149 ++- service/ec2/types/enums.go | 208 + service/ec2/types/types.go | 826 +- service/ec2/validators.go | 248 + service/ecr/internal/endpoints/endpoints.go | 30 + service/ecs/api_op_RegisterTaskDefinition.go | 13 +- service/ecs/deserializers.go | 90 + service/ecs/serializers.go | 24 + service/ecs/types/enums.go | 48 + service/ecs/types/types.go | 114 +- service/eks/types/enums.go | 12 +- .../internal/endpoints/endpoints.go | 36 +- .../internal/endpoints/endpoints.go | 42 +- .../api_op_CreateManagedEndpoint.go | 12 +- service/emrcontainers/deserializers.go | 54 + service/emrcontainers/types/types.go | 22 +- service/emrcontainers/validators.go | 3 - service/fsx/internal/endpoints/endpoints.go | 87 +- service/gamelift/deserializers.go | 56 +- service/gamelift/types/enums.go | 48 + .../health/internal/endpoints/endpoints.go | 10 + service/iam/internal/endpoints/endpoints.go | 22 + .../internal/endpoints/endpoints.go | 17 + .../kendra/internal/endpoints/endpoints.go | 6 + service/kms/internal/endpoints/endpoints.go | 188 +- .../api_op_CreateContainerService.go | 4 +- service/lightsail/api_op_UpdateBucket.go | 3 + service/lightsail/deserializers.go | 63 + service/lightsail/serializers.go | 29 + service/lightsail/types/types.go | 46 +- service/lightsail/validators.go | 20 + service/mgn/internal/endpoints/endpoints.go | 19 + service/neptune/api_op_AddRoleToDBCluster.go | 2 +- .../api_op_DescribeDBClusterSnapshots.go | 4 +- service/neptune/api_op_DescribeDBInstances.go | 276 + service/neptune/api_op_ModifyDBCluster.go | 19 + ...api_op_ModifyDBClusterSnapshotAttribute.go | 2 +- service/neptune/api_op_ModifyDBInstance.go | 2 +- .../neptune/api_op_RemoveRoleFromDBCluster.go | 3 +- service/neptune/api_op_StartDBCluster.go | 4 +- .../neptune/internal/endpoints/endpoints.go | 81 +- service/neptune/serializers.go | 10 + service/neptune/types/types.go | 15 +- .../api_op_AssociateCustomerGateway.go | 4 +- service/networkmanager/api_op_CreateDevice.go | 13 +- .../api_op_CreateGlobalNetwork.go | 2 +- service/networkmanager/api_op_CreateLink.go | 10 +- service/networkmanager/api_op_CreateSite.go | 3 +- .../api_op_DisassociateCustomerGateway.go | 4 +- .../api_op_GetCustomerGatewayAssociations.go | 5 +- .../api_op_GetNetworkResourceCounts.go | 258 + .../api_op_GetNetworkResourceRelationships.go | 270 + .../api_op_GetNetworkResources.go | 293 + .../networkmanager/api_op_GetNetworkRoutes.go | 162 + .../api_op_GetNetworkTelemetry.go | 268 + .../networkmanager/api_op_GetRouteAnalysis.go | 126 + .../api_op_RegisterTransitGateway.go | 10 +- .../api_op_StartRouteAnalysis.go | 140 + service/networkmanager/api_op_UpdateDevice.go | 13 +- .../api_op_UpdateGlobalNetwork.go | 2 +- service/networkmanager/api_op_UpdateLink.go | 6 +- .../api_op_UpdateNetworkResourceMetadata.go | 133 + service/networkmanager/api_op_UpdateSite.go | 3 +- service/networkmanager/deserializers.go | 4342 ++++++++-- service/networkmanager/doc.go | 6 +- service/networkmanager/generated.json | 8 + .../internal/endpoints/endpoints.go | 26 +- service/networkmanager/serializers.go | 826 ++ service/networkmanager/types/enums.go | 164 + service/networkmanager/types/errors.go | 1 + service/networkmanager/types/types.go | 364 +- service/networkmanager/validators.go | 330 + service/nimble/api_client.go | 20 - service/nimble/api_op_AcceptEulas.go | 52 +- service/nimble/api_op_CreateLaunchProfile.go | 53 +- service/nimble/api_op_CreateStreamingImage.go | 52 +- .../nimble/api_op_CreateStreamingSession.go | 50 +- .../api_op_CreateStreamingSessionStream.go | 52 +- service/nimble/api_op_CreateStudio.go | 50 +- .../nimble/api_op_CreateStudioComponent.go | 50 +- service/nimble/api_op_DeleteLaunchProfile.go | 50 +- .../api_op_DeleteLaunchProfileMember.go | 52 +- service/nimble/api_op_DeleteStreamingImage.go | 48 +- .../nimble/api_op_DeleteStreamingSession.go | 50 +- service/nimble/api_op_DeleteStudio.go | 50 +- .../nimble/api_op_DeleteStudioComponent.go | 48 +- service/nimble/api_op_DeleteStudioMember.go | 50 +- service/nimble/api_op_GetEula.go | 1 + service/nimble/api_op_GetLaunchProfile.go | 370 +- .../nimble/api_op_GetLaunchProfileDetails.go | 3 +- .../api_op_GetLaunchProfileInitialization.go | 7 +- .../nimble/api_op_GetLaunchProfileMember.go | 5 +- service/nimble/api_op_GetStreamingImage.go | 369 + service/nimble/api_op_GetStreamingSession.go | 544 +- .../api_op_GetStreamingSessionStream.go | 190 +- service/nimble/api_op_GetStudio.go | 368 + service/nimble/api_op_GetStudioComponent.go | 369 + service/nimble/api_op_GetStudioMember.go | 3 +- service/nimble/api_op_ListEulaAcceptances.go | 81 +- service/nimble/api_op_ListEulas.go | 79 +- .../nimble/api_op_ListLaunchProfileMembers.go | 92 +- service/nimble/api_op_ListLaunchProfiles.go | 93 +- service/nimble/api_op_ListStreamingImages.go | 81 +- .../nimble/api_op_ListStreamingSessions.go | 85 +- service/nimble/api_op_ListStudioComponents.go | 93 +- service/nimble/api_op_ListStudioMembers.go | 88 +- service/nimble/api_op_ListStudios.go | 85 +- service/nimble/api_op_ListTagsForResource.go | 3 +- .../nimble/api_op_PutLaunchProfileMembers.go | 51 +- service/nimble/api_op_PutStudioMembers.go | 50 +- .../nimble/api_op_StartStreamingSession.go | 134 + ...pi_op_StartStudioSSOConfigurationRepair.go | 66 +- service/nimble/api_op_StopStreamingSession.go | 134 + service/nimble/api_op_TagResource.go | 4 +- service/nimble/api_op_UntagResource.go | 4 +- service/nimble/api_op_UpdateLaunchProfile.go | 52 +- .../api_op_UpdateLaunchProfileMember.go | 55 +- service/nimble/api_op_UpdateStreamingImage.go | 50 +- service/nimble/api_op_UpdateStudio.go | 52 +- .../nimble/api_op_UpdateStudioComponent.go | 50 +- service/nimble/deserializers.go | 560 +- service/nimble/doc.go | 5 + service/nimble/generated.json | 5 +- service/nimble/go.mod | 1 + service/nimble/go.sum | 6 + .../nimble/internal/endpoints/endpoints.go | 7 + service/nimble/serializers.go | 149 + service/nimble/types/enums.go | 18 + service/nimble/types/errors.go | 10 + service/nimble/types/types.go | 125 +- service/nimble/validators.go | 84 + .../internal/endpoints/endpoints.go | 42 +- ...pi_op_GenerateEmbedUrlForRegisteredUser.go | 5 +- service/quicksight/serializers.go | 19 + service/quicksight/types/types.go | 20 + service/rds/api_op_AddRoleToDBCluster.go | 2 +- service/rds/api_op_AddRoleToDBInstance.go | 5 +- service/rds/api_op_CancelExportTask.go | 9 +- service/rds/api_op_CopyDBClusterSnapshot.go | 60 +- service/rds/api_op_CopyDBSnapshot.go | 53 +- .../rds/api_op_CreateCustomDBEngineVersion.go | 302 + service/rds/api_op_CreateDBCluster.go | 62 +- service/rds/api_op_CreateDBInstance.go | 328 +- .../rds/api_op_CreateDBInstanceReadReplica.go | 115 +- service/rds/api_op_CreateDBParameterGroup.go | 21 +- service/rds/api_op_CreateOptionGroup.go | 3 +- .../rds/api_op_DeleteCustomDBEngineVersion.go | 241 + service/rds/api_op_DeleteDBInstance.go | 30 +- .../api_op_DeleteDBInstanceAutomatedBackup.go | 1 + .../rds/api_op_DescribeDBEngineVersions.go | 8 +- ...i_op_DescribeDBInstanceAutomatedBackups.go | 1 + service/rds/api_op_DescribeDBLogFiles.go | 3 +- service/rds/api_op_DescribeDBSnapshots.go | 5 +- service/rds/api_op_DescribeExportTasks.go | 13 +- ...i_op_DescribeOrderableDBInstanceOptions.go | 9 +- ...op_DescribeValidDBInstanceModifications.go | 2 +- .../rds/api_op_DownloadDBLogFilePortion.go | 3 +- .../rds/api_op_ModifyCustomDBEngineVersion.go | 246 + service/rds/api_op_ModifyDBInstance.go | 234 +- service/rds/api_op_ModifyDBSnapshot.go | 3 +- service/rds/api_op_PromoteReadReplica.go | 2 +- service/rds/api_op_RebootDBInstance.go | 2 +- service/rds/api_op_RemoveRoleFromDBCluster.go | 2 +- .../rds/api_op_RemoveRoleFromDBInstance.go | 2 +- service/rds/api_op_RestoreDBClusterFromS3.go | 13 +- .../api_op_RestoreDBClusterFromSnapshot.go | 21 +- .../api_op_RestoreDBClusterToPointInTime.go | 30 +- .../api_op_RestoreDBInstanceFromDBSnapshot.go | 106 +- service/rds/api_op_RestoreDBInstanceFromS3.go | 24 +- .../api_op_RestoreDBInstanceToPointInTime.go | 112 +- service/rds/api_op_StartActivityStream.go | 3 +- service/rds/api_op_StartDBInstance.go | 5 +- ...rtDBInstanceAutomatedBackupsReplication.go | 4 +- service/rds/api_op_StartExportTask.go | 22 +- service/rds/api_op_StopActivityStream.go | 3 +- service/rds/api_op_StopDBInstance.go | 4 +- ...opDBInstanceAutomatedBackupsReplication.go | 5 +- service/rds/deserializers.go | 2563 +++++- service/rds/generated.json | 3 + service/rds/internal/endpoints/endpoints.go | 81 +- service/rds/serializers.go | 291 + service/rds/types/enums.go | 52 +- service/rds/types/errors.go | 92 + service/rds/types/types.go | 128 +- service/rds/validators.go | 135 + service/rekognition/api_op_CreateDataset.go | 150 + service/rekognition/api_op_CreateProject.go | 8 +- .../api_op_CreateProjectVersion.go | 58 +- service/rekognition/api_op_DeleteDataset.go | 123 + service/rekognition/api_op_DeleteProject.go | 6 +- service/rekognition/api_op_DescribeDataset.go | 124 + .../api_op_DescribeProjectVersions.go | 9 +- .../rekognition/api_op_DescribeProjects.go | 9 +- .../api_op_DistributeDatasetEntries.go | 129 + .../api_op_GetCelebrityRecognition.go | 11 +- .../rekognition/api_op_ListDatasetEntries.go | 258 + .../rekognition/api_op_ListDatasetLabels.go | 230 + .../api_op_RecognizeCelebrities.go | 36 +- .../api_op_UpdateDatasetEntries.go | 140 + service/rekognition/deserializers.go | 4649 +++++++---- service/rekognition/generated.json | 7 + .../internal/endpoints/endpoints.go | 72 +- service/rekognition/serializers.go | 561 ++ service/rekognition/types/enums.go | 66 + service/rekognition/types/types.go | 190 +- service/rekognition/validators.go | 340 +- .../api_op_GetResolverConfig.go | 123 + .../api_op_ListResolverConfigs.go | 226 + .../api_op_UpdateResolverConfig.go | 133 + service/route53resolver/deserializers.go | 661 +- service/route53resolver/generated.json | 3 + service/route53resolver/serializers.go | 187 + service/route53resolver/types/enums.go | 41 + service/route53resolver/types/types.go | 36 + service/route53resolver/validators.go | 81 + service/s3/internal/endpoints/endpoints.go | 153 +- .../internal/endpoints/s3/endpoints.go | 153 +- .../api_op_BatchDescribeModelPackage.go | 125 + service/sagemaker/api_op_CreateDomain.go | 10 + .../sagemaker/api_op_CreateModelPackage.go | 8 +- service/sagemaker/api_op_DescribeDomain.go | 14 + .../sagemaker/api_op_DescribeModelPackage.go | 13 +- service/sagemaker/api_op_DescribeProject.go | 7 + service/sagemaker/api_op_UpdateDomain.go | 3 + .../sagemaker/api_op_UpdateModelPackage.go | 16 +- service/sagemaker/api_op_UpdateProject.go | 143 + service/sagemaker/deserializers.go | 867 ++ service/sagemaker/generated.json | 2 + .../sagemaker/internal/endpoints/endpoints.go | 5 + service/sagemaker/serializers.go | 363 + service/sagemaker/types/enums.go | 70 +- service/sagemaker/types/types.go | 168 + service/sagemaker/validators.go | 160 +- .../internal/endpoints/endpoints.go | 68 +- .../api_op_CreateReplicationSet.go | 3 +- .../ssmincidents/api_op_CreateResponsePlan.go | 5 +- .../api_op_CreateTimelineEvent.go | 8 +- .../api_op_DeleteResourcePolicy.go | 2 +- .../api_op_DeleteTimelineEvent.go | 2 +- .../ssmincidents/api_op_GetIncidentRecord.go | 4 +- .../ssmincidents/api_op_GetResponsePlan.go | 4 +- .../ssmincidents/api_op_GetTimelineEvent.go | 5 +- .../api_op_ListIncidentRecords.go | 19 +- .../ssmincidents/api_op_ListRelatedItems.go | 4 +- .../ssmincidents/api_op_ListTimelineEvents.go | 17 +- service/ssmincidents/api_op_StartIncident.go | 7 +- .../api_op_UpdateDeletionProtection.go | 3 +- .../api_op_UpdateIncidentRecord.go | 47 +- .../ssmincidents/api_op_UpdateRelatedItems.go | 7 +- .../api_op_UpdateReplicationSet.go | 3 +- .../ssmincidents/api_op_UpdateResponsePlan.go | 15 +- .../api_op_UpdateTimelineEvent.go | 6 +- service/ssmincidents/deserializers.go | 16 + service/ssmincidents/doc.go | 17 +- service/ssmincidents/types/errors.go | 9 +- service/ssmincidents/types/types.go | 85 +- service/sso/internal/endpoints/endpoints.go | 44 + .../internal/endpoints/endpoints.go | 60 +- .../support/internal/endpoints/endpoints.go | 5 + service/textract/api_op_GetExpenseAnalysis.go | 173 + .../textract/api_op_StartDocumentAnalysis.go | 4 +- .../api_op_StartDocumentTextDetection.go | 2 +- .../textract/api_op_StartExpenseAnalysis.go | 165 + service/textract/deserializers.go | 398 + service/textract/generated.json | 2 + service/textract/serializers.go | 159 + service/textract/types/types.go | 12 +- service/textract/validators.go | 88 + .../transcribe/api_op_ListTagsForResource.go | 7 +- .../api_op_StartMedicalTranscriptionJob.go | 2 +- .../api_op_StartTranscriptionJob.go | 7 +- service/transcribe/api_op_TagResource.go | 8 +- service/transcribe/api_op_UntagResource.go | 6 +- service/transcribe/deserializers.go | 103 + .../internal/endpoints/endpoints.go | 2 + service/transcribe/serializers.go | 50 + service/transcribe/types/types.go | 54 +- service/waf/internal/endpoints/endpoints.go | 11 + .../wisdom/internal/endpoints/endpoints.go | 8 + 472 files changed, 75761 insertions(+), 12780 deletions(-) create mode 100644 codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/ShapeBackwardsCompatabilityTransforms.java create mode 100644 service/auditmanager/api_op_DeleteAssessmentFrameworkShare.go create mode 100644 service/auditmanager/api_op_ListAssessmentFrameworkShareRequests.go create mode 100644 service/auditmanager/api_op_StartAssessmentFrameworkShare.go create mode 100644 service/auditmanager/api_op_UpdateAssessmentFrameworkShare.go create mode 100644 service/chimesdkidentity/api_op_DeregisterAppInstanceUserEndpoint.go create mode 100644 service/chimesdkidentity/api_op_DescribeAppInstanceUserEndpoint.go create mode 100644 service/chimesdkidentity/api_op_ListAppInstanceUserEndpoints.go create mode 100644 service/chimesdkidentity/api_op_ListTagsForResource.go create mode 100644 service/chimesdkidentity/api_op_RegisterAppInstanceUserEndpoint.go create mode 100644 service/chimesdkidentity/api_op_TagResource.go create mode 100644 service/chimesdkidentity/api_op_UntagResource.go create mode 100644 service/chimesdkidentity/api_op_UpdateAppInstanceUserEndpoint.go create mode 100644 service/chimesdkmessaging/api_op_GetChannelMembershipPreferences.go create mode 100644 service/chimesdkmessaging/api_op_PutChannelMembershipPreferences.go create mode 100644 service/cloudfront/api_op_CreateResponseHeadersPolicy.go create mode 100644 service/cloudfront/api_op_DeleteResponseHeadersPolicy.go create mode 100644 service/cloudfront/api_op_GetResponseHeadersPolicy.go create mode 100644 service/cloudfront/api_op_GetResponseHeadersPolicyConfig.go create mode 100644 service/cloudfront/api_op_ListDistributionsByResponseHeadersPolicyId.go create mode 100644 service/cloudfront/api_op_ListResponseHeadersPolicies.go create mode 100644 service/cloudfront/api_op_UpdateResponseHeadersPolicy.go create mode 100644 service/connect/api_op_StartContactStreaming.go create mode 100644 service/connect/api_op_StopContactStreaming.go create mode 100644 service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go create mode 100644 service/ec2/api_op_GetSpotPlacementScores.go create mode 100644 service/networkmanager/api_op_GetNetworkResourceCounts.go create mode 100644 service/networkmanager/api_op_GetNetworkResourceRelationships.go create mode 100644 service/networkmanager/api_op_GetNetworkResources.go create mode 100644 service/networkmanager/api_op_GetNetworkRoutes.go create mode 100644 service/networkmanager/api_op_GetNetworkTelemetry.go create mode 100644 service/networkmanager/api_op_GetRouteAnalysis.go create mode 100644 service/networkmanager/api_op_StartRouteAnalysis.go create mode 100644 service/networkmanager/api_op_UpdateNetworkResourceMetadata.go create mode 100644 service/nimble/api_op_StartStreamingSession.go create mode 100644 service/nimble/api_op_StopStreamingSession.go create mode 100644 service/rds/api_op_CreateCustomDBEngineVersion.go create mode 100644 service/rds/api_op_DeleteCustomDBEngineVersion.go create mode 100644 service/rds/api_op_ModifyCustomDBEngineVersion.go create mode 100644 service/rekognition/api_op_CreateDataset.go create mode 100644 service/rekognition/api_op_DeleteDataset.go create mode 100644 service/rekognition/api_op_DescribeDataset.go create mode 100644 service/rekognition/api_op_DistributeDatasetEntries.go create mode 100644 service/rekognition/api_op_ListDatasetEntries.go create mode 100644 service/rekognition/api_op_ListDatasetLabels.go create mode 100644 service/rekognition/api_op_UpdateDatasetEntries.go create mode 100644 service/route53resolver/api_op_GetResolverConfig.go create mode 100644 service/route53resolver/api_op_ListResolverConfigs.go create mode 100644 service/route53resolver/api_op_UpdateResolverConfig.go create mode 100644 service/sagemaker/api_op_BatchDescribeModelPackage.go create mode 100644 service/sagemaker/api_op_UpdateProject.go create mode 100644 service/textract/api_op_GetExpenseAnalysis.go create mode 100644 service/textract/api_op_StartExpenseAnalysis.go diff --git a/codegen/sdk-codegen/aws-models/applicationinsights.2018-11-25.json b/codegen/sdk-codegen/aws-models/applicationinsights.2018-11-25.json index c768154927b..27440d7f417 100644 --- a/codegen/sdk-codegen/aws-models/applicationinsights.2018-11-25.json +++ b/codegen/sdk-codegen/aws-models/applicationinsights.2018-11-25.json @@ -37,6 +37,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "AccessDeniedException", + "httpResponseCode": 403 + }, "smithy.api#documentation": "

\n User does not have permissions to perform this action.\n

", "smithy.api#error": "client", "smithy.api#httpError": 403 @@ -149,6 +153,12 @@ "traits": { "smithy.api#documentation": "

The issues on the user side that block Application Insights from successfully monitoring\n an application. Example remarks include:

\n " } + }, + "AutoConfigEnabled": { + "target": "com.amazonaws.applicationinsights#AutoConfigEnabled" + }, + "DiscoveryType": { + "target": "com.amazonaws.applicationinsights#DiscoveryType" } }, "traits": { @@ -161,6 +171,18 @@ "target": "com.amazonaws.applicationinsights#ApplicationInfo" } }, + "com.amazonaws.applicationinsights#AutoConfigEnabled": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.applicationinsights#AutoCreate": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.applicationinsights#BadRequestException": { "type": "structure", "members": { @@ -169,6 +191,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "BadRequestException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The request is not understood by the server.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -231,7 +257,7 @@ "min": 1, "max": 10000 }, - "smithy.api#pattern": "[\\S\\s]+" + "smithy.api#pattern": "^[\\S\\s]+$" } }, "com.amazonaws.applicationinsights#ComponentName": { @@ -241,7 +267,7 @@ "min": 1, "max": 1011 }, - "smithy.api#pattern": "(?:^[\\d\\w\\-_\\.+]*$)|(?:^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$)" + "smithy.api#pattern": "^(?:^[\\d\\w\\-_\\.+]*$)|(?:^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$)$" } }, "com.amazonaws.applicationinsights#ConfigurationEvent": { @@ -386,8 +412,7 @@ "ResourceGroupName": { "target": "com.amazonaws.applicationinsights#ResourceGroupName", "traits": { - "smithy.api#documentation": "

The name of the resource group.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the resource group.

" } }, "OpsCenterEnabled": { @@ -413,6 +438,12 @@ "traits": { "smithy.api#documentation": "

List of tags to add to the application.\n tag key (Key) and an associated tag value (Value). The maximum\n length of a tag key is 128 characters. The maximum length of a tag value is 256\n characters.

" } + }, + "AutoConfigEnabled": { + "target": "com.amazonaws.applicationinsights#AutoConfigEnabled" + }, + "AutoCreate": { + "target": "com.amazonaws.applicationinsights#AutoCreate" } } }, @@ -1160,6 +1191,21 @@ "target": "com.amazonaws.applicationinsights#WorkloadMetaData" } }, + "com.amazonaws.applicationinsights#DiscoveryType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RESOURCE_GROUP_BASED", + "name": "RESOURCE_GROUP_BASED" + }, + { + "value": "ACCOUNT_BASED", + "name": "ACCOUNT_BASED" + } + ] + } + }, "com.amazonaws.applicationinsights#EC2WindowsBarleyService": { "type": "service", "version": "2018-11-25", @@ -1357,11 +1403,18 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "InternalServerException", + "httpResponseCode": 500 + }, "smithy.api#documentation": "

The server encountered an internal error and is unable to complete the request.

", "smithy.api#error": "server", "smithy.api#httpError": 500 } }, + "com.amazonaws.applicationinsights#LastRecurrenceTime": { + "type": "timestamp" + }, "com.amazonaws.applicationinsights#LifeCycle": { "type": "string" }, @@ -1798,6 +1851,9 @@ "traits": { "smithy.api#documentation": "

The token to request the next page of results.

" } + }, + "ComponentName": { + "target": "com.amazonaws.applicationinsights#ComponentName" } } }, @@ -1815,6 +1871,9 @@ "traits": { "smithy.api#documentation": "

The token used to retrieve the next page of results. This value is null\n when there are no more results to return.

" } + }, + "ResourceGroupName": { + "target": "com.amazonaws.applicationinsights#ResourceGroupName" } } }, @@ -1928,7 +1987,7 @@ "min": 1, "max": 50 }, - "smithy.api#pattern": "[a-zA-Z0-9\\.\\-_]*" + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\-_]*$" } }, "com.amazonaws.applicationinsights#LogPatternRank": { @@ -1941,7 +2000,7 @@ "min": 1, "max": 50 }, - "smithy.api#pattern": "[\\S\\s]+" + "smithy.api#pattern": "^[\\S\\s]+$" } }, "com.amazonaws.applicationinsights#LogPatternSetList": { @@ -1957,7 +2016,7 @@ "min": 1, "max": 30 }, - "smithy.api#pattern": "[a-zA-Z0-9\\.\\-_]*" + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\-_]*$" } }, "com.amazonaws.applicationinsights#LogText": { @@ -2276,7 +2335,7 @@ "min": 38, "max": 38 }, - "smithy.api#pattern": "o-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}" + "smithy.api#pattern": "^o-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" } }, "com.amazonaws.applicationinsights#ObservationList": { @@ -2323,7 +2382,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": ".+" + "smithy.api#pattern": "^.+$" } }, "com.amazonaws.applicationinsights#Problem": { @@ -2388,6 +2447,12 @@ "traits": { "smithy.api#documentation": "

Feedback provided by the user about the problem.

" } + }, + "RecurringCount": { + "target": "com.amazonaws.applicationinsights#RecurringCount" + }, + "LastRecurrenceTime": { + "target": "com.amazonaws.applicationinsights#LastRecurrenceTime" } }, "traits": { @@ -2401,7 +2466,7 @@ "min": 38, "max": 38 }, - "smithy.api#pattern": "p-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}" + "smithy.api#pattern": "^p-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" } }, "com.amazonaws.applicationinsights#ProblemList": { @@ -2416,6 +2481,12 @@ "com.amazonaws.applicationinsights#RdsEventMessage": { "type": "string" }, + "com.amazonaws.applicationinsights#RecurringCount": { + "type": "long", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.applicationinsights#RelatedObservations": { "type": "structure", "members": { @@ -2456,7 +2527,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9\\.\\-_]*" + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\-_]*$" } }, "com.amazonaws.applicationinsights#ResourceInUseException": { @@ -2467,6 +2538,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ResourceInUseException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The resource is already created or in use.

", "smithy.api#error": "client", "smithy.api#httpError": 400 @@ -2486,6 +2561,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ResourceNotFoundException", + "httpResponseCode": 404 + }, "smithy.api#documentation": "

The resource does not exist in the customer account.

", "smithy.api#error": "client", "smithy.api#httpError": 404 @@ -2498,7 +2577,7 @@ "min": 1, "max": 50 }, - "smithy.api#pattern": "[0-9a-zA-Z:_]*" + "smithy.api#pattern": "^[0-9a-zA-Z:_]*$" } }, "com.amazonaws.applicationinsights#S3EventName": { @@ -2559,6 +2638,10 @@ { "value": "PENDING", "name": "PENDING" + }, + { + "value": "RECURRING", + "name": "RECURRING" } ] } @@ -2739,6 +2822,26 @@ { "value": "ORACLE", "name": "ORACLE" + }, + { + "value": "SAP_HANA", + "name": "SAP_HANA" + }, + { + "value": "SAP_HANA_MULTI_NODE", + "name": "SAP_HANA_MULTI_NODE" + }, + { + "value": "SAP_HANA_SINGLE_NODE", + "name": "SAP_HANA_SINGLE_NODE" + }, + { + "value": "SAP_HANA_HIGH_AVAILABILITY", + "name": "SAP_HANA_HIGH_AVAILABILITY" + }, + { + "value": "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE", + "name": "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE" } ], "smithy.api#length": { @@ -2871,6 +2974,9 @@ "traits": { "smithy.api#documentation": "

\n Disassociates the SNS topic from the opsItem created for detected problems.

" } + }, + "AutoConfigEnabled": { + "target": "com.amazonaws.applicationinsights#AutoConfigEnabled" } } }, @@ -2968,6 +3074,9 @@ "traits": { "smithy.api#documentation": "

The configuration settings of the component. The value is the escaped JSON of the configuration. For\n more information about the JSON format, see Working with JSON.\n You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete\n format of the component configuration file, see Component Configuration.

" } + }, + "AutoConfigEnabled": { + "target": "com.amazonaws.applicationinsights#AutoConfigEnabled" } } }, @@ -3099,6 +3208,10 @@ } }, "traits": { + "aws.protocols#awsQueryError": { + "code": "ValidationException", + "httpResponseCode": 400 + }, "smithy.api#documentation": "

The parameter is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 diff --git a/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json b/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json index 2321adfd823..b0c13a7019e 100644 --- a/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json +++ b/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json @@ -35,24 +35,24 @@ "id": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified account. \n

" + "smithy.api#documentation": "

The identifier for the Amazon Web Services account.

" } }, "emailAddress": { "target": "com.amazonaws.auditmanager#EmailAddress", "traits": { - "smithy.api#documentation": "

\n The email address associated with the specified account. \n

" + "smithy.api#documentation": "

The email address that's associated with the Amazon Web Services account.

" } }, "name": { "target": "com.amazonaws.auditmanager#AccountName", "traits": { - "smithy.api#documentation": "

\n The name of the specified account. \n

" + "smithy.api#documentation": "

The name of the Amazon Web Services account.

" } } }, "traits": { - "smithy.api#documentation": "

\n The wrapper of account details, such as account ID, email address, and so on. \n

" + "smithy.api#documentation": "

The wrapper of Amazon Web Services account details, such as account ID or email address.\n

" } }, "com.amazonaws.auditmanager#AWSAccounts": { @@ -67,12 +67,12 @@ "serviceName": { "target": "com.amazonaws.auditmanager#AWSServiceName", "traits": { - "smithy.api#documentation": "

\n The name of the Amazon Web Service. \n

" + "smithy.api#documentation": "

The name of the Amazon Web Service.

" } } }, "traits": { - "smithy.api#documentation": "

\n An Amazon Web Service such as Amazon S3, CloudTrail, and so on. \n

" + "smithy.api#documentation": "

An Amazon Web Service such as Amazon S3 or CloudTrail.\n

" } }, "com.amazonaws.auditmanager#AWSServiceName": { @@ -102,7 +102,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n Your account is not registered with Audit Manager. Check the delegated administrator setup on the Audit Manager settings page, and try again.\n

", + "smithy.api#documentation": "

Your account isn't registered with Audit Manager. Check the delegated\n administrator setup on the Audit Manager settings page, and try again.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -211,36 +211,36 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the assessment. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the assessment.

" } }, "awsAccount": { "target": "com.amazonaws.auditmanager#AWSAccount", "traits": { - "smithy.api#documentation": "

\n The account associated with the assessment. \n

" + "smithy.api#documentation": "

The Amazon Web Services account that's associated with the assessment.

" } }, "metadata": { "target": "com.amazonaws.auditmanager#AssessmentMetadata", "traits": { - "smithy.api#documentation": "

\n The metadata for the specified assessment. \n

" + "smithy.api#documentation": "

The metadata for the assessment.

" } }, "framework": { "target": "com.amazonaws.auditmanager#AssessmentFramework", "traits": { - "smithy.api#documentation": "

\n The framework from which the assessment was created. \n

" + "smithy.api#documentation": "

The framework that the assessment was created from.

" } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags associated with the assessment. \n

" + "smithy.api#documentation": "

The tags that are associated with the assessment.

" } } }, "traits": { - "smithy.api#documentation": "

\n An entity that defines the scope of audit evidence collected by Audit Manager. An Audit Manager assessment is an implementation of an Audit Manager framework. \n

" + "smithy.api#documentation": "

An entity that defines the scope of audit evidence collected by Audit Manager.\n An Audit Manager assessment is an implementation of an Audit Manager\n framework.

" } }, "com.amazonaws.auditmanager#AssessmentControl": { @@ -249,60 +249,60 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control. \n

" + "smithy.api#documentation": "

The identifier for the control.

" } }, "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

\n The name of the specified control. \n

" + "smithy.api#documentation": "

The name of the control.

" } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

\n The description of the specified control. \n

" + "smithy.api#documentation": "

The description of the control.

" } }, "status": { "target": "com.amazonaws.auditmanager#ControlStatus", "traits": { - "smithy.api#documentation": "

\n The status of the specified control. \n

" + "smithy.api#documentation": "

The status of the control.

" } }, "response": { "target": "com.amazonaws.auditmanager#ControlResponse", "traits": { - "smithy.api#documentation": "

\n The response of the specified control. \n

" + "smithy.api#documentation": "

The response of the control.

" } }, "comments": { "target": "com.amazonaws.auditmanager#ControlComments", "traits": { - "smithy.api#documentation": "

\n The list of comments attached to the specified control. \n

" + "smithy.api#documentation": "

The list of comments that's attached to the control.

" } }, "evidenceSources": { "target": "com.amazonaws.auditmanager#EvidenceSources", "traits": { - "smithy.api#documentation": "

\n The list of data sources for the specified evidence.\n

" + "smithy.api#documentation": "

The list of data sources for the evidence.

" } }, "evidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The amount of evidence generated for the control.\n

" + "smithy.api#documentation": "

The amount of evidence that's generated for the control.

" } }, "assessmentReportEvidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The amount of evidence in the assessment report.\n

" + "smithy.api#documentation": "

The amount of evidence in the assessment report.

" } } }, "traits": { - "smithy.api#documentation": "

\n The control entity that represents a standard or custom control used in an Audit Manager assessment.\n

" + "smithy.api#documentation": "

The control entity that represents a standard control or a custom control in an Audit Manager assessment.

" } }, "com.amazonaws.auditmanager#AssessmentControlSet": { @@ -311,54 +311,54 @@ "id": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier of the control set in the assessment. This is the control set name in a plain string format. \n

" + "smithy.api#documentation": "

The identifier of the control set in the assessment. This is the control set name in a\n plain string format.

" } }, "description": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The description for the control set. \n

" + "smithy.api#documentation": "

The description for the control set.

" } }, "status": { "target": "com.amazonaws.auditmanager#ControlSetStatus", "traits": { - "smithy.api#documentation": "

\nSpecifies the current status of the control set.\n

" + "smithy.api#documentation": "

Specifies the current status of the control set.

" } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\n The roles associated with the control set. \n

" + "smithy.api#documentation": "

The roles that are associated with the control set.

" } }, "controls": { "target": "com.amazonaws.auditmanager#AssessmentControls", "traits": { - "smithy.api#documentation": "

\nThe list of controls contained with the control set.\n

" + "smithy.api#documentation": "

The list of controls that's contained with the control set.

" } }, "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

\n The delegations associated with the control set.\n

" + "smithy.api#documentation": "

The delegations that are associated with the control set.

" } }, "systemEvidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The total number of evidence objects retrieved automatically for the control set. \n

" + "smithy.api#documentation": "

The total number of evidence objects that are retrieved automatically for the control\n set.

" } }, "manualEvidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The total number of evidence objects uploaded manually to the control set. \n

" + "smithy.api#documentation": "

The total number of evidence objects that are uploaded manually to the control set.\n

" } } }, "traits": { - "smithy.api#documentation": "

\n Represents a set of controls in an Audit Manager assessment.\n

" + "smithy.api#documentation": "

Represents a set of controls in an Audit Manager assessment.

" } }, "com.amazonaws.auditmanager#AssessmentControlSets": { @@ -389,114 +389,114 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolderName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified evidence folder.\n

" + "smithy.api#documentation": "

The name of the evidence folder.

" } }, "date": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The date when the first evidence was added to the evidence folder.\n

" + "smithy.api#documentation": "

The date when the first evidence was added to the evidence folder.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

" + "smithy.api#documentation": "

The identifier for the assessment.

" } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the control set. \n

" + "smithy.api#documentation": "

The identifier for the control set.

" } }, "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n \n The unique identifier for the specified control. \n

" + "smithy.api#documentation": "

The unique identifier for the control.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe identifier for the folder in which evidence is stored.\n

" + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

" } }, "dataSource": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The Amazon Web Service from which the evidence was collected. \n

" + "smithy.api#documentation": "

The Amazon Web Service that the evidence was collected from.

" } }, "author": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The name of the user who created the evidence folder.\n

" + "smithy.api#documentation": "

The name of the user who created the evidence folder.

" } }, "totalEvidence": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The total amount of evidence in the evidence folder.\n

" + "smithy.api#documentation": "

The total amount of evidence in the evidence folder.

" } }, "assessmentReportSelectionCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The total count of evidence included in the assessment report.\n

" + "smithy.api#documentation": "

The total count of evidence that's included in the assessment report.

" } }, "controlName": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

\n The name of the control.\n

" + "smithy.api#documentation": "

The name of the control.

" } }, "evidenceResourcesIncludedCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The amount of evidence included in the evidence folder.\n

" + "smithy.api#documentation": "

The amount of evidence that's included in the evidence folder.

" } }, "evidenceByTypeConfigurationDataCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The number of evidence that falls under the configuration data category. This evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM.\n

" + "smithy.api#documentation": "

The number of evidence that falls under the configuration data category. This\n evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM.

" } }, "evidenceByTypeManualCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The number of evidence that falls under the manual category. This evidence is imported manually.\n

" + "smithy.api#documentation": "

The number of evidence that falls under the manual category. This evidence is imported\n manually.

" } }, "evidenceByTypeComplianceCheckCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The number of evidence that falls under the compliance check category. This evidence is collected from Config or Security Hub.\n

" + "smithy.api#documentation": "

The number of evidence that falls under the compliance check category. This evidence is\n collected from Config or Security Hub.

" } }, "evidenceByTypeComplianceCheckIssuesCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The total number of issues that were reported directly from Security Hub, Config, or both.\n

" + "smithy.api#documentation": "

The total number of issues that were reported directly from Security Hub,\n Config, or both.

" } }, "evidenceByTypeUserActivityCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The number of evidence that falls under the user activity category. This evidence is collected from CloudTrail logs.\n

" + "smithy.api#documentation": "

The number of evidence that falls under the user activity category. This evidence is\n collected from CloudTrail logs.

" } }, "evidenceAwsServiceSourceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

\n The total number of Amazon Web Services resources assessed to generate the evidence. \n

" + "smithy.api#documentation": "

The total number of Amazon Web Services resources that were assessed to generate the\n evidence.

" } } }, "traits": { - "smithy.api#documentation": "

\n The folder in which Audit Manager stores evidence for an assessment.\n

" + "smithy.api#documentation": "

The folder where Audit Manager stores evidence for an assessment.

" } }, "com.amazonaws.auditmanager#AssessmentEvidenceFolderName": { @@ -521,13 +521,13 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the framework.\n

" + "smithy.api#documentation": "

The unique identifier for the framework.

" } }, "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified framework. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the framework.

" } }, "metadata": { @@ -536,12 +536,12 @@ "controlSets": { "target": "com.amazonaws.auditmanager#AssessmentControlSets", "traits": { - "smithy.api#documentation": "

\n The control sets associated with the framework. \n

" + "smithy.api#documentation": "

The control sets that are associated with the framework.

" } } }, "traits": { - "smithy.api#documentation": "

\n The file used to structure and automate Audit Manager assessments for a given compliance standard.\n

" + "smithy.api#documentation": "

The file used to structure and automate Audit Manager assessments for a given\n compliance standard.

" } }, "com.amazonaws.auditmanager#AssessmentFrameworkDescription": { @@ -560,72 +560,176 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the framework. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the framework.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identified for the specified framework.\n

" + "smithy.api#documentation": "

The unique identifier for the framework.

" } }, "type": { "target": "com.amazonaws.auditmanager#FrameworkType", "traits": { - "smithy.api#documentation": "

\nThe framework type, such as standard or custom.\n

" + "smithy.api#documentation": "

The framework type, such as a standard framework or a custom framework.

" } }, "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified framework.\n

" + "smithy.api#documentation": "

The name of the framework.

" } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

\n The description of the specified framework.\n

" + "smithy.api#documentation": "

The description of the framework.

" } }, "logo": { "target": "com.amazonaws.auditmanager#Filename", "traits": { - "smithy.api#documentation": "

\n The logo associated with the framework. \n

" + "smithy.api#documentation": "

The logo that's associated with the framework.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\n The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" + "smithy.api#documentation": "

The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" } }, "controlsCount": { "target": "com.amazonaws.auditmanager#ControlsCount", "traits": { - "smithy.api#documentation": "

\nThe number of controls associated with the specified framework.\n

" + "smithy.api#documentation": "

The number of controls that are associated with the framework.

" } }, "controlSetsCount": { "target": "com.amazonaws.auditmanager#ControlSetsCount", "traits": { - "smithy.api#documentation": "

\n The number of control sets associated with the specified framework.\n

" + "smithy.api#documentation": "

The number of control sets that are associated with the framework.

" } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the framework was created.\n

" + "smithy.api#documentation": "

Specifies when the framework was created.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the framework was most recently updated.\n

" + "smithy.api#documentation": "

Specifies when the framework was most recently updated.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata associated with a standard or custom framework.\n

" + "smithy.api#documentation": "

The metadata that's associated with a standard framework or a custom framework.

" + } + }, + "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the share request.

" + } + }, + "frameworkId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the shared custom framework.

" + } + }, + "frameworkName": { + "target": "com.amazonaws.auditmanager#FrameworkName", + "traits": { + "smithy.api#documentation": "

The name of the custom framework that the share request is for.

" + } + }, + "frameworkDescription": { + "target": "com.amazonaws.auditmanager#FrameworkDescription", + "traits": { + "smithy.api#documentation": "

The description of the shared custom framework.

" + } + }, + "status": { + "target": "com.amazonaws.auditmanager#ShareRequestStatus", + "traits": { + "smithy.api#documentation": "

The status of the share request.

" + } + }, + "sourceAccount": { + "target": "com.amazonaws.auditmanager#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account of the sender.

" + } + }, + "destinationAccount": { + "target": "com.amazonaws.auditmanager#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account of the recipient.

" + } + }, + "destinationRegion": { + "target": "com.amazonaws.auditmanager#Region", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region of the recipient.

" + } + }, + "expirationTime": { + "target": "com.amazonaws.auditmanager#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the share request expires.

" + } + }, + "creationTime": { + "target": "com.amazonaws.auditmanager#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the share request was created.

" + } + }, + "lastUpdated": { + "target": "com.amazonaws.auditmanager#Timestamp", + "traits": { + "smithy.api#documentation": "

Specifies when the share request was last updated.

" + } + }, + "comment": { + "target": "com.amazonaws.auditmanager#ShareRequestComment", + "traits": { + "smithy.api#documentation": "

An optional comment from the sender about the share request.

" + } + }, + "standardControlsCount": { + "target": "com.amazonaws.auditmanager#NullableInteger", + "traits": { + "smithy.api#documentation": "

The number of standard controls that are part of the shared custom framework.

" + } + }, + "customControlsCount": { + "target": "com.amazonaws.auditmanager#NullableInteger", + "traits": { + "smithy.api#documentation": "

The number of custom controls that are part of the shared custom framework.

" + } + }, + "complianceType": { + "target": "com.amazonaws.auditmanager#ComplianceType", + "traits": { + "smithy.api#documentation": "

The compliance type that the shared custom framework supports, such as CIS or HIPAA.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a share request for a custom framework in Audit Manager.

" + } + }, + "com.amazonaws.auditmanager#AssessmentFrameworkShareRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest" } }, "com.amazonaws.auditmanager#AssessmentMetadata": { @@ -634,72 +738,72 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the assessment. \n

" + "smithy.api#documentation": "

The name of the assessment.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the assessment. \n

" + "smithy.api#documentation": "

The unique identifier for the assessment.

" } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentDescription", "traits": { - "smithy.api#documentation": "

\n The description of the assessment. \n

" + "smithy.api#documentation": "

The description of the assessment.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\n The name of a compliance standard related to the assessment, such as PCI-DSS. \n

" + "smithy.api#documentation": "

The name of the compliance standard that's related to the assessment, such as PCI-DSS.\n

" } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentStatus", "traits": { - "smithy.api#documentation": "

\n The overall status of the assessment. \n

" + "smithy.api#documentation": "

The overall status of the assessment.

" } }, "assessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

\n The destination in which evidence reports are stored for the specified assessment. \n

" + "smithy.api#documentation": "

The destination that evidence reports are stored in for the assessment.

" } }, "scope": { "target": "com.amazonaws.auditmanager#Scope", "traits": { - "smithy.api#documentation": "

\n The wrapper of accounts and services in scope for the assessment. \n

" + "smithy.api#documentation": "

The wrapper of Amazon Web Services accounts and services that are in scope for the\n assessment.

" } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\n The roles associated with the assessment. \n

" + "smithy.api#documentation": "

The roles that are associated with the assessment.

" } }, "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

\n The delegations associated with the assessment. \n

" + "smithy.api#documentation": "

The delegations that are associated with the assessment.

" } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the assessment was created.\n

" + "smithy.api#documentation": "

Specifies when the assessment was created.

" } }, "lastUpdated": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The time of the most recent update. \n

" + "smithy.api#documentation": "

The time of the most recent update.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata associated with the specified assessment.\n

" + "smithy.api#documentation": "

The metadata that's associated with the specified assessment.

" } }, "com.amazonaws.auditmanager#AssessmentMetadataItem": { @@ -708,54 +812,54 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\nThe name of the assessment.\n

" + "smithy.api#documentation": "

The name of the assessment.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the assessment. \n

" + "smithy.api#documentation": "

The unique identifier for the assessment.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\n The name of the compliance standard related to the assessment, such as PCI-DSS. \n

" + "smithy.api#documentation": "

The name of the compliance standard that's related to the assessment, such as PCI-DSS.\n

" } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentStatus", "traits": { - "smithy.api#documentation": "

\nThe current status of the assessment.\n

" + "smithy.api#documentation": "

The current status of the assessment.

" } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\n The roles associated with the assessment. \n

" + "smithy.api#documentation": "

The roles that are associated with the assessment.

" } }, "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

\n The delegations associated with the assessment.\n

" + "smithy.api#documentation": "

The delegations that are associated with the assessment.

" } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the assessment was created.\n

" + "smithy.api#documentation": "

Specifies when the assessment was created.

" } }, "lastUpdated": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The time of the most recent update. \n

" + "smithy.api#documentation": "

The time of the most recent update.

" } } }, "traits": { - "smithy.api#documentation": "

\n A metadata object associated with an assessment in Audit Manager.\n

" + "smithy.api#documentation": "

A metadata object that's associated with an assessment in Audit Manager.\n

" } }, "com.amazonaws.auditmanager#AssessmentName": { @@ -774,60 +878,60 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the specified assessment report.\n

" + "smithy.api#documentation": "

The unique identifier for the assessment report.

" } }, "name": { "target": "com.amazonaws.auditmanager#AssessmentReportName", "traits": { - "smithy.api#documentation": "

\nThe name given to the assessment report.\n

" + "smithy.api#documentation": "

The name that's given to the assessment report.

" } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentReportDescription", "traits": { - "smithy.api#documentation": "

\n The description of the specified assessment report.\n

" + "smithy.api#documentation": "

The description of the specified assessment report.

" } }, "awsAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified account. \n

" + "smithy.api#documentation": "

The identifier for the specified Amazon Web Services account.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

" + "smithy.api#documentation": "

The identifier for the specified assessment.

" } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\nThe name of the associated assessment.\n

" + "smithy.api#documentation": "

The name of the associated assessment.

" } }, "author": { "target": "com.amazonaws.auditmanager#Username", "traits": { - "smithy.api#documentation": "

\n The name of the user who created the assessment report.\n

" + "smithy.api#documentation": "

The name of the user who created the assessment report.

" } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentReportStatus", "traits": { - "smithy.api#documentation": "

\nThe current status of the specified assessment report.\n

" + "smithy.api#documentation": "

The current status of the specified assessment report.

" } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the assessment report was created. \n

" + "smithy.api#documentation": "

Specifies when the assessment report was created.

" } } }, "traits": { - "smithy.api#documentation": "

\n A finalized document generated from an Audit Manager assessment. These reports summarize the relevant evidence collected for your audit, and link to the relevant evidence folders which are named and organized according to the controls specified in your assessment.\n

" + "smithy.api#documentation": "

A finalized document that's generated from an Audit Manager assessment. These\n reports summarize the relevant evidence that was collected for your audit, and link to the\n relevant evidence folders. These evidence folders are named and organized according to the\n controls that are specified in your assessment.

" } }, "com.amazonaws.auditmanager#AssessmentReportDescription": { @@ -857,24 +961,24 @@ "evidenceId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the evidence. \n

" + "smithy.api#documentation": "

The identifier for the evidence.

" } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

\n The error code returned by the AssessmentReportEvidence API. \n

" + "smithy.api#documentation": "

The error code that the AssessmentReportEvidence API returned.

" } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

\n The error message returned by the AssessmentReportEvidence API. \n

" + "smithy.api#documentation": "

The error message that the AssessmentReportEvidence API returned.

" } } }, "traits": { - "smithy.api#documentation": "

\n An error entity for the AssessmentReportEvidence API. This is used to provide more meaningful errors than a simple string message.\n

" + "smithy.api#documentation": "

An error entity for the AssessmentReportEvidence API. This is used to\n provide more meaningful errors than a simple string message.

" } }, "com.amazonaws.auditmanager#AssessmentReportEvidenceErrors": { @@ -889,54 +993,54 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the assessment report.\n

" + "smithy.api#documentation": "

The unique identifier for the assessment report.

" } }, "name": { "target": "com.amazonaws.auditmanager#AssessmentReportName", "traits": { - "smithy.api#documentation": "

\nThe name of the assessment report.\n

" + "smithy.api#documentation": "

The name of the assessment report.

" } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentReportDescription", "traits": { - "smithy.api#documentation": "

\nThe description of the specified assessment report.\n

" + "smithy.api#documentation": "

The description of the assessment report.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the associated assessment.\n

" + "smithy.api#documentation": "

The unique identifier for the associated assessment.

" } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

The name of the associated assessment. \n

" + "smithy.api#documentation": "

The name of the associated assessment.

" } }, "author": { "target": "com.amazonaws.auditmanager#Username", "traits": { - "smithy.api#documentation": "

\n The name of the user who created the assessment report.\n

" + "smithy.api#documentation": "

The name of the user who created the assessment report.

" } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentReportStatus", "traits": { - "smithy.api#documentation": "

\nThe current status of the assessment report.\n

" + "smithy.api#documentation": "

The current status of the assessment report.

" } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the assessment report was created.\n

" + "smithy.api#documentation": "

Specifies when the assessment report was created.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata objects associated with the specified assessment report.\n

" + "smithy.api#documentation": "

The metadata objects that are associated with the specified assessment report.

" } }, "com.amazonaws.auditmanager#AssessmentReportName": { @@ -974,18 +1078,18 @@ "destinationType": { "target": "com.amazonaws.auditmanager#AssessmentReportDestinationType", "traits": { - "smithy.api#documentation": "

\n The destination type, such as Amazon S3. \n

" + "smithy.api#documentation": "

The destination type, such as Amazon S3.

" } }, "destination": { "target": "com.amazonaws.auditmanager#S3Url", "traits": { - "smithy.api#documentation": "

\n The destination of the assessment report.\n

" + "smithy.api#documentation": "

The destination of the assessment report.

" } } }, "traits": { - "smithy.api#documentation": "

\n The location in which Audit Manager saves assessment reports for the given assessment.\n

" + "smithy.api#documentation": "

The location where Audit Manager saves assessment reports for the given\n assessment.

" } }, "com.amazonaws.auditmanager#AssessmentReportsMetadata": { @@ -1032,7 +1136,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Associates an evidence folder to the specified assessment report in Audit Manager. \n

", + "smithy.api#documentation": "

Associates an evidence folder to an assessment report in a Audit Manager\n assessment.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/associateToAssessmentReport", @@ -1046,7 +1150,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1054,7 +1158,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which evidence is stored.\n

", + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

", "smithy.api#required": {} } } @@ -1097,7 +1201,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Associates a list of evidence to an assessment report in an Audit Manager assessment.\n

", + "smithy.api#documentation": "

Associates a list of evidence to an assessment report in an Audit Manager\n assessment.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/batchAssociateToAssessmentReport", @@ -1111,7 +1215,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the specified assessment.\n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1119,14 +1223,14 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which the evidence is stored.\n

", + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

", "smithy.api#required": {} } }, "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

\n The list of evidence identifiers. \n

", + "smithy.api#documentation": "

The list of evidence identifiers.

", "smithy.api#required": {} } } @@ -1138,13 +1242,13 @@ "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

\n The identifier for the evidence. \n

" + "smithy.api#documentation": "

The list of evidence identifiers.

" } }, "errors": { "target": "com.amazonaws.auditmanager#AssessmentReportEvidenceErrors", "traits": { - "smithy.api#documentation": "

\n A list of errors returned by the BatchAssociateAssessmentReportEvidence API. \n

" + "smithy.api#documentation": "

A list of errors that the BatchAssociateAssessmentReportEvidence API\n returned.

" } } } @@ -1172,7 +1276,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Create a batch of delegations for a specified assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Creates a batch of delegations for an assessment in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/assessments/{assessmentId}/delegations", @@ -1186,24 +1290,24 @@ "createDelegationRequest": { "target": "com.amazonaws.auditmanager#CreateDelegationRequest", "traits": { - "smithy.api#documentation": "

\n The API request to batch create delegations in Audit Manager.\n

" + "smithy.api#documentation": "

The API request to batch create delegations in Audit Manager.

" } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

\n The error code returned by the BatchCreateDelegationByAssessment API. \n

" + "smithy.api#documentation": "

The error code that the BatchCreateDelegationByAssessment API returned.\n

" } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

\n The error message returned by the BatchCreateDelegationByAssessment API. \n

" + "smithy.api#documentation": "

The error message that the BatchCreateDelegationByAssessment API returned.\n

" } } }, "traits": { - "smithy.api#documentation": "

\n An error entity for the BatchCreateDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message.\n

" + "smithy.api#documentation": "

An error entity for the BatchCreateDelegationByAssessment API. This is\n used to provide more meaningful errors than a simple string message.

" } }, "com.amazonaws.auditmanager#BatchCreateDelegationByAssessmentErrors": { @@ -1218,14 +1322,14 @@ "createDelegationRequests": { "target": "com.amazonaws.auditmanager#CreateDelegationRequests", "traits": { - "smithy.api#documentation": "

\n The API request to batch create delegations in Audit Manager.\n

", + "smithy.api#documentation": "

The API request to batch create delegations in Audit Manager.

", "smithy.api#required": {} } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1238,13 +1342,13 @@ "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

\n The delegations associated with the assessment. \n

" + "smithy.api#documentation": "

The delegations that are associated with the assessment.

" } }, "errors": { "target": "com.amazonaws.auditmanager#BatchCreateDelegationByAssessmentErrors", "traits": { - "smithy.api#documentation": "

\n A list of errors returned by the BatchCreateDelegationByAssessment API. \n

" + "smithy.api#documentation": "

A list of errors that the BatchCreateDelegationByAssessment API returned.\n

" } } } @@ -1272,7 +1376,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes the delegations in the specified Audit Manager assessment.\n

", + "smithy.api#documentation": "

Deletes a batch of delegations for an assessment in Audit Manager.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/delegations", @@ -1286,24 +1390,24 @@ "delegationId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified delegation.\n

" + "smithy.api#documentation": "

The identifier for the delegation.

" } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

\n The error code returned by the BatchDeleteDelegationByAssessment API.\n

" + "smithy.api#documentation": "

The error code that the BatchDeleteDelegationByAssessment API returned.\n

" } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

\n The error message returned by the BatchDeleteDelegationByAssessment API.\n

" + "smithy.api#documentation": "

The error message that the BatchDeleteDelegationByAssessment API returned.\n

" } } }, "traits": { - "smithy.api#documentation": "

\n An error entity for the BatchDeleteDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message.\n

" + "smithy.api#documentation": "

An error entity for the BatchDeleteDelegationByAssessment API. This is\n used to provide more meaningful errors than a simple string message.

" } }, "com.amazonaws.auditmanager#BatchDeleteDelegationByAssessmentErrors": { @@ -1318,14 +1422,14 @@ "delegationIds": { "target": "com.amazonaws.auditmanager#DelegationIds", "traits": { - "smithy.api#documentation": "

\n The identifiers for the specified delegations.\n

", + "smithy.api#documentation": "

The identifiers for the delegations.

", "smithy.api#required": {} } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1338,7 +1442,7 @@ "errors": { "target": "com.amazonaws.auditmanager#BatchDeleteDelegationByAssessmentErrors", "traits": { - "smithy.api#documentation": "

\n A list of errors returned by the BatchDeleteDelegationByAssessment API. \n

" + "smithy.api#documentation": "

A list of errors that the BatchDeleteDelegationByAssessment API returned.\n

" } } } @@ -1366,7 +1470,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Disassociates a list of evidence from the specified assessment report in Audit Manager. \n

", + "smithy.api#documentation": "

Disassociates a list of evidence from an assessment report in Audit Manager.\n

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/batchDisassociateFromAssessmentReport", @@ -1380,7 +1484,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1388,14 +1492,14 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which evidence is stored.\n

", + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

", "smithy.api#required": {} } }, "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

\n The list of evidence identifiers. \n

", + "smithy.api#documentation": "

The list of evidence identifiers.

", "smithy.api#required": {} } } @@ -1407,13 +1511,13 @@ "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

\n The identifier for the evidence. \n

" + "smithy.api#documentation": "

The identifier for the evidence.

" } }, "errors": { "target": "com.amazonaws.auditmanager#AssessmentReportEvidenceErrors", "traits": { - "smithy.api#documentation": "

\n A list of errors returned by the BatchDisassociateAssessmentReportEvidence API. \n

" + "smithy.api#documentation": "

A list of errors that the BatchDisassociateAssessmentReportEvidence API\n returned.

" } } } @@ -1441,7 +1545,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Uploads one or more pieces of evidence to the specified control in the assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Uploads one or more pieces of evidence to a control in an Audit Manager\n assessment.

", "smithy.api#http": { "method": "POST", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}/evidence", @@ -1455,24 +1559,24 @@ "manualEvidence": { "target": "com.amazonaws.auditmanager#ManualEvidence", "traits": { - "smithy.api#documentation": "

\n Manual evidence that cannot be collected automatically by Audit Manager.\n

" + "smithy.api#documentation": "

Manual evidence that can't be collected automatically by Audit Manager.

" } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

\n The error code returned by the BatchImportEvidenceToAssessmentControl API. \n

" + "smithy.api#documentation": "

The error code that the BatchImportEvidenceToAssessmentControl API\n returned.

" } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

\n The error message returned by the BatchImportEvidenceToAssessmentControl API. \n

" + "smithy.api#documentation": "

The error message that the BatchImportEvidenceToAssessmentControl API\n returned.

" } } }, "traits": { - "smithy.api#documentation": "

\n An error entity for the BatchImportEvidenceToAssessmentControl API. This is used to provide more meaningful errors than a simple string message.\n

" + "smithy.api#documentation": "

An error entity for the BatchImportEvidenceToAssessmentControl API. This\n is used to provide more meaningful errors than a simple string message.

" } }, "com.amazonaws.auditmanager#BatchImportEvidenceToAssessmentControlErrors": { @@ -1487,7 +1591,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1495,7 +1599,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1503,7 +1607,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n \n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1511,7 +1615,7 @@ "manualEvidence": { "target": "com.amazonaws.auditmanager#ManualEvidenceList", "traits": { - "smithy.api#documentation": "

\n The list of manual evidence objects.\n

", + "smithy.api#documentation": "

The list of manual evidence objects.

", "smithy.api#required": {} } } @@ -1523,7 +1627,7 @@ "errors": { "target": "com.amazonaws.auditmanager#BatchImportEvidenceToAssessmentControlErrors", "traits": { - "smithy.api#documentation": "

\n A list of errors returned by the BatchImportEvidenceToAssessmentControl API. \n

" + "smithy.api#documentation": "

A list of errors that the BatchImportEvidenceToAssessmentControl API\n returned.

" } } } @@ -1568,6 +1672,9 @@ { "target": "com.amazonaws.auditmanager#DeleteAssessmentFramework" }, + { + "target": "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShare" + }, { "target": "com.amazonaws.auditmanager#DeleteAssessmentReport" }, @@ -1631,6 +1738,9 @@ { "target": "com.amazonaws.auditmanager#ListAssessmentFrameworks" }, + { + "target": "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequests" + }, { "target": "com.amazonaws.auditmanager#ListAssessmentReports" }, @@ -1655,6 +1765,9 @@ { "target": "com.amazonaws.auditmanager#RegisterOrganizationAdminAccount" }, + { + "target": "com.amazonaws.auditmanager#StartAssessmentFrameworkShare" + }, { "target": "com.amazonaws.auditmanager#TagResource" }, @@ -1673,6 +1786,9 @@ { "target": "com.amazonaws.auditmanager#UpdateAssessmentFramework" }, + { + "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShare" + }, { "target": "com.amazonaws.auditmanager#UpdateAssessmentStatus" }, @@ -1698,7 +1814,7 @@ "name": "auditmanager" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Welcome to the Audit Manager API reference. This guide is for developers who need detailed information about the Audit Manager API operations, data types, and errors.

\n

Audit Manager is a service that provides automated evidence collection so that you\n can continuously audit your Amazon Web Services usage, and assess the effectiveness of your controls to\n better manage risk and simplify compliance.

\n

Audit Manager provides pre-built frameworks that structure and automate assessments\n for a given compliance standard. Frameworks include a pre-built collection of controls with\n descriptions and testing procedures, which are grouped according to the requirements of the\n specified compliance standard or regulation. You can also customize frameworks and controls\n to support internal audits with unique requirements.

\n \n

Use the following links to get started with the Audit Manager API:

\n \n \n

If you're new to Audit Manager, we recommend that you review the Audit Manager User Guide.

", + "smithy.api#documentation": "

Welcome to the Audit Manager API reference. This guide is for developers who\n need detailed information about the Audit Manager API operations, data types, and\n errors.

\n

Audit Manager is a service that provides automated evidence collection so that\n you can continually audit your Amazon Web Services usage. You can use it to assess the\n effectiveness of your controls, manage risk, and simplify compliance.

\n

Audit Manager provides prebuilt frameworks that structure and automate\n assessments for a given compliance standard. Frameworks include a prebuilt collection of\n controls with descriptions and testing procedures. These controls are grouped according to\n the requirements of the specified compliance standard or regulation. You can also customize\n frameworks and controls to support internal audits with specific requirements.

\n

Use the following links to get started with the Audit Manager API:

\n \n

If you're new to Audit Manager, we recommend that you review the \n Audit Manager User Guide.

", "smithy.api#title": "AWS Audit Manager" } }, @@ -1714,36 +1830,36 @@ "objectType": { "target": "com.amazonaws.auditmanager#ObjectTypeEnum", "traits": { - "smithy.api#documentation": "

\n The changelog object type, such as an assessment, control, or control set. \n

" + "smithy.api#documentation": "

The object that was changed, such as an assessment, control, or control set.

" } }, "objectName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The name of the changelog object. \n

" + "smithy.api#documentation": "

The name of the object that changed. This could be the name of an assessment, control,\n or control set.

" } }, "action": { "target": "com.amazonaws.auditmanager#ActionEnum", "traits": { - "smithy.api#documentation": "

\n The action performed. \n

" + "smithy.api#documentation": "

The action that was performed.

" } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The time of creation for the changelog object. \n

" + "smithy.api#documentation": "

The time when the action was performed and the changelog record was created.

" } }, "createdBy": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

\n The IAM user or role that performed the action. \n

" + "smithy.api#documentation": "

The IAM user or role that performed the action.

" } } }, "traits": { - "smithy.api#documentation": "

\n The record of a change within Audit Manager, such as a modified assessment, a delegated control set, and so on. \n

" + "smithy.api#documentation": "

The record of a change within Audit Manager. For example, this could be the\n status change of an assessment or the delegation of a control set.

" } }, "com.amazonaws.auditmanager#ChangeLogs": { @@ -1768,96 +1884,96 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified control.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the control.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the control.\n

" + "smithy.api#documentation": "

The unique identifier for the control.

" } }, "type": { "target": "com.amazonaws.auditmanager#ControlType", "traits": { - "smithy.api#documentation": "

\nThe type of control, such as custom or standard.\n

" + "smithy.api#documentation": "

The type of control, such as a custom control or a standard control.

" } }, "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified control.\n

" + "smithy.api#documentation": "

The name of the control.

" } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

\n The description of the specified control. \n

" + "smithy.api#documentation": "

The description of the control.

" } }, "testingInformation": { "target": "com.amazonaws.auditmanager#TestingInformation", "traits": { - "smithy.api#documentation": "

\n The steps to follow to determine if the control has been satisfied.\n

" + "smithy.api#documentation": "

The steps that you should follow to determine if the control has been satisfied.\n

" } }, "actionPlanTitle": { "target": "com.amazonaws.auditmanager#ActionPlanTitle", "traits": { - "smithy.api#documentation": "

\n The title of the action plan for remediating the control.\n

" + "smithy.api#documentation": "

The title of the action plan for remediating the control.

" } }, "actionPlanInstructions": { "target": "com.amazonaws.auditmanager#ActionPlanInstructions", "traits": { - "smithy.api#documentation": "

\n \n The recommended actions to carry out if the control is not fulfilled.\n

" + "smithy.api#documentation": "

The recommended actions to carry out if the control isn't fulfilled.

" } }, "controlSources": { "target": "com.amazonaws.auditmanager#ControlSources", "traits": { - "smithy.api#documentation": "

\n The data source that determines from where Audit Manager collects evidence for the control. \n

" + "smithy.api#documentation": "

The data source that determines where Audit Manager collects evidence from for\n the control.

" } }, "controlMappingSources": { "target": "com.amazonaws.auditmanager#ControlMappingSources", "traits": { - "smithy.api#documentation": "

\n The data mapping sources for the specified control.\n

" + "smithy.api#documentation": "

The data mapping sources for the control.

" } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\nSpecifies when the control was created.\n

" + "smithy.api#documentation": "

Specifies when the control was created.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\nSpecifies when the control was most recently updated.\n

" + "smithy.api#documentation": "

Specifies when the control was most recently updated.

" } }, "createdBy": { "target": "com.amazonaws.auditmanager#CreatedBy", "traits": { - "smithy.api#documentation": "

\n The IAM user or role that created the control.\n

" + "smithy.api#documentation": "

The IAM user or role that created the control.

" } }, "lastUpdatedBy": { "target": "com.amazonaws.auditmanager#LastUpdatedBy", "traits": { - "smithy.api#documentation": "

\n The IAM user or role that most recently updated the control. \n

" + "smithy.api#documentation": "

The IAM user or role that most recently updated the control.

" } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags associated with the control.\n

" + "smithy.api#documentation": "

The tags associated with the control.

" } } }, "traits": { - "smithy.api#documentation": "

\n A control in Audit Manager.\n

" + "smithy.api#documentation": "

A control in Audit Manager.

" } }, "com.amazonaws.auditmanager#ControlComment": { @@ -1866,24 +1982,24 @@ "authorName": { "target": "com.amazonaws.auditmanager#Username", "traits": { - "smithy.api#documentation": "

\n The name of the user who authored the comment. \n

" + "smithy.api#documentation": "

The name of the user who authored the comment.

" } }, "commentBody": { "target": "com.amazonaws.auditmanager#ControlCommentBody", "traits": { - "smithy.api#documentation": "

\n The body text of a control comment. \n

" + "smithy.api#documentation": "

The body text of a control comment.

" } }, "postedDate": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The time when the comment was posted. \n

" + "smithy.api#documentation": "

The time when the comment was posted.

" } } }, "traits": { - "smithy.api#documentation": "

\n A comment posted by a user on a control. This includes the author's name, the comment text, and a timestamp. \n

" + "smithy.api#documentation": "

A comment that's posted by a user on a control. This includes the author's name, the\n comment text, and a timestamp.

" } }, "com.amazonaws.auditmanager#ControlCommentBody": { @@ -1918,31 +2034,31 @@ "sourceId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the specified source.\n

" + "smithy.api#documentation": "

The unique identifier for the source.

" } }, "sourceName": { "target": "com.amazonaws.auditmanager#SourceName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified source.\n

" + "smithy.api#documentation": "

The name of the source.

" } }, "sourceDescription": { "target": "com.amazonaws.auditmanager#SourceDescription", "traits": { - "smithy.api#documentation": "

\nThe description of the specified source.\n

" + "smithy.api#documentation": "

The description of the source.

" } }, "sourceSetUpOption": { "target": "com.amazonaws.auditmanager#SourceSetUpOption", "traits": { - "smithy.api#documentation": "

\n The setup option for the data source, which reflects if the evidence collection is automated or manual.\n

" + "smithy.api#documentation": "

The setup option for the data source. This option reflects if the evidence collection\n is automated or manual.

" } }, "sourceType": { "target": "com.amazonaws.auditmanager#SourceType", "traits": { - "smithy.api#documentation": "

\n Specifies one of the five types of data sources for evidence collection.\n

" + "smithy.api#documentation": "

Specifies one of the five types of data sources for evidence collection.

" } }, "sourceKeyword": { @@ -1951,18 +2067,18 @@ "sourceFrequency": { "target": "com.amazonaws.auditmanager#SourceFrequency", "traits": { - "smithy.api#documentation": "

\n The frequency of evidence collection for the specified control mapping source.\n

" + "smithy.api#documentation": "

The frequency of evidence collection for the control mapping source.

" } }, "troubleshootingText": { "target": "com.amazonaws.auditmanager#TroubleshootingText", "traits": { - "smithy.api#documentation": "

\n The instructions for troubleshooting the specified control.\n

" + "smithy.api#documentation": "

The instructions for troubleshooting the control.

" } } }, "traits": { - "smithy.api#documentation": "

\n The data source that determines from where Audit Manager collects evidence for the control.\n

" + "smithy.api#documentation": "

The data source that determines where Audit Manager collects evidence from for\n the control.

" } }, "com.amazonaws.auditmanager#ControlMappingSources": { @@ -1982,42 +2098,42 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified control.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the control.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the specified control.\n

" + "smithy.api#documentation": "

The unique identifier for the control.

" } }, "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified control.\n

" + "smithy.api#documentation": "

The name of the control.

" } }, "controlSources": { "target": "com.amazonaws.auditmanager#ControlSources", "traits": { - "smithy.api#documentation": "

\n The data source that determines from where Audit Manager collects evidence for the control.\n

" + "smithy.api#documentation": "

The data source that determines where Audit Manager collects evidence from for\n the control.

" } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the control was created.\n

" + "smithy.api#documentation": "

Specifies when the control was created.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the control was most recently updated.\n

" + "smithy.api#documentation": "

Specifies when the control was most recently updated.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata associated with the specified standard or custom control.\n

" + "smithy.api#documentation": "

The metadata that's associated with the standard control or custom control.

" } }, "com.amazonaws.auditmanager#ControlMetadataList": { @@ -2065,24 +2181,24 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier of the control set in the assessment. This is the control set name in a plain string format. \n

" + "smithy.api#documentation": "

The identifier of the control set in the assessment. This is the control set name in a\n plain string format.

" } }, "name": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

\nThe name of the control set.\n

" + "smithy.api#documentation": "

The name of the control set.

" } }, "controls": { "target": "com.amazonaws.auditmanager#Controls", "traits": { - "smithy.api#documentation": "

\n The list of controls within the control set. \n

" + "smithy.api#documentation": "

The list of controls within the control set.

" } } }, "traits": { - "smithy.api#documentation": "

\n A set of controls in Audit Manager.\n

" + "smithy.api#documentation": "

A set of controls in Audit Manager.

" } }, "com.amazonaws.auditmanager#ControlSetId": { @@ -2102,7 +2218,7 @@ "min": 1, "max": 300 }, - "smithy.api#pattern": "^[^\\_]*$" + "smithy.api#pattern": "^[^\\\\\\_]*$" } }, "com.amazonaws.auditmanager#ControlSetStatus": { @@ -2219,7 +2335,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Creates an assessment in Audit Manager. \n

", + "smithy.api#documentation": "

Creates an assessment in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/assessments", @@ -2250,7 +2366,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Creates a custom framework in Audit Manager. \n

", + "smithy.api#documentation": "

Creates a custom framework in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/assessmentFrameworks", @@ -2264,12 +2380,12 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier of the control.\n

" + "smithy.api#documentation": "

The unique identifier of the control.

" } } }, "traits": { - "smithy.api#documentation": "

\n Control entity attributes that uniquely identify an existing control to be added to a framework in Audit Manager.\n

" + "smithy.api#documentation": "

The control entity attributes that uniquely identify an existing control to be added to\n a framework in Audit Manager.

" } }, "com.amazonaws.auditmanager#CreateAssessmentFrameworkControlSet": { @@ -2278,19 +2394,19 @@ "name": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified control set.\n

", + "smithy.api#documentation": "

The name of the control set.

", "smithy.api#required": {} } }, "controls": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControls", "traits": { - "smithy.api#documentation": "

\n The list of controls within the control set. This does not contain the control set ID.\n

" + "smithy.api#documentation": "

The list of controls within the control set. This doesn't contain the control set ID.\n

" } } }, "traits": { - "smithy.api#documentation": "

\n A controlSet entity that represents a collection of controls in Audit Manager. This does not contain the control set ID.\n

" + "smithy.api#documentation": "

A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID.

" } }, "com.amazonaws.auditmanager#CreateAssessmentFrameworkControlSets": { @@ -2321,33 +2437,33 @@ "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

\nThe name of the new custom framework.\n

", + "smithy.api#documentation": "

The name of the new custom framework.

", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

\nAn optional description for the new custom framework.\n

" + "smithy.api#documentation": "

An optional description for the new custom framework.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\nThe compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" + "smithy.api#documentation": "

The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" } }, "controlSets": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControlSets", "traits": { - "smithy.api#documentation": "

\n The control sets to be associated with the framework. \n

", + "smithy.api#documentation": "

The control sets that are associated with the framework.

", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags associated with the framework.\n

" + "smithy.api#documentation": "

The tags that are associated with the framework.

" } } } @@ -2358,7 +2474,7 @@ "framework": { "target": "com.amazonaws.auditmanager#Framework", "traits": { - "smithy.api#documentation": "

\n The name of the new framework returned by the CreateAssessmentFramework API.\n

" + "smithy.api#documentation": "

The name of the new framework that the CreateAssessmentFramework API\n returned.

" } } } @@ -2386,7 +2502,7 @@ } ], "traits": { - "smithy.api#documentation": "

\nCreates an assessment report for the specified assessment.\n

", + "smithy.api#documentation": "

Creates an assessment report for the specified assessment.

", "smithy.api#http": { "method": "POST", "uri": "/assessments/{assessmentId}/reports", @@ -2400,20 +2516,20 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentReportName", "traits": { - "smithy.api#documentation": "

\nThe name of the new assessment report.\n

", + "smithy.api#documentation": "

The name of the new assessment report.

", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentReportDescription", "traits": { - "smithy.api#documentation": "

\nThe description of the assessment report.\n

" + "smithy.api#documentation": "

The description of the assessment report.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2426,7 +2542,7 @@ "assessmentReport": { "target": "com.amazonaws.auditmanager#AssessmentReport", "traits": { - "smithy.api#documentation": "

\n The new assessment report returned by the CreateAssessmentReport API.\n

" + "smithy.api#documentation": "

The new assessment report that the CreateAssessmentReport API returned.\n

" } } } @@ -2437,20 +2553,20 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the assessment to be created.\n

", + "smithy.api#documentation": "

The name of the assessment to be created.

", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentDescription", "traits": { - "smithy.api#documentation": "

\n The optional description of the assessment to be created.\n

" + "smithy.api#documentation": "

The optional description of the assessment to be created.

" } }, "assessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

\n The assessment report storage destination for the specified assessment that is being created. \n

", + "smithy.api#documentation": "

The assessment report storage destination for the assessment that's being created.

", "smithy.api#required": {} } }, @@ -2463,21 +2579,21 @@ "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\n The list of roles for the specified assessment. \n

", + "smithy.api#documentation": "

The list of roles for the assessment.

", "smithy.api#required": {} } }, "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified framework. \n

", + "smithy.api#documentation": "

The identifier for the framework that the assessment will be created from.

", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags associated with the assessment. \n

" + "smithy.api#documentation": "

The tags that are associated with the assessment.

" } } } @@ -2513,7 +2629,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Creates a new custom control in Audit Manager.\n

", + "smithy.api#documentation": "

Creates a new custom control in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/controls", @@ -2527,25 +2643,25 @@ "sourceName": { "target": "com.amazonaws.auditmanager#SourceName", "traits": { - "smithy.api#documentation": "

\nThe name of the control mapping data source.\n

" + "smithy.api#documentation": "

The name of the control mapping data source.

" } }, "sourceDescription": { "target": "com.amazonaws.auditmanager#SourceDescription", "traits": { - "smithy.api#documentation": "

\n The description of the data source that determines from where Audit Manager collects evidence for the control. \n

" + "smithy.api#documentation": "

The description of the data source that determines where Audit Manager collects\n evidence from for the control.

" } }, "sourceSetUpOption": { "target": "com.amazonaws.auditmanager#SourceSetUpOption", "traits": { - "smithy.api#documentation": "

\n The setup option for the data source, which reflects if the evidence collection is automated or manual.\n

" + "smithy.api#documentation": "

The setup option for the data source, which reflects if the evidence collection is\n automated or manual.

" } }, "sourceType": { "target": "com.amazonaws.auditmanager#SourceType", "traits": { - "smithy.api#documentation": "

\n Specifies one of the five types of data sources for evidence collection.\n \n

" + "smithy.api#documentation": "

Specifies one of the five types of data sources for evidence collection.

" } }, "sourceKeyword": { @@ -2554,18 +2670,18 @@ "sourceFrequency": { "target": "com.amazonaws.auditmanager#SourceFrequency", "traits": { - "smithy.api#documentation": "

\n The frequency of evidence collection for the specified control mapping source.\n

" + "smithy.api#documentation": "

The frequency of evidence collection for the control mapping source.

" } }, "troubleshootingText": { "target": "com.amazonaws.auditmanager#TroubleshootingText", "traits": { - "smithy.api#documentation": "

\nThe instructions for troubleshooting the specified control.\n

" + "smithy.api#documentation": "

The instructions for troubleshooting the control.

" } } }, "traits": { - "smithy.api#documentation": "

\n Control mapping fields that represent the source for evidence collection, along with related parameters and metadata. This does not contain mappingID.\n

" + "smithy.api#documentation": "

The control mapping fields that represent the source for evidence collection, along\n with related parameters and metadata. This doesn't contain mappingID.

" } }, "com.amazonaws.auditmanager#CreateControlMappingSources": { @@ -2585,45 +2701,45 @@ "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

\nThe name of the control.\n

", + "smithy.api#documentation": "

The name of the control.

", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

\nThe description of the control.\n

" + "smithy.api#documentation": "

The description of the control.

" } }, "testingInformation": { "target": "com.amazonaws.auditmanager#TestingInformation", "traits": { - "smithy.api#documentation": "

\n The steps to follow to determine if the control has been satisfied.\n

" + "smithy.api#documentation": "

The steps to follow to determine if the control is satisfied.

" } }, "actionPlanTitle": { "target": "com.amazonaws.auditmanager#ActionPlanTitle", "traits": { - "smithy.api#documentation": "

\n The title of the action plan for remediating the control.\n

" + "smithy.api#documentation": "

The title of the action plan for remediating the control.

" } }, "actionPlanInstructions": { "target": "com.amazonaws.auditmanager#ActionPlanInstructions", "traits": { - "smithy.api#documentation": "

\n The recommended actions to carry out if the control is not fulfilled.\n

" + "smithy.api#documentation": "

The recommended actions to carry out if the control isn't fulfilled.

" } }, "controlMappingSources": { "target": "com.amazonaws.auditmanager#CreateControlMappingSources", "traits": { - "smithy.api#documentation": "

\n The data mapping sources for the specified control.\n

", + "smithy.api#documentation": "

The data mapping sources for the control.

", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags associated with the control.\n

" + "smithy.api#documentation": "

The tags that are associated with the control.

" } } } @@ -2634,7 +2750,7 @@ "control": { "target": "com.amazonaws.auditmanager#Control", "traits": { - "smithy.api#documentation": "

\n The new control returned by the CreateControl API. \n

" + "smithy.api#documentation": "

The new control that the CreateControl API returned.

" } } } @@ -2645,30 +2761,30 @@ "comment": { "target": "com.amazonaws.auditmanager#DelegationComment", "traits": { - "smithy.api#documentation": "

\n A comment related to the delegation request. \n

" + "smithy.api#documentation": "

A comment that's related to the delegation request.

" } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the control set. \n

" + "smithy.api#documentation": "

The unique identifier for the control set.

" } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the IAM role. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role.

" } }, "roleType": { "target": "com.amazonaws.auditmanager#RoleType", "traits": { - "smithy.api#documentation": "

\n The type of customer persona.\n

\n \n

In CreateAssessment, roleType can only be PROCESS_OWNER.

\n

In UpdateSettings, roleType can only be PROCESS_OWNER.

\n

In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

\n
" + "smithy.api#documentation": "

The type of customer persona.

\n \n

In CreateAssessment, roleType can only be\n PROCESS_OWNER.

\n

In UpdateSettings, roleType can only be\n PROCESS_OWNER.

\n

In BatchCreateDelegationByAssessment, roleType can only be\n RESOURCE_OWNER.

\n
" } } }, "traits": { - "smithy.api#documentation": "

\n A collection of attributes used to create a delegation for an assessment in Audit Manager.\n

" + "smithy.api#documentation": "

A collection of attributes that's used to create a delegation for an assessment in\n Audit Manager.

" } }, "com.amazonaws.auditmanager#CreateDelegationRequests": { @@ -2699,37 +2815,37 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the delegation. \n

" + "smithy.api#documentation": "

The unique identifier for the delegation.

" } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the associated assessment. \n

" + "smithy.api#documentation": "

The name of the assessment that's associated with the delegation.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the associated assessment. \n

" + "smithy.api#documentation": "

The identifier for the assessment that's associated with the delegation.

" } }, "status": { "target": "com.amazonaws.auditmanager#DelegationStatus", "traits": { - "smithy.api#documentation": "

\n The status of the delegation. \n

" + "smithy.api#documentation": "

The status of the delegation.

" } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the IAM role. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role.

" } }, "roleType": { "target": "com.amazonaws.auditmanager#RoleType", "traits": { - "smithy.api#documentation": "

\n The type of customer persona.\n

\n \n

In CreateAssessment, roleType can only be PROCESS_OWNER.

\n

In UpdateSettings, roleType can only be PROCESS_OWNER.

\n

In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

\n
" + "smithy.api#documentation": "

The type of customer persona.

\n \n

In CreateAssessment, roleType can only be\n PROCESS_OWNER.

\n

In UpdateSettings, roleType can only be\n PROCESS_OWNER.

\n

In BatchCreateDelegationByAssessment, roleType can only be\n RESOURCE_OWNER.

\n
" } }, "creationTime": { @@ -2741,19 +2857,19 @@ "lastUpdated": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the delegation was last updated. \n

" + "smithy.api#documentation": "

Specifies when the delegation was last updated.

" } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the associated control set.\n

" + "smithy.api#documentation": "

The identifier for the control set that's associated with the delegation.

" } }, "comment": { "target": "com.amazonaws.auditmanager#DelegationComment", "traits": { - "smithy.api#documentation": "

\n The comment related to the delegation. \n

" + "smithy.api#documentation": "

The comment that's related to the delegation.

" } }, "createdBy": { @@ -2764,7 +2880,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n The assignment of a control set to a delegate for review. \n

" + "smithy.api#documentation": "

The assignment of a control set to a delegate for review.

" } }, "com.amazonaws.auditmanager#DelegationComment": { @@ -2795,48 +2911,48 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the delegation. \n

" + "smithy.api#documentation": "

The unique identifier for the delegation.

" } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the associated assessment. \n

" + "smithy.api#documentation": "

The name of the associated assessment.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the specified assessment.\n

" + "smithy.api#documentation": "

The unique identifier for the assessment.

" } }, "status": { "target": "com.amazonaws.auditmanager#DelegationStatus", "traits": { - "smithy.api#documentation": "

\nThe current status of the delgation.\n

" + "smithy.api#documentation": "

The current status of the delegation.

" } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the IAM role. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role.

" } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the delegation was created.\n

" + "smithy.api#documentation": "

Specifies when the delegation was created.

" } }, "controlSetName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\nSpecifies the name of the control set delegated for review.\n

" + "smithy.api#documentation": "

Specifies the name of the control set that was delegated for review.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata associated with the specified delegation.\n

" + "smithy.api#documentation": "

The metadata that's associated with the delegation.

" } }, "com.amazonaws.auditmanager#DelegationMetadataList": { @@ -2893,7 +3009,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes an assessment in Audit Manager. \n

", + "smithy.api#documentation": "

Deletes an assessment in Audit Manager.

", "smithy.api#http": { "method": "DELETE", "uri": "/assessments/{assessmentId}", @@ -2924,7 +3040,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes a custom framework in Audit Manager.\n

", + "smithy.api#documentation": "

Deletes a custom framework in Audit Manager.

", "smithy.api#http": { "method": "DELETE", "uri": "/assessmentFrameworks/{frameworkId}", @@ -2938,7 +3054,7 @@ "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified framework. \n

", + "smithy.api#documentation": "

The identifier for the framework.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2949,6 +3065,62 @@ "type": "structure", "members": {} }, + "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Deletes a share request for a custom framework in Audit Manager.\n

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/assessmentFrameworkShareRequests/{requestId}", + "code": 200 + } + } + }, + "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "requestId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the share request to be deleted.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "requestType": { + "target": "com.amazonaws.auditmanager#ShareRequestType", + "traits": { + "smithy.api#documentation": "

Specifies whether the share request is a sent request or a received request.

", + "smithy.api#httpQuery": "requestType", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.auditmanager#DeleteAssessmentReport": { "type": "operation", "input": { @@ -2972,7 +3144,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes an assessment report from an assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Deletes an assessment report from an assessment in Audit Manager.

", "smithy.api#http": { "method": "DELETE", "uri": "/assessments/{assessmentId}/reports/{assessmentReportId}", @@ -2986,7 +3158,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2994,7 +3166,7 @@ "assessmentReportId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the assessment report.\n

", + "smithy.api#documentation": "

The unique identifier for the assessment report.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3011,7 +3183,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3045,7 +3217,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes a custom control in Audit Manager.\n

", + "smithy.api#documentation": "

Deletes a custom control in Audit Manager.

", "smithy.api#http": { "method": "DELETE", "uri": "/controls/{controlId}", @@ -3059,7 +3231,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3093,7 +3265,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deregisters an account in Audit Manager.\n

", + "smithy.api#documentation": "

Deregisters an account in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/account/deregisterAccount", @@ -3111,7 +3283,7 @@ "status": { "target": "com.amazonaws.auditmanager#AccountStatus", "traits": { - "smithy.api#documentation": "

\nThe registration status of the account.\n

" + "smithy.api#documentation": "

The registration status of the account.

" } } } @@ -3139,7 +3311,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the specified member account as a delegated administrator for Audit Manager.

\n \n

When you remove a delegated administrator from your Audit Manager settings, or when you\n deregister a delegated administrator from Organizations, you continue to have access\n to the evidence that you previously collected under that account. However, Audit Manager\n will stop collecting and attaching evidence to that delegated administrator account\n moving forward.

\n
", + "smithy.api#documentation": "

Removes the specified member Amazon Web Services account as a delegated administrator for\n Audit Manager.

\n \n

When you remove a delegated administrator from your Audit Manager settings, you\n continue to have access to the evidence that you previously collected under that\n account. This is also the case when you deregister a delegated administrator from\n Audit Manager. However, Audit Manager will stop collecting and attaching\n evidence to that delegated administrator account moving forward.

\n
", "smithy.api#http": { "method": "POST", "uri": "/account/deregisterOrganizationAdminAccount", @@ -3153,7 +3325,7 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified administrator account. \n

" + "smithy.api#documentation": "

The identifier for the administrator account.

" } } } @@ -3185,7 +3357,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Disassociates an evidence folder from the specified assessment report in Audit Manager. \n

", + "smithy.api#documentation": "

Disassociates an evidence folder from the specified assessment report in Audit Manager.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/disassociateFromAssessmentReport", @@ -3199,7 +3371,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3207,7 +3379,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which evidence is stored.\n

", + "smithy.api#documentation": "

The identifier for the folder in which evidence is stored.

", "smithy.api#required": {} } } @@ -3263,96 +3435,96 @@ "dataSource": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The data source from which the specified evidence was collected.\n

" + "smithy.api#documentation": "

The data source where the evidence was collected from.

" } }, "evidenceAwsAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified account. \n

" + "smithy.api#documentation": "

The identifier for the Amazon Web Services account.

" } }, "time": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The timestamp that represents when the evidence was collected.\n

" + "smithy.api#documentation": "

The timestamp that represents when the evidence was collected.

" } }, "eventSource": { "target": "com.amazonaws.auditmanager#AWSServiceName", "traits": { - "smithy.api#documentation": "

\n The Amazon Web Service from which the evidence is collected.\n

" + "smithy.api#documentation": "

The Amazon Web Service that the evidence is collected from.

" } }, "eventName": { "target": "com.amazonaws.auditmanager#EventName", "traits": { - "smithy.api#documentation": "

\n The name of the specified evidence event.\n

" + "smithy.api#documentation": "

The name of the evidence event.

" } }, "evidenceByType": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The type of automated evidence.\n

" + "smithy.api#documentation": "

The type of automated evidence.

" } }, "resourcesIncluded": { "target": "com.amazonaws.auditmanager#Resources", "traits": { - "smithy.api#documentation": "

\n The list of resources assessed to generate the evidence.\n

" + "smithy.api#documentation": "

The list of resources that are assessed to generate the evidence.

" } }, "attributes": { "target": "com.amazonaws.auditmanager#EvidenceAttributes", "traits": { - "smithy.api#documentation": "

\n The names and values used by the evidence event, including an attribute name (such as allowUsersToChangePassword) and value (such as true or false).\n

" + "smithy.api#documentation": "

The names and values that are used by the evidence event. This includes an attribute\n name (such as allowUsersToChangePassword) and value (such as true\n or false).

" } }, "iamId": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the IAM user or role associated with the evidence.\n

" + "smithy.api#documentation": "

The unique identifier for the IAM user or role that's associated with\n the evidence.

" } }, "complianceCheck": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

The evaluation status for evidence that falls under the compliance check category. For\n evidence collected from Security Hub, a Pass or\n Fail result is shown. For evidence collected from Config, a\n Compliant or Noncompliant result is shown.

" + "smithy.api#documentation": "

The evaluation status for evidence that falls under the compliance check category. For\n evidence collected from Security Hub, a Pass or\n Fail result is shown. For evidence collected from Config, a Compliant or Noncompliant\n result is shown.

" } }, "awsOrganization": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The account from which the evidence is collected, and its organization path.\n

" + "smithy.api#documentation": "

The Amazon Web Services account that the evidence is collected from, and its\n organization path.

" } }, "awsAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified account. \n

" + "smithy.api#documentation": "

The identifier for the Amazon Web Services account.

" } }, "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which the evidence is stored.\n

" + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

The identifier for the evidence. \n

" + "smithy.api#documentation": "

The identifier for the evidence.

" } }, "assessmentReportSelection": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n Specifies whether the evidence is included in the assessment report.\n

" + "smithy.api#documentation": "

Specifies whether the evidence is included in the assessment report.

" } } }, "traits": { - "smithy.api#documentation": "

\n A record that contains the information needed to demonstrate compliance with the requirements specified by a control. Examples of evidence include change activity triggered by a user, or a system configuration snapshot. \n

" + "smithy.api#documentation": "

A record that contains the information needed to demonstrate compliance with the\n requirements specified by a control. Examples of evidence include change activity triggered\n by a user, or a system configuration snapshot.

" } }, "com.amazonaws.auditmanager#EvidenceAttributeKey": { @@ -3424,90 +3596,90 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified framework.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the framework.

" } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the specified framework.\n

" + "smithy.api#documentation": "

The unique identifier for the framework.

" } }, "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

\nThe name of the specified framework.\n

" + "smithy.api#documentation": "

The name of the framework.

" } }, "type": { "target": "com.amazonaws.auditmanager#FrameworkType", "traits": { - "smithy.api#documentation": "

\nThe framework type, such as custom or standard.\n

" + "smithy.api#documentation": "

The framework type, such as a custom framework or a standard framework.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\n The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" + "smithy.api#documentation": "

The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

\n The description of the specified framework.\n

" + "smithy.api#documentation": "

The description of the framework.

" } }, "logo": { "target": "com.amazonaws.auditmanager#Filename", "traits": { - "smithy.api#documentation": "

\n The logo associated with the framework. \n

" + "smithy.api#documentation": "

The logo that's associated with the framework.

" } }, "controlSources": { "target": "com.amazonaws.auditmanager#ControlSources", "traits": { - "smithy.api#documentation": "

\n The sources from which Audit Manager collects evidence for the control.\n

" + "smithy.api#documentation": "

The sources that Audit Manager collects evidence from for the control.

" } }, "controlSets": { "target": "com.amazonaws.auditmanager#ControlSets", "traits": { - "smithy.api#documentation": "

\n The control sets associated with the framework. \n

" + "smithy.api#documentation": "

The control sets that are associated with the framework.

" } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the framework was created.\n

" + "smithy.api#documentation": "

Specifies when the framework was created.

" } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n Specifies when the framework was most recently updated.\n

" + "smithy.api#documentation": "

Specifies when the framework was most recently updated.

" } }, "createdBy": { "target": "com.amazonaws.auditmanager#CreatedBy", "traits": { - "smithy.api#documentation": "

\n The IAM user or role that created the framework.\n

" + "smithy.api#documentation": "

The IAM user or role that created the framework.

" } }, "lastUpdatedBy": { "target": "com.amazonaws.auditmanager#LastUpdatedBy", "traits": { - "smithy.api#documentation": "

\n The IAM user or role that most recently updated the framework. \n

" + "smithy.api#documentation": "

The IAM user or role that most recently updated the framework.

" } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags associated with the framework.\n

" + "smithy.api#documentation": "

The tags that are associated with the framework.

" } } }, "traits": { - "smithy.api#documentation": "

\n The file used to structure and automate Audit Manager assessments for a given compliance standard.\n

" + "smithy.api#documentation": "

The file that's used to structure and automate Audit Manager assessments for a\n given compliance standard.

" } }, "com.amazonaws.auditmanager#FrameworkDescription": { @@ -3526,30 +3698,30 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the framework. \n

" + "smithy.api#documentation": "

The name of the framework.

" } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentFrameworkDescription", "traits": { - "smithy.api#documentation": "

\n The description of the framework. \n

" + "smithy.api#documentation": "

The description of the framework.

" } }, "logo": { "target": "com.amazonaws.auditmanager#Filename", "traits": { - "smithy.api#documentation": "

\n The logo associated with the framework. \n

" + "smithy.api#documentation": "

The logo that's associated with the framework.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\n The compliance standard associated with the framework, such as PCI-DSS or HIPAA.\n

" + "smithy.api#documentation": "

The compliance standard that's associated with the framework. For example, this could\n be PCI DSS or HIPAA.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata of a framework, such as the name, ID, description, and so on. \n

" + "smithy.api#documentation": "

The metadata of a framework, such as the name, ID, or description.

" } }, "com.amazonaws.auditmanager#FrameworkMetadataList": { @@ -3607,7 +3779,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns the registration status of an account in Audit Manager.\n

", + "smithy.api#documentation": "

Returns the registration status of an account in Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/account/status", @@ -3625,7 +3797,7 @@ "status": { "target": "com.amazonaws.auditmanager#AccountStatus", "traits": { - "smithy.api#documentation": "

\n The status of the specified account.\n

" + "smithy.api#documentation": "

The status of the Amazon Web Services account.

" } } } @@ -3653,7 +3825,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns an assessment from Audit Manager.\n

", + "smithy.api#documentation": "

Returns an assessment from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}", @@ -3684,7 +3856,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a framework from Audit Manager.\n

", + "smithy.api#documentation": "

Returns a framework from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessmentFrameworks/{frameworkId}", @@ -3698,7 +3870,7 @@ "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified framework. \n

", + "smithy.api#documentation": "

The identifier for the framework.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3711,7 +3883,7 @@ "framework": { "target": "com.amazonaws.auditmanager#Framework", "traits": { - "smithy.api#documentation": "

\n The framework returned by the GetAssessmentFramework API.\n

" + "smithy.api#documentation": "

The framework that the GetAssessmentFramework API returned.

" } } } @@ -3739,7 +3911,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns the URL of a specified assessment report in Audit Manager.\n

", + "smithy.api#documentation": "

Returns the URL of an assessment report in Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/reports/{assessmentReportId}/url", @@ -3753,7 +3925,7 @@ "assessmentReportId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\nThe identifier for the assessment report.\n

", + "smithy.api#documentation": "

The identifier for the assessment report.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3761,7 +3933,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3782,7 +3954,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3823,7 +3995,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of changelogs from Audit Manager.\n

", + "smithy.api#documentation": "

Returns a list of changelogs from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/changelogs", @@ -3842,7 +4014,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3850,28 +4022,28 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpQuery": "controlSetId" } }, "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n \n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpQuery": "controlId" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -3883,13 +4055,13 @@ "changeLogs": { "target": "com.amazonaws.auditmanager#ChangeLogs", "traits": { - "smithy.api#documentation": "

\n The list of user activity for the control.\n

" + "smithy.api#documentation": "

The list of user activity for the control.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -3917,7 +4089,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a control from Audit Manager.\n

", + "smithy.api#documentation": "

Returns a control from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/controls/{controlId}", @@ -3931,7 +4103,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n \n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3944,7 +4116,7 @@ "control": { "target": "com.amazonaws.auditmanager#Control", "traits": { - "smithy.api#documentation": "

\n The name of the control returned by the GetControl API. \n

" + "smithy.api#documentation": "

The name of the control that the GetControl API returned.

" } } } @@ -3969,7 +4141,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of delegations from an audit owner to a delegate. \n

", + "smithy.api#documentation": "

Returns a list of delegations from an audit owner to a delegate.

", "smithy.api#http": { "method": "GET", "uri": "/delegations", @@ -3988,14 +4160,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results. \n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call.\n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4007,13 +4179,13 @@ "delegations": { "target": "com.amazonaws.auditmanager#DelegationMetadataList", "traits": { - "smithy.api#documentation": "

\n The list of delegations returned by the GetDelegations API. \n

" + "smithy.api#documentation": "

The list of delegations that the GetDelegations API returned.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4041,7 +4213,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns evidence from Audit Manager.\n

", + "smithy.api#documentation": "

Returns evidence from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence/{evidenceId}", @@ -4072,7 +4244,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns all evidence from a specified evidence folder in Audit Manager.\n

", + "smithy.api#documentation": "

Returns all evidence from a specified evidence folder in Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence", @@ -4091,7 +4263,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4099,7 +4271,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the control set. \n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4107,7 +4279,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the folder in which the evidence is stored.\n

", + "smithy.api#documentation": "

The unique identifier for the folder that the evidence is stored in.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4115,14 +4287,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4134,13 +4306,13 @@ "evidence": { "target": "com.amazonaws.auditmanager#EvidenceList", "traits": { - "smithy.api#documentation": "

\n The list of evidence returned by the GetEvidenceByEvidenceFolder API.\n

" + "smithy.api#documentation": "

The list of evidence that the GetEvidenceByEvidenceFolder API returned.\n

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4168,7 +4340,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns an evidence folder from the specified assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Returns an evidence folder from the specified assessment in Audit Manager.\n

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}", @@ -4182,7 +4354,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4190,7 +4362,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4198,7 +4370,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which the evidence is stored.\n

", + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4211,7 +4383,7 @@ "evidenceFolder": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolder", "traits": { - "smithy.api#documentation": "

\nThe folder in which evidence is stored.\n

" + "smithy.api#documentation": "

The folder that the evidence is stored in.

" } } } @@ -4239,7 +4411,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns the evidence folders from a specified assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Returns the evidence folders from a specified assessment in Audit Manager.\n

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/evidenceFolders", @@ -4275,7 +4447,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of evidence folders associated with a specified control of an assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Returns a list of evidence folders that are associated with a specified control of an\n assessment in Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/evidenceFolders-by-assessment-control/{controlSetId}/{controlId}", @@ -4294,7 +4466,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4302,7 +4474,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4310,7 +4482,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4318,14 +4490,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4337,13 +4509,13 @@ "evidenceFolders": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolders", "traits": { - "smithy.api#documentation": "

\n The list of evidence folders returned by the GetEvidenceFoldersByAssessmentControl API.\n

" + "smithy.api#documentation": "

The list of evidence folders that the\n GetEvidenceFoldersByAssessmentControl API returned.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4354,7 +4526,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4362,14 +4534,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4381,13 +4553,13 @@ "evidenceFolders": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolders", "traits": { - "smithy.api#documentation": "

\n The list of evidence folders returned by the GetEvidenceFoldersByAssessment API.\n

" + "smithy.api#documentation": "

The list of evidence folders that the GetEvidenceFoldersByAssessment API\n returned.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4398,7 +4570,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4406,7 +4578,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4414,7 +4586,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the folder in which the evidence is stored.\n

", + "smithy.api#documentation": "

The identifier for the folder that the evidence is stored in.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4422,7 +4594,7 @@ "evidenceId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the evidence. \n

", + "smithy.api#documentation": "

The identifier for the evidence.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4435,7 +4607,7 @@ "evidence": { "target": "com.amazonaws.auditmanager#Evidence", "traits": { - "smithy.api#documentation": "

\n The evidence returned by the GetEvidenceResponse API.\n

" + "smithy.api#documentation": "

The evidence that the GetEvidenceResponse API returned.

" } } } @@ -4463,7 +4635,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns the name of the delegated Amazon Web Services administrator account for the organization. \n

", + "smithy.api#documentation": "

Returns the name of the delegated Amazon Web Services administrator account for the\n organization.

", "smithy.api#http": { "method": "GET", "uri": "/account/organizationAdminAccount", @@ -4481,13 +4653,13 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified administrator account. \n

" + "smithy.api#documentation": "

The identifier for the administrator account.

" } }, "organizationId": { "target": "com.amazonaws.auditmanager#organizationId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified organization. \n

" + "smithy.api#documentation": "

The identifier for the organization.

" } } } @@ -4512,7 +4684,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of the in-scope Amazon Web Services services for the specified assessment. \n

", + "smithy.api#documentation": "

Returns a list of the in-scope Amazon Web Services services for the specified\n assessment.

", "smithy.api#http": { "method": "GET", "uri": "/services", @@ -4530,7 +4702,7 @@ "serviceMetadata": { "target": "com.amazonaws.auditmanager#ServiceMetadataList", "traits": { - "smithy.api#documentation": "

\n The metadata associated with the Amazon Web Service.\n

" + "smithy.api#documentation": "

The metadata that's associated with the Amazon Web Service.

" } } } @@ -4552,7 +4724,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns the settings for the specified account. \n

", + "smithy.api#documentation": "

Returns the settings for the specified Amazon Web Services account.

", "smithy.api#http": { "method": "GET", "uri": "/settings/{attribute}", @@ -4566,7 +4738,7 @@ "attribute": { "target": "com.amazonaws.auditmanager#SettingAttribute", "traits": { - "smithy.api#documentation": "

\n The list of SettingAttribute enum values. \n

", + "smithy.api#documentation": "

The list of SettingAttribute enum values.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4579,7 +4751,7 @@ "settings": { "target": "com.amazonaws.auditmanager#Settings", "traits": { - "smithy.api#documentation": "

\n The settings object that holds all supported Audit Manager settings. \n

" + "smithy.api#documentation": "

The settings object that holds all supported Audit Manager settings.

" } } } @@ -4618,7 +4790,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n An internal service error occurred during the processing of your request. Try again later.\n

", + "smithy.api#documentation": "

An internal service error occurred during the processing of your request. Try again\n later.

", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -4670,6 +4842,83 @@ "smithy.api#pattern": "^[a-zA-Z0-9\\s-_()\\[\\]]+$" } }, + "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequests": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of sent or received share requests for custom frameworks in Audit Manager.

", + "smithy.api#http": { + "method": "GET", + "uri": "/assessmentFrameworkShareRequests", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsRequest": { + "type": "structure", + "members": { + "requestType": { + "target": "com.amazonaws.auditmanager#ShareRequestType", + "traits": { + "smithy.api#documentation": "

Specifies whether the share request is a sent request or a received request.

", + "smithy.api#httpQuery": "requestType", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.auditmanager#Token", + "traits": { + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.auditmanager#MaxResults", + "traits": { + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsResponse": { + "type": "structure", + "members": { + "assessmentFrameworkShareRequests": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequestList", + "traits": { + "smithy.api#documentation": "

The list of share requests that the ListAssessmentFrameworkShareRequests\n API returned.

" + } + }, + "nextToken": { + "target": "com.amazonaws.auditmanager#Token", + "traits": { + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" + } + } + } + }, "com.amazonaws.auditmanager#ListAssessmentFrameworks": { "type": "operation", "input": { @@ -4690,7 +4939,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of the frameworks available in the Audit Manager framework library.\n

", + "smithy.api#documentation": "

Returns a list of the frameworks that are available in the Audit Manager\n framework library.

", "smithy.api#http": { "method": "GET", "uri": "/assessmentFrameworks", @@ -4709,7 +4958,7 @@ "frameworkType": { "target": "com.amazonaws.auditmanager#FrameworkType", "traits": { - "smithy.api#documentation": "

\n The type of framework, such as standard or custom. \n

", + "smithy.api#documentation": "

The type of framework, such as a standard framework or a custom framework.

", "smithy.api#httpQuery": "frameworkType", "smithy.api#required": {} } @@ -4717,14 +4966,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4736,13 +4985,13 @@ "frameworkMetadataList": { "target": "com.amazonaws.auditmanager#FrameworkMetadataList", "traits": { - "smithy.api#documentation": "

\nThe list of metadata objects for the specified framework.\n

" + "smithy.api#documentation": "

The list of metadata objects for the framework.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4773,7 +5022,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of assessment reports created in Audit Manager.\n

", + "smithy.api#documentation": "

Returns a list of assessment reports created in Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessmentReports", @@ -4792,14 +5041,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4811,13 +5060,13 @@ "assessmentReports": { "target": "com.amazonaws.auditmanager#AssessmentReportsMetadata", "traits": { - "smithy.api#documentation": "

\n The list of assessment reports returned by the ListAssessmentReports API.\n

" + "smithy.api#documentation": "

The list of assessment reports that the ListAssessmentReports API\n returned.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4842,7 +5091,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of current and past assessments from Audit Manager.\n

", + "smithy.api#documentation": "

Returns a list of current and past assessments from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/assessments", @@ -4861,14 +5110,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4880,13 +5129,13 @@ "assessmentMetadata": { "target": "com.amazonaws.auditmanager#ListAssessmentMetadata", "traits": { - "smithy.api#documentation": "

\n The metadata associated with the assessment.\n

" + "smithy.api#documentation": "

The metadata that's associated with the assessment.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4911,7 +5160,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of controls from Audit Manager.\n

", + "smithy.api#documentation": "

Returns a list of controls from Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/controls", @@ -4930,7 +5179,7 @@ "controlType": { "target": "com.amazonaws.auditmanager#ControlType", "traits": { - "smithy.api#documentation": "

\nThe type of control, such as standard or custom.\n

", + "smithy.api#documentation": "

The type of control, such as a standard control or a custom control.

", "smithy.api#httpQuery": "controlType", "smithy.api#required": {} } @@ -4938,14 +5187,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -4957,13 +5206,13 @@ "controlMetadataList": { "target": "com.amazonaws.auditmanager#ControlMetadataList", "traits": { - "smithy.api#documentation": "

\n The list of control metadata objects returned by the ListControls API. \n

" + "smithy.api#documentation": "

The list of control metadata objects that the ListControls API returned.\n

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -4988,7 +5237,7 @@ } ], "traits": { - "smithy.api#documentation": "

\nReturns a list of keywords that pre-mapped to the specified control data source.\n

", + "smithy.api#documentation": "

Returns a list of keywords that are pre-mapped to the specified control data source.

", "smithy.api#http": { "method": "GET", "uri": "/dataSourceKeywords", @@ -5007,7 +5256,7 @@ "source": { "target": "com.amazonaws.auditmanager#SourceType", "traits": { - "smithy.api#documentation": "

\nThe control mapping data source to which the keywords apply.\n

", + "smithy.api#documentation": "

The control mapping data source that the keywords apply to.

", "smithy.api#httpQuery": "source", "smithy.api#required": {} } @@ -5015,14 +5264,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call. \n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -5034,13 +5283,13 @@ "keywords": { "target": "com.amazonaws.auditmanager#Keywords", "traits": { - "smithy.api#documentation": "

\n The list of keywords for the specified event mapping source.\n

" + "smithy.api#documentation": "

The list of keywords for the event mapping source.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -5065,7 +5314,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of all Audit Manager notifications. \n

", + "smithy.api#documentation": "

Returns a list of all Audit Manager notifications.

", "smithy.api#http": { "method": "GET", "uri": "/notifications", @@ -5084,14 +5333,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results. \n

", + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

\n Represents the maximum number of results per page, or per API request call.\n

", + "smithy.api#documentation": "

Represents the maximum number of results on a page or for an API request call.

", "smithy.api#httpQuery": "maxResults" } } @@ -5103,13 +5352,13 @@ "notifications": { "target": "com.amazonaws.auditmanager#Notifications", "traits": { - "smithy.api#documentation": "

\n The returned list of notifications. \n

" + "smithy.api#documentation": "

The returned list of notifications.

" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token used to fetch the next set of results.\n

" + "smithy.api#documentation": "

The pagination token that's used to fetch the next set of results.

" } } } @@ -5134,7 +5383,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of tags for the specified resource in Audit Manager.\n

", + "smithy.api#documentation": "

Returns a list of tags for the specified resource in Audit Manager.

", "smithy.api#http": { "method": "GET", "uri": "/tags/{resourceArn}", @@ -5148,7 +5397,7 @@ "resourceArn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified resource.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5161,7 +5410,7 @@ "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\n The list of tags returned by the ListTagsForResource API.\n

" + "smithy.api#documentation": "

The list of tags that the ListTagsForResource API returned.

" } } } @@ -5172,12 +5421,12 @@ "s3ResourcePath": { "target": "com.amazonaws.auditmanager#S3Url", "traits": { - "smithy.api#documentation": "

\n The Amazon S3 URL that points to a manual evidence object. \n

" + "smithy.api#documentation": "

The Amazon S3 URL that points to a manual evidence object.

" } } }, "traits": { - "smithy.api#documentation": "

\n Evidence that is uploaded to Audit Manager manually. \n

" + "smithy.api#documentation": "

Evidence that's uploaded to Audit Manager manually.

" } }, "com.amazonaws.auditmanager#ManualEvidenceList": { @@ -5219,54 +5468,54 @@ "id": { "target": "com.amazonaws.auditmanager#TimestampUUID", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the notification. \n

" + "smithy.api#documentation": "

The unique identifier for the notification.

" } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

" + "smithy.api#documentation": "

The identifier for the assessment.

" } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the related assessment. \n

" + "smithy.api#documentation": "

The name of the related assessment.

" } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

" + "smithy.api#documentation": "

The identifier for the control set.

" } }, "controlSetName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n Specifies the name of the control set that the notification is about.\n

" + "smithy.api#documentation": "

Specifies the name of the control set that the notification is about.

" } }, "description": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The description of the notification. \n

" + "smithy.api#documentation": "

The description of the notification.

" } }, "eventTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

\n The time when the notification was sent. \n

" + "smithy.api#documentation": "

The time when the notification was sent.

" } }, "source": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The sender of the notification. \n

" + "smithy.api#documentation": "

The sender of the notification.

" } } }, "traits": { - "smithy.api#documentation": "

\n The notification used to inform a user of an update in Audit Manager. For example, this includes the notification that is sent when a control set is delegated for review. \n

" + "smithy.api#documentation": "

The notification that informs a user of an update in Audit Manager. For\n example, this includes the notification that's sent when a control set is delegated for\n review.

" } }, "com.amazonaws.auditmanager#Notifications": { @@ -5275,6 +5524,12 @@ "target": "com.amazonaws.auditmanager#Notification" } }, + "com.amazonaws.auditmanager#NullableInteger": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.auditmanager#ObjectTypeEnum": { "type": "string", "traits": { @@ -5302,6 +5557,12 @@ ] } }, + "com.amazonaws.auditmanager#Region": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}-[a-z]+-[0-9]{1}$" + } + }, "com.amazonaws.auditmanager#RegisterAccount": { "type": "operation", "input": { @@ -5325,7 +5586,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Enables Audit Manager for the specified account. \n

", + "smithy.api#documentation": "

Enables Audit Manager for the specified Amazon Web Services account.

", "smithy.api#http": { "method": "POST", "uri": "/account/registerAccount", @@ -5339,13 +5600,13 @@ "kmsKey": { "target": "com.amazonaws.auditmanager#KmsKey", "traits": { - "smithy.api#documentation": "

\n The KMS key details. \n

" + "smithy.api#documentation": "

The KMS key details.

" } }, "delegatedAdminAccount": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The delegated administrator account for Audit Manager. \n

" + "smithy.api#documentation": "

The delegated administrator account for Audit Manager.

" } } } @@ -5356,7 +5617,7 @@ "status": { "target": "com.amazonaws.auditmanager#AccountStatus", "traits": { - "smithy.api#documentation": "

\n The status of the account registration request. \n

" + "smithy.api#documentation": "

The status of the account registration request.

" } } } @@ -5384,7 +5645,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Enables an account within the organization as the delegated administrator for Audit Manager.\n

", + "smithy.api#documentation": "

Enables an Amazon Web Services account within the organization as the delegated\n administrator for Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/account/registerOrganizationAdminAccount", @@ -5398,7 +5659,7 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified delegated administrator account. \n

", + "smithy.api#documentation": "

The identifier for the delegated administrator account.

", "smithy.api#required": {} } } @@ -5410,13 +5671,13 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified delegated administrator account. \n

" + "smithy.api#documentation": "

The identifier for the delegated administrator account.

" } }, "organizationId": { "target": "com.amazonaws.auditmanager#organizationId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified organization. \n

" + "smithy.api#documentation": "

The identifier for the organization.

" } } } @@ -5427,18 +5688,18 @@ "arn": { "target": "com.amazonaws.auditmanager#GenericArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) for the specified resource.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the resource.

" } }, "value": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The value of the specified resource.\n

" + "smithy.api#documentation": "

The value of the resource.

" } } }, "traits": { - "smithy.api#documentation": "

\n A system asset that is evaluated in an Audit Manager assessment. \n

" + "smithy.api#documentation": "

A system asset that's evaluated in an Audit Manager assessment.

" } }, "com.amazonaws.auditmanager#ResourceNotFoundException": { @@ -5453,20 +5714,20 @@ "resourceId": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the specified resource.\n

", + "smithy.api#documentation": "

The unique identifier for the resource.

", "smithy.api#required": {} } }, "resourceType": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The type of resource affected by the error.\n

", + "smithy.api#documentation": "

The type of resource that's affected by the error.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The resource specified in the request cannot be found.\n

", + "smithy.api#documentation": "

The resource that's specified in the request can't be found.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -5483,18 +5744,18 @@ "roleType": { "target": "com.amazonaws.auditmanager#RoleType", "traits": { - "smithy.api#documentation": "

\n The type of customer persona.\n

\n \n

In CreateAssessment, roleType can only be PROCESS_OWNER.

\n

In UpdateSettings, roleType can only be PROCESS_OWNER.

\n

In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

\n
" + "smithy.api#documentation": "

The type of customer persona.

\n \n

In CreateAssessment, roleType can only be\n PROCESS_OWNER.

\n

In UpdateSettings, roleType can only be\n PROCESS_OWNER.

\n

In BatchCreateDelegationByAssessment, roleType can only be\n RESOURCE_OWNER.

\n
" } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the IAM role. \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role.

" } } }, "traits": { - "smithy.api#documentation": "

\n The wrapper that contains the Audit Manager role information of the current user, such as the role type and IAM Amazon Resource Name (ARN).\n

" + "smithy.api#documentation": "

The wrapper that contains the Audit Manager role information of the current\n user. This includes the role type and IAM Amazon Resource Name (ARN).\n

" } }, "com.amazonaws.auditmanager#RoleType": { @@ -5544,18 +5805,18 @@ "awsAccounts": { "target": "com.amazonaws.auditmanager#AWSAccounts", "traits": { - "smithy.api#documentation": "

\n The accounts included in the scope of the assessment. \n

" + "smithy.api#documentation": "

The Amazon Web Services accounts that are included in the scope of the assessment.\n

" } }, "awsServices": { "target": "com.amazonaws.auditmanager#AWSServices", "traits": { - "smithy.api#documentation": "

\n The Amazon Web Services services included in the scope of the assessment. \n

" + "smithy.api#documentation": "

The Amazon Web Services services that are included in the scope of the assessment.\n

" } } }, "traits": { - "smithy.api#documentation": "

\n The wrapper that contains the accounts and services in scope for the assessment.\n

" + "smithy.api#documentation": "

The wrapper that contains the Amazon Web Services accounts and services that are in\n scope for the assessment.

" } }, "com.amazonaws.auditmanager#ServiceMetadata": { @@ -5564,30 +5825,30 @@ "name": { "target": "com.amazonaws.auditmanager#AWSServiceName", "traits": { - "smithy.api#documentation": "

\n The name of the Amazon Web Service.\n

" + "smithy.api#documentation": "

The name of the Amazon Web Service.

" } }, "displayName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The display name of the Amazon Web Service.\n

" + "smithy.api#documentation": "

The display name of the Amazon Web Service.

" } }, "description": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The description of the specified Amazon Web Service.\n

" + "smithy.api#documentation": "

The description of the Amazon Web Service.

" } }, "category": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

\n The category in which the Amazon Web Service belongs, such as compute, storage, database, and so on.\n

" + "smithy.api#documentation": "

The category that the Amazon Web Service belongs to, such as compute, storage,\n or database.

" } } }, "traits": { - "smithy.api#documentation": "

\n The metadata associated with the specified Amazon Web Service.\n

" + "smithy.api#documentation": "

The metadata that's associated with the Amazon Web Service.

" } }, "com.amazonaws.auditmanager#ServiceMetadataList": { @@ -5629,36 +5890,119 @@ "isAwsOrgEnabled": { "target": "com.amazonaws.auditmanager#Boolean", "traits": { - "smithy.api#documentation": "

\n Specifies whether Organizations is enabled. \n

" + "smithy.api#documentation": "

Specifies whether Organizations is enabled.

" } }, "snsTopic": { "target": "com.amazonaws.auditmanager#SNSTopic", "traits": { - "smithy.api#documentation": "

\n The designated Amazon Simple Notification Service (Amazon SNS) topic. \n

" + "smithy.api#documentation": "

The designated Amazon Simple Notification Service (Amazon SNS) topic.

" } }, "defaultAssessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

\n The default storage destination for assessment reports.\n

" + "smithy.api#documentation": "

The default storage destination for assessment reports.

" } }, "defaultProcessOwners": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\n The designated default audit owners. \n

" + "smithy.api#documentation": "

The designated default audit owners.

" } }, "kmsKey": { "target": "com.amazonaws.auditmanager#KmsKey", "traits": { - "smithy.api#documentation": "

\n The KMS key details. \n

" + "smithy.api#documentation": "

The KMS key details.

" } } }, "traits": { - "smithy.api#documentation": "

\n The settings object that holds all supported Audit Manager settings. \n

" + "smithy.api#documentation": "

The settings object that holds all supported Audit Manager settings.

" + } + }, + "com.amazonaws.auditmanager#ShareRequestAction": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACCEPT", + "name": "ACCEPT" + }, + { + "value": "DECLINE", + "name": "DECLINE" + }, + { + "value": "REVOKE", + "name": "REVOKE" + } + ] + } + }, + "com.amazonaws.auditmanager#ShareRequestComment": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#pattern": "^[\\w\\W\\s\\S]*$" + } + }, + "com.amazonaws.auditmanager#ShareRequestStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "REPLICATING", + "name": "REPLICATING" + }, + { + "value": "SHARED", + "name": "SHARED" + }, + { + "value": "EXPIRING", + "name": "EXPIRING" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "EXPIRED", + "name": "EXPIRED" + }, + { + "value": "DECLINED", + "name": "DECLINED" + }, + { + "value": "REVOKED", + "name": "REVOKED" + } + ] + } + }, + "com.amazonaws.auditmanager#ShareRequestType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SENT", + "name": "SENT" + }, + { + "value": "RECEIVED", + "name": "RECEIVED" + } + ] } }, "com.amazonaws.auditmanager#SnsArn": { @@ -5706,18 +6050,18 @@ "keywordInputType": { "target": "com.amazonaws.auditmanager#KeywordInputType", "traits": { - "smithy.api#documentation": "

\nThe method of input for the specified keyword.\n

" + "smithy.api#documentation": "

The method of input for the keyword.

" } }, "keywordValue": { "target": "com.amazonaws.auditmanager#KeywordValue", "traits": { - "smithy.api#documentation": "

\n The value of the keyword used to search CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names when mapping a control data source. \n

" + "smithy.api#documentation": "

The value of the keyword that's used to search CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names\n when mapping a control data source.

" } } }, "traits": { - "smithy.api#documentation": "

\n The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names.\n

" + "smithy.api#documentation": "

The keyword to search for in CloudTrail logs, Config rules,\n Security Hub checks, and Amazon Web Services API names.

" } }, "com.amazonaws.auditmanager#SourceName": { @@ -5771,6 +6115,81 @@ ] } }, + "com.amazonaws.auditmanager#StartAssessmentFrameworkShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#StartAssessmentFrameworkShareRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#StartAssessmentFrameworkShareResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a share request for a custom framework in Audit Manager.

\n

The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires.

\n \n

When you invoke the StartAssessmentFrameworkShare API, you are about to\n share a custom framework with another Amazon Web Services account. You may not share a\n custom framework that is derived from a standard framework if the standard framework is\n designated as not eligible for sharing by Amazon Web Services, unless you have obtained\n permission to do so from the owner of the standard framework. To learn more about which\n standard frameworks are eligible for sharing, see Framework sharing eligibility in the Audit Manager User\n Guide.

\n
", + "smithy.api#http": { + "method": "POST", + "uri": "/assessmentFrameworks/{frameworkId}/shareRequests", + "code": 200 + } + } + }, + "com.amazonaws.auditmanager#StartAssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "frameworkId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the custom framework to be shared.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "destinationAccount": { + "target": "com.amazonaws.auditmanager#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account of the recipient.

", + "smithy.api#required": {} + } + }, + "destinationRegion": { + "target": "com.amazonaws.auditmanager#Region", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region of the recipient.

", + "smithy.api#required": {} + } + }, + "comment": { + "target": "com.amazonaws.auditmanager#ShareRequestComment", + "traits": { + "smithy.api#documentation": "

An optional comment from the sender about the share request.

" + } + } + } + }, + "com.amazonaws.auditmanager#StartAssessmentFrameworkShareResponse": { + "type": "structure", + "members": { + "assessmentFrameworkShareRequest": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest", + "traits": { + "smithy.api#documentation": "

The share request that's created by the StartAssessmentFrameworkShare API.\n

" + } + } + } + }, "com.amazonaws.auditmanager#String": { "type": "string", "traits": { @@ -5838,7 +6257,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Tags the specified resource in Audit Manager.\n

", + "smithy.api#documentation": "

Tags the specified resource in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/tags/{resourceArn}", @@ -5852,7 +6271,7 @@ "resourceArn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified resource.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5860,7 +6279,7 @@ "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

\nThe tags to be associated with the resource.\n

", + "smithy.api#documentation": "

The tags that are associated with the resource.

", "smithy.api#required": {} } } @@ -5929,18 +6348,18 @@ "hyperlinkName": { "target": "com.amazonaws.auditmanager#HyperlinkName", "traits": { - "smithy.api#documentation": "

\n The name or word used as a hyperlink to the URL. \n

" + "smithy.api#documentation": "

The name or word that's used as a hyperlink to the URL.

" } }, "link": { "target": "com.amazonaws.auditmanager#UrlLink", "traits": { - "smithy.api#documentation": "

\n The unique identifier for the internet resource. \n

" + "smithy.api#documentation": "

The unique identifier for the internet resource.

" } } }, "traits": { - "smithy.api#documentation": "

\n A uniform resource locator, used as a unique identifier to locate a resource on the internet. \n

" + "smithy.api#documentation": "

Short for uniform resource locator. A URL is used as a unique identifier to locate a\n resource on the internet.

" } }, "com.amazonaws.auditmanager#UUID": { @@ -5973,7 +6392,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Removes a tag from a resource in Audit Manager.\n

", + "smithy.api#documentation": "

Removes a tag from a resource in Audit Manager.

", "smithy.api#http": { "method": "DELETE", "uri": "/tags/{resourceArn}", @@ -5987,7 +6406,7 @@ "resourceArn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the specified resource.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the specified resource.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5995,7 +6414,7 @@ "tagKeys": { "target": "com.amazonaws.auditmanager#TagKeyList", "traits": { - "smithy.api#documentation": "

\n The name or key of the tag. \n

", + "smithy.api#documentation": "

The name or key of the tag.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -6029,7 +6448,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Edits an Audit Manager assessment. \n

", + "smithy.api#documentation": "

Edits an Audit Manager assessment.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}", @@ -6060,7 +6479,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates a control within an assessment in Audit Manager.\n

", + "smithy.api#documentation": "

Updates a control within an assessment in Audit Manager.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}", @@ -6074,7 +6493,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6082,7 +6501,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6090,7 +6509,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n \n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6098,13 +6517,13 @@ "controlStatus": { "target": "com.amazonaws.auditmanager#ControlStatus", "traits": { - "smithy.api#documentation": "

\n The status of the specified control. \n

" + "smithy.api#documentation": "

The status of the control.

" } }, "commentBody": { "target": "com.amazonaws.auditmanager#ControlCommentBody", "traits": { - "smithy.api#documentation": "

\n The comment body text for the specified control. \n

" + "smithy.api#documentation": "

The comment body text for the control.

" } } } @@ -6115,7 +6534,7 @@ "control": { "target": "com.amazonaws.auditmanager#AssessmentControl", "traits": { - "smithy.api#documentation": "

\n The name of the updated control set returned by the UpdateAssessmentControl API. \n

" + "smithy.api#documentation": "

The name of the updated control set that the UpdateAssessmentControl API\n returned.

" } } } @@ -6143,7 +6562,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates the status of a control set in an Audit Manager assessment.\n

", + "smithy.api#documentation": "

Updates the status of a control set in an Audit Manager assessment.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/status", @@ -6157,7 +6576,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6165,7 +6584,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control set.\n

", + "smithy.api#documentation": "

The identifier for the control set.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6173,14 +6592,14 @@ "status": { "target": "com.amazonaws.auditmanager#ControlSetStatus", "traits": { - "smithy.api#documentation": "

\nThe status of the control set that is being updated.\n

", + "smithy.api#documentation": "

The status of the control set that's being updated.

", "smithy.api#required": {} } }, "comment": { "target": "com.amazonaws.auditmanager#DelegationComment", "traits": { - "smithy.api#documentation": "

\n The comment related to the status update.\n

", + "smithy.api#documentation": "

The comment that's related to the status update.

", "smithy.api#required": {} } } @@ -6192,7 +6611,7 @@ "controlSet": { "target": "com.amazonaws.auditmanager#AssessmentControlSet", "traits": { - "smithy.api#documentation": "

\n The name of the updated control set returned by the UpdateAssessmentControlSetStatus API. \n

" + "smithy.api#documentation": "

The name of the updated control set that the\n UpdateAssessmentControlSetStatus API returned.

" } } } @@ -6220,7 +6639,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates a custom framework in Audit Manager.\n

", + "smithy.api#documentation": "

Updates a custom framework in Audit Manager.

", "smithy.api#http": { "method": "PUT", "uri": "/assessmentFrameworks/{frameworkId}", @@ -6234,25 +6653,25 @@ "id": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the control set.\n

" + "smithy.api#documentation": "

The unique identifier for the control set.

" } }, "name": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

\nThe name of the control set.\n

", + "smithy.api#documentation": "

The name of the control set.

", "smithy.api#required": {} } }, "controls": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControls", "traits": { - "smithy.api#documentation": "

\nThe list of controls contained within the control set.\n

" + "smithy.api#documentation": "

The list of controls that are contained within the control set.

" } } }, "traits": { - "smithy.api#documentation": "

\n A controlSet entity that represents a collection of controls in Audit Manager. This does not contain the control set ID.\n

" + "smithy.api#documentation": "

A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID.

" } }, "com.amazonaws.auditmanager#UpdateAssessmentFrameworkControlSets": { @@ -6267,7 +6686,7 @@ "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified framework. \n

", + "smithy.api#documentation": "

The identifier for the framework.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6275,26 +6694,26 @@ "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

\nThe name of the framework to be updated.\n

", + "smithy.api#documentation": "

The name of the framework to be updated.

", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

\nThe description of the framework that is to be updated.\n

" + "smithy.api#documentation": "

The description of the updated framework.

" } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

\n The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" + "smithy.api#documentation": "

The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

" } }, "controlSets": { "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkControlSets", "traits": { - "smithy.api#documentation": "

\n The control sets associated with the framework. \n

", + "smithy.api#documentation": "

The control sets that are associated with the framework.

", "smithy.api#required": {} } } @@ -6306,7 +6725,76 @@ "framework": { "target": "com.amazonaws.auditmanager#Framework", "traits": { - "smithy.api#documentation": "

\nThe name of the specified framework.\n

" + "smithy.api#documentation": "

The name of the framework.

" + } + } + } + }, + "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a share request for a custom framework in Audit Manager.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/assessmentFrameworkShareRequests/{requestId}", + "code": 200 + } + } + }, + "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "requestId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

The unique identifier for the share request.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "requestType": { + "target": "com.amazonaws.auditmanager#ShareRequestType", + "traits": { + "smithy.api#documentation": "

Specifies whether the share request is a sent request or a received request.

", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.auditmanager#ShareRequestAction", + "traits": { + "smithy.api#documentation": "

Specifies the update action for the share request.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareResponse": { + "type": "structure", + "members": { + "assessmentFrameworkShareRequest": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest", + "traits": { + "smithy.api#documentation": "

The updated share request that's returned by the\n UpdateAssessmentFrameworkShare operation.

" } } } @@ -6317,7 +6805,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6325,32 +6813,32 @@ "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

\n The name of the specified assessment to be updated. \n

" + "smithy.api#documentation": "

The name of the assessment to be updated.

" } }, "assessmentDescription": { "target": "com.amazonaws.auditmanager#AssessmentDescription", "traits": { - "smithy.api#documentation": "

\n The description of the specified assessment. \n

" + "smithy.api#documentation": "

The description of the assessment.

" } }, "scope": { "target": "com.amazonaws.auditmanager#Scope", "traits": { - "smithy.api#documentation": "

\n The scope of the specified assessment. \n

", + "smithy.api#documentation": "

The scope of the assessment.

", "smithy.api#required": {} } }, "assessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

\n The assessment report storage destination for the specified assessment that is being updated. \n

" + "smithy.api#documentation": "

The assessment report storage destination for the assessment that's being updated.\n

" } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\n The list of roles for the specified assessment. \n

" + "smithy.api#documentation": "

The list of roles for the assessment.

" } } } @@ -6361,7 +6849,7 @@ "assessment": { "target": "com.amazonaws.auditmanager#Assessment", "traits": { - "smithy.api#documentation": "

\n The response object (name of the updated assessment) for the UpdateAssessmentRequest API. \n

" + "smithy.api#documentation": "

The response object for the UpdateAssessmentRequest API. This is the name\n of the updated assessment.

" } } } @@ -6389,7 +6877,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates the status of an assessment in Audit Manager. \n

", + "smithy.api#documentation": "

Updates the status of an assessment in Audit Manager.

", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/status", @@ -6403,7 +6891,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified assessment. \n

", + "smithy.api#documentation": "

The identifier for the assessment.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6411,7 +6899,7 @@ "status": { "target": "com.amazonaws.auditmanager#AssessmentStatus", "traits": { - "smithy.api#documentation": "

\n The current status of the specified assessment. \n

", + "smithy.api#documentation": "

The current status of the assessment.

", "smithy.api#required": {} } } @@ -6423,7 +6911,7 @@ "assessment": { "target": "com.amazonaws.auditmanager#Assessment", "traits": { - "smithy.api#documentation": "

\n The name of the updated assessment returned by the UpdateAssessmentStatus API. \n

" + "smithy.api#documentation": "

The name of the updated assessment that the UpdateAssessmentStatus API\n returned.

" } } } @@ -6451,7 +6939,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates a custom control in Audit Manager.\n

", + "smithy.api#documentation": "

Updates a custom control in Audit Manager.

", "smithy.api#http": { "method": "PUT", "uri": "/controls/{controlId}", @@ -6465,7 +6953,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

\n The identifier for the specified control. \n

", + "smithy.api#documentation": "

The identifier for the control.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6473,38 +6961,38 @@ "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

\nThe name of the control to be updated.\n

", + "smithy.api#documentation": "

The name of the updated control.

", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

\nThe optional description of the control.\n

" + "smithy.api#documentation": "

The optional description of the control.

" } }, "testingInformation": { "target": "com.amazonaws.auditmanager#TestingInformation", "traits": { - "smithy.api#documentation": "

\n The steps that to follow to determine if the control has been satisfied.\n

" + "smithy.api#documentation": "

The steps that you should follow to determine if the control is met.

" } }, "actionPlanTitle": { "target": "com.amazonaws.auditmanager#ActionPlanTitle", "traits": { - "smithy.api#documentation": "

\n The title of the action plan for remediating the control.\n

" + "smithy.api#documentation": "

The title of the action plan for remediating the control.

" } }, "actionPlanInstructions": { "target": "com.amazonaws.auditmanager#ActionPlanInstructions", "traits": { - "smithy.api#documentation": "

\n \n The recommended actions to carry out if the control is not fulfilled.\n

" + "smithy.api#documentation": "

The recommended actions to carry out if the control isn't fulfilled.

" } }, "controlMappingSources": { "target": "com.amazonaws.auditmanager#ControlMappingSources", "traits": { - "smithy.api#documentation": "

\n The data mapping sources for the specified control.\n

", + "smithy.api#documentation": "

The data mapping sources for the control.

", "smithy.api#required": {} } } @@ -6516,7 +7004,7 @@ "control": { "target": "com.amazonaws.auditmanager#Control", "traits": { - "smithy.api#documentation": "

\n The name of the updated control set returned by the UpdateControl API. \n

" + "smithy.api#documentation": "

The name of the updated control set that the UpdateControl API returned.\n

" } } } @@ -6541,7 +7029,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates Audit Manager settings for the current user account. \n

", + "smithy.api#documentation": "

Updates Audit Manager settings for the current user account.

", "smithy.api#http": { "method": "PUT", "uri": "/settings", @@ -6555,25 +7043,25 @@ "snsTopic": { "target": "com.amazonaws.auditmanager#SnsArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Simple Notification Service (Amazon SNS) topic to which Audit Manager sends notifications.\n

" + "smithy.api#documentation": "

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends\n notifications to.

" } }, "defaultAssessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

\n The default storage destination for assessment reports.\n

" + "smithy.api#documentation": "

The default storage destination for assessment reports.

" } }, "defaultProcessOwners": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

\nA list of the default audit owners.\n

" + "smithy.api#documentation": "

A list of the default audit owners.

" } }, "kmsKey": { "target": "com.amazonaws.auditmanager#KmsKey", "traits": { - "smithy.api#documentation": "

\n The KMS key details. \n

" + "smithy.api#documentation": "

The KMS key details.

" } } } @@ -6584,7 +7072,7 @@ "settings": { "target": "com.amazonaws.auditmanager#Settings", "traits": { - "smithy.api#documentation": "

\nThe current list of settings.\n

" + "smithy.api#documentation": "

The current list of settings.

" } } } @@ -6632,7 +7120,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Validates the integrity of an assessment report in Audit Manager. \n

", + "smithy.api#documentation": "

Validates the integrity of an assessment report in Audit Manager.

", "smithy.api#http": { "method": "POST", "uri": "/assessmentReports/integrity", @@ -6646,7 +7134,7 @@ "s3RelativePath": { "target": "com.amazonaws.auditmanager#S3Url", "traits": { - "smithy.api#documentation": "

\n The relative path of the specified Amazon S3 bucket in which the assessment report is stored.\n

", + "smithy.api#documentation": "

The relative path of the Amazon S3 bucket that the assessment report is stored\n in.

", "smithy.api#required": {} } } @@ -6658,31 +7146,31 @@ "signatureValid": { "target": "com.amazonaws.auditmanager#Boolean", "traits": { - "smithy.api#documentation": "

\nSpecifies whether the signature key is valid.\n

" + "smithy.api#documentation": "

Specifies whether the signature key is valid.

" } }, "signatureAlgorithm": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The signature algorithm used to code sign the assessment report file.\n

" + "smithy.api#documentation": "

The signature algorithm that's used to code sign the assessment report file.

" } }, "signatureDateTime": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\nThe date and time signature that specifies when the assessment report was created.\n

" + "smithy.api#documentation": "

The date and time signature that specifies when the assessment report was created.\n

" } }, "signatureKeyId": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\nThe unique identifier for the validation signature key.\n

" + "smithy.api#documentation": "

The unique identifier for the validation signature key.

" } }, "validationErrors": { "target": "com.amazonaws.auditmanager#ValidationErrors", "traits": { - "smithy.api#documentation": "

\nRepresents any errors that occurred when validating the assessment report.\n

" + "smithy.api#documentation": "

Represents any errors that occurred when validating the assessment report.

" } } } @@ -6705,18 +7193,18 @@ "reason": { "target": "com.amazonaws.auditmanager#ValidationExceptionReason", "traits": { - "smithy.api#documentation": "

\n The reason the request failed validation.\n

" + "smithy.api#documentation": "

The reason the request failed validation.

" } }, "fields": { "target": "com.amazonaws.auditmanager#ValidationExceptionFieldList", "traits": { - "smithy.api#documentation": "

\n The fields that caused the error, if applicable.\n

" + "smithy.api#documentation": "

The fields that caused the error, if applicable.

" } } }, "traits": { - "smithy.api#documentation": "

\n The request has invalid or missing parameters. \n

", + "smithy.api#documentation": "

The request has invalid or missing parameters.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6727,20 +7215,20 @@ "name": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The name of the validation error. \n

", + "smithy.api#documentation": "

The name of the validation error.

", "smithy.api#required": {} } }, "message": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

\n The body of the error message. \n

", + "smithy.api#documentation": "

The body of the error message.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n Indicates that the request has invalid or missing parameters for the specified field. \n

" + "smithy.api#documentation": "

Indicates that the request has invalid or missing parameters for the field.

" } }, "com.amazonaws.auditmanager#ValidationExceptionFieldList": { diff --git a/codegen/sdk-codegen/aws-models/autoscaling.2011-01-01.json b/codegen/sdk-codegen/aws-models/autoscaling.2011-01-01.json index 1c373a9a8c8..cda3cef35c2 100644 --- a/codegen/sdk-codegen/aws-models/autoscaling.2011-01-01.json +++ b/codegen/sdk-codegen/aws-models/autoscaling.2011-01-01.json @@ -29,6 +29,141 @@ ] }, "shapes": { + "com.amazonaws.autoscaling#AcceleratorCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The minimum value.

" + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The maximum value.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the AcceleratorCount object when\n you specify InstanceRequirements for an Auto Scaling group.

" + } + }, + "com.amazonaws.autoscaling#AcceleratorManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "nvidia", + "name": "NVIDIA" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + }, + { + "value": "xilinx", + "name": "XILINX" + } + ] + } + }, + "com.amazonaws.autoscaling#AcceleratorManufacturers": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#AcceleratorManufacturer" + } + }, + "com.amazonaws.autoscaling#AcceleratorName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "a100", + "name": "A100" + }, + { + "value": "v100", + "name": "V100" + }, + { + "value": "k80", + "name": "K80" + }, + { + "value": "t4", + "name": "T4" + }, + { + "value": "m60", + "name": "M60" + }, + { + "value": "radeon-pro-v520", + "name": "RADEON_PRO_V520" + }, + { + "value": "vu9p", + "name": "VU9P" + } + ] + } + }, + "com.amazonaws.autoscaling#AcceleratorNames": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#AcceleratorName" + } + }, + "com.amazonaws.autoscaling#AcceleratorTotalMemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The memory minimum in MiB.

" + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The memory maximum in MiB.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB\n object when you specify InstanceRequirements for an Auto Scaling group.

" + } + }, + "com.amazonaws.autoscaling#AcceleratorType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "gpu", + "name": "GPU" + }, + { + "value": "fpga", + "name": "FPGA" + }, + { + "value": "inference", + "name": "INFERENCE" + } + ] + } + }, + "com.amazonaws.autoscaling#AcceleratorTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#AcceleratorType" + } + }, "com.amazonaws.autoscaling#ActiveInstanceRefreshNotFoundFault": { "type": "structure", "members": { @@ -571,6 +706,12 @@ "traits": { "smithy.api#documentation": "

Reserved.

" } + }, + "DesiredCapacityType": { + "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

Valid values: units | vcpu | memory-mib\n

" + } } }, "traits": { @@ -774,6 +915,24 @@ }, "com.amazonaws.autoscaling#AutoScaling_2011_01_01": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Auto Scaling", + "arnNamespace": "autoscaling", + "cloudFormationName": "AutoScaling", + "cloudTrailEventSource": "autoscaling.amazonaws.com", + "endpointPrefix": "autoscaling" + }, + "aws.auth#sigv4": { + "name": "autoscaling" + }, + "aws.protocols#awsQuery": {}, + "smithy.api#documentation": "Amazon EC2 Auto Scaling\n \n \n \n \n \n \n \n\n \n

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

\n

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide. For information about granting IAM users required\n permissions for calls to Amazon EC2 Auto Scaling, see Granting\n IAM users required permissions for Amazon EC2 Auto Scaling resources in the\n Amazon EC2 Auto Scaling API Reference.

", + "smithy.api#title": "Auto Scaling", + "smithy.api#xmlNamespace": { + "uri": "http://autoscaling.amazonaws.com/doc/2011-01-01/" + } + }, "version": "2011-01-01", "operations": [ { @@ -959,25 +1118,7 @@ { "target": "com.amazonaws.autoscaling#UpdateAutoScalingGroup" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Auto Scaling", - "arnNamespace": "autoscaling", - "cloudFormationName": "AutoScaling", - "cloudTrailEventSource": "autoscaling.amazonaws.com", - "endpointPrefix": "autoscaling" - }, - "aws.auth#sigv4": { - "name": "autoscaling" - }, - "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "Amazon EC2 Auto Scaling\n \n \n \n \n \n \n \n\n \n

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

\n

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide. For information about granting IAM users required\n permissions for calls to Amazon EC2 Auto Scaling, see Granting\n IAM users required permissions for Amazon EC2 Auto Scaling resources in the\n Amazon EC2 Auto Scaling API Reference.

", - "smithy.api#title": "Auto Scaling", - "smithy.api#xmlNamespace": { - "uri": "http://autoscaling.amazonaws.com/doc/2011-01-01/" - } - } + ] }, "com.amazonaws.autoscaling#AvailabilityZones": { "type": "list", @@ -985,6 +1126,45 @@ "target": "com.amazonaws.autoscaling#XmlStringMaxLen255" } }, + "com.amazonaws.autoscaling#BareMetal": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + } + ] + } + }, + "com.amazonaws.autoscaling#BaselineEbsBandwidthMbpsRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The minimum value in Mbps.

" + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The maximum value in Mbps.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object\n when you specify InstanceRequirements for an Auto Scaling group.

" + } + }, "com.amazonaws.autoscaling#BatchDeleteScheduledAction": { "type": "operation", "input": { @@ -1175,6 +1355,25 @@ "target": "com.amazonaws.autoscaling#BlockDeviceMapping" } }, + "com.amazonaws.autoscaling#BurstablePerformance": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + } + ] + } + }, "com.amazonaws.autoscaling#CancelInstanceRefresh": { "type": "operation", "input": { @@ -1339,6 +1538,31 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#CpuManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "intel", + "name": "INTEL" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + } + ] + } + }, + "com.amazonaws.autoscaling#CpuManufacturers": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#CpuManufacturer" + } + }, "com.amazonaws.autoscaling#CreateAutoScalingGroup": { "type": "operation", "input": { @@ -1387,7 +1611,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

An embedded object that specifies a mixed instances policy. The required properties\n must be specified. If optional properties are unspecified, their default values are\n used.

\n

The policy includes properties that not only define the distribution of On-Demand\n Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the\n Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also\n the properties that specify the instance configuration information—the launch template\n and instance types. The policy can also include a weight for each instance type and\n different launch templates for individual instance types. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

" + "smithy.api#documentation": "

An embedded object that specifies a mixed instances policy.

\n \n \n \n

For more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

" } }, "InstanceId": { @@ -1511,6 +1735,12 @@ "traits": { "smithy.api#documentation": "

Reserved.

" } + }, + "DesiredCapacityType": { + "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n \n

Valid values: units | vcpu | memory-mib\n

" + } } } }, @@ -3347,6 +3577,28 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#ExcludedInstance": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\*]+$" + } + }, + "com.amazonaws.autoscaling#ExcludedInstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#ExcludedInstance" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.autoscaling#ExecutePolicy": { "type": "operation", "input": { @@ -3485,18 +3737,18 @@ "Name": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

The name of the filter.

\n

The valid values for Name depend on the API operation that you are\n including the filter in, DescribeAutoScalingGroups or DescribeTags.

\n

\n DescribeAutoScalingGroups\n

\n

Valid values for Name include the following:

\n \n

\n DescribeTags\n

\n

Valid values for Name include the following:

\n " + "smithy.api#documentation": "

The name of the filter.

\n

The valid values for Name depend on which API operation you're using with\n the filter (DescribeAutoScalingGroups or DescribeTags).

\n

\n DescribeAutoScalingGroups\n

\n

Valid values for Name include the following:

\n \n

\n DescribeTags\n

\n

Valid values for Name include the following:

\n " } }, "Values": { "target": "com.amazonaws.autoscaling#Values", "traits": { - "smithy.api#documentation": "

One or more filter values. Filter values are case-sensitive.

\n

If you specify multiple values for a filter, the values are joined with an\n OR, and the request returns all results that match any of the specified\n values. For example, specify \"tag:environment\" for the filter name and\n \"production,development\" for the filter values to find Auto Scaling groups with the tag\n \"environment=production\" or \"environment=development\".

" + "smithy.api#documentation": "

One or more filter values. Filter values are case-sensitive.

\n

If you specify multiple values for a filter, the values are automatically logically\n joined with an OR, and the request returns all results that match any of\n the specified values. For example, specify \"tag:environment\" for the filter name and\n \"production,development\" for the filter values to find Auto Scaling groups with the tag\n \"environment=production\" or \"environment=development\".

" } } }, "traits": { - "smithy.api#documentation": "

Describes a filter that is used to return a more specific list of results from a\n describe operation.

\n

If you specify multiple filters, the filters are joined with an AND, and\n the request returns only results that match all of the specified filters.

\n

For more information, see Tagging Auto Scaling groups and\n instances in the Amazon EC2 Auto Scaling User Guide.

" + "smithy.api#documentation": "

Describes a filter that is used to return a more specific list of results from a\n describe operation.

\n

If you specify multiple filters, the filters are automatically logically joined with\n an AND, and the request returns only the results that match all of the\n specified filters.

\n

For more information, see Tagging Auto Scaling groups and\n instances in the Amazon EC2 Auto Scaling User Guide.

" } }, "com.amazonaws.autoscaling#Filters": { @@ -3684,6 +3936,27 @@ "smithy.api#documentation": "

Describes an EC2 instance.

" } }, + "com.amazonaws.autoscaling#InstanceGeneration": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "current", + "name": "CURRENT" + }, + { + "value": "previous", + "name": "PREVIOUS" + } + ] + } + }, + "com.amazonaws.autoscaling#InstanceGenerations": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#InstanceGeneration" + } + }, "com.amazonaws.autoscaling#InstanceIds": { "type": "list", "member": { @@ -3967,6 +4240,142 @@ "target": "com.amazonaws.autoscaling#InstanceRefresh" } }, + "com.amazonaws.autoscaling#InstanceRequirements": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.autoscaling#VCpuCountRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of vCPUs for an instance type.

", + "smithy.api#required": {} + } + }, + "MemoryMiB": { + "target": "com.amazonaws.autoscaling#MemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum instance memory size for an instance type, in MiB.

", + "smithy.api#required": {} + } + }, + "CpuManufacturers": { + "target": "com.amazonaws.autoscaling#CpuManufacturers", + "traits": { + "smithy.api#documentation": "

Lists which specific CPU manufacturers to include.

\n \n \n

Don't confuse the CPU hardware manufacturer with the CPU hardware architecture.\n Instances will be launched with a compatible CPU architecture based on the Amazon\n Machine Image (AMI) that you specify in your launch template.

\n
\n

Default: Any manufacturer

" + } + }, + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.autoscaling#MemoryGiBPerVCpuRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

\n

Default: No minimum or maximum

" + } + }, + "ExcludedInstanceTypes": { + "target": "com.amazonaws.autoscaling#ExcludedInstanceTypes", + "traits": { + "smithy.api#documentation": "

Lists which instance types to exclude. You can use strings with one or more wild\n cards, represented by an asterisk (*). The following are examples:\n c5*, m5a.*, r*, *3*.

\n

For example, if you specify c5*, you are excluding the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, you are excluding all the M5a instance types, but not the M5n\n instance types.

\n

Default: No excluded instance types

" + } + }, + "InstanceGenerations": { + "target": "com.amazonaws.autoscaling#InstanceGenerations", + "traits": { + "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included.

\n \n

Default: Any current or previous generation

" + } + }, + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for\n a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance\n type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your\n attributes, we will exclude instance types whose price is higher than your threshold.\n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off\n price protection, specify a high value, such as 999999.

\n

Default: 100\n

" + } + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay\n for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R\n instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with\n your attributes, we will exclude instance types whose price is higher than your\n threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as 999999.

\n

Default: 20\n

" + } + }, + "BareMetal": { + "target": "com.amazonaws.autoscaling#BareMetal", + "traits": { + "smithy.api#documentation": "

Indicates whether bare metal instance types are included, excluded, or\n required.

\n

Default: excluded\n

" + } + }, + "BurstablePerformance": { + "target": "com.amazonaws.autoscaling#BurstablePerformance", + "traits": { + "smithy.api#documentation": "

Indicates whether burstable performance instance types are included, excluded, or\n required. For more information, see Burstable\n performance instances in the Amazon EC2 User Guide for Linux\n Instances.

\n

Default: excluded\n

" + } + }, + "RequireHibernateSupport": { + "target": "com.amazonaws.autoscaling#NullableBoolean", + "traits": { + "smithy.api#documentation": "

Indicates whether instance types must provide On-Demand Instance hibernation\n support.

\n

Default: false\n

" + } + }, + "NetworkInterfaceCount": { + "target": "com.amazonaws.autoscaling#NetworkInterfaceCountRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of network interfaces for an instance type.

\n

Default: No minimum or maximum

" + } + }, + "LocalStorage": { + "target": "com.amazonaws.autoscaling#LocalStorage", + "traits": { + "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded,\n or required. For more information, see Amazon EC2 instance store in\n the Amazon EC2 User Guide for Linux Instances.

\n

Default: included\n

" + } + }, + "LocalStorageTypes": { + "target": "com.amazonaws.autoscaling#LocalStorageTypes", + "traits": { + "smithy.api#documentation": "

Indicates the type of local storage that is required.

\n \n

Default: Any local storage type

" + } + }, + "TotalLocalStorageGB": { + "target": "com.amazonaws.autoscaling#TotalLocalStorageGBRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum total local storage size for an instance type, in GB.

\n

Default: No minimum or maximum

" + } + }, + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.autoscaling#BaselineEbsBandwidthMbpsRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth performance for an instance type, in Mbps.\n For more information, see Amazon EBS–optimized instances\n in the Amazon EC2 User Guide for Linux Instances.

\n

Default: No minimum or maximum

" + } + }, + "AcceleratorTypes": { + "target": "com.amazonaws.autoscaling#AcceleratorTypes", + "traits": { + "smithy.api#documentation": "

Lists the accelerator types that must be on an instance type.

\n \n

Default: Any accelerator type

" + } + }, + "AcceleratorCount": { + "target": "com.amazonaws.autoscaling#AcceleratorCountRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia\n chips) for an instance type.

\n

To exclude accelerator-enabled instance types, set Max to\n 0.

\n

Default: No minimum or maximum

" + } + }, + "AcceleratorManufacturers": { + "target": "com.amazonaws.autoscaling#AcceleratorManufacturers", + "traits": { + "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific\n manufacturers.

\n \n

Default: Any manufacturer

" + } + }, + "AcceleratorNames": { + "target": "com.amazonaws.autoscaling#AcceleratorNames", + "traits": { + "smithy.api#documentation": "

Lists the accelerators that must be on an instance type.

\n \n

Default: Any accelerator

" + } + }, + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.autoscaling#AcceleratorTotalMemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum total memory size for the accelerators on an instance type, in\n MiB.

\n

Default: No minimum or maximum

" + } + } + }, + "traits": { + "smithy.api#documentation": "

When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

\n \n \n

Represents requirements for the types of instances that can be launched. You\n must specify VCpuCount and MemoryMiB, but all other parameters\n are optional. For more information, see Creating\n an Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

" + } + }, "com.amazonaws.autoscaling#Instances": { "type": "list", "member": { @@ -3979,42 +4388,42 @@ "OnDemandAllocationStrategy": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

Indicates how to allocate instance types to fulfill On-Demand capacity. The only valid\n value is prioritized, which is also the default value. This strategy uses\n the order of instance types in the LaunchTemplateOverrides to define the\n launch priority of each instance type. The first instance type in the array is\n prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled\n using your highest priority instance, then the Auto Scaling groups launches the remaining\n capacity using the second priority instance type, and so on.

" + "smithy.api#documentation": "

The order of the launch template overrides to use in fulfilling On-Demand capacity.

\n

If you specify lowest-price, Amazon EC2 Auto Scaling uses price to determine the order,\n launching the lowest price first.

\n

If you specify prioritized, Amazon EC2 Auto Scaling uses the priority that you assigned\n to each launch template override, launching the highest priority first. If all your\n On-Demand capacity cannot be fulfilled using your highest priority instance, then\n Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so\n on.

\n

Default: lowest-price for Auto Scaling groups that specify InstanceRequirements in the overrides and prioritized for\n Auto Scaling groups that don't.

" } }, "OnDemandBaseCapacity": { "target": "com.amazonaws.autoscaling#OnDemandBaseCapacity", "traits": { - "smithy.api#documentation": "

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand\n Instances. This base portion is provisioned first as your group scales. Defaults to 0 if\n not specified. If you specify weights for the instance types in the overrides, set the\n value of OnDemandBaseCapacity in terms of the number of capacity units, and\n not the number of instances.

" + "smithy.api#documentation": "

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand\n Instances. This base portion is launched first as your group scales.

\n

If you specify weights for the instance types in the overrides, the base capacity is\n measured in the same unit of measurement as the instance types. If you specify InstanceRequirements in the overrides, the base capacity is measured in\n the same unit of measurement as your group's desired capacity.

\n

Default: 0\n

" } }, "OnDemandPercentageAboveBaseCapacity": { "target": "com.amazonaws.autoscaling#OnDemandPercentageAboveBaseCapacity", "traits": { - "smithy.api#documentation": "

Controls the percentages of On-Demand Instances and Spot Instances for your additional\n capacity beyond OnDemandBaseCapacity. Expressed as a number (for example,\n 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults to 100 if not\n specified. If set to 100, only On-Demand Instances are provisioned.

" + "smithy.api#documentation": "

Controls the percentages of On-Demand Instances and Spot Instances for your additional\n capacity beyond OnDemandBaseCapacity. Expressed as a number (for example,\n 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand\n Instances are used.

\n

Default: 100\n

" } }, "SpotAllocationStrategy": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

Indicates how to allocate instances across Spot Instance pools.

\n

If the allocation strategy is lowest-price, the Auto Scaling group launches\n instances using the Spot pools with the lowest price, and evenly allocates your\n instances across the number of Spot pools that you specify. Defaults to\n lowest-price if not specified.

\n

If the allocation strategy is capacity-optimized (recommended), the Auto Scaling\n group launches instances using Spot pools that are optimally chosen based on the\n available Spot capacity. Alternatively, you can use\n capacity-optimized-prioritized and set the order of instance types in\n the list of launch template overrides from highest to lowest priority (from first to\n last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis\n but optimizes for capacity first.

" + "smithy.api#documentation": "

Indicates how to allocate instances across Spot Instance pools.

\n

If the allocation strategy is lowest-price, the Auto Scaling group launches\n instances using the Spot pools with the lowest price, and evenly allocates your\n instances across the number of Spot pools that you specify.

\n

If the allocation strategy is capacity-optimized (recommended), the Auto Scaling\n group launches instances using Spot pools that are optimally chosen based on the\n available Spot capacity. Alternatively, you can use\n capacity-optimized-prioritized and set the order of instance types in\n the list of launch template overrides from highest to lowest priority (from first to\n last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis\n but optimizes for capacity first.

\n

Default: lowest-price\n

" } }, "SpotInstancePools": { "target": "com.amazonaws.autoscaling#SpotInstancePools", "traits": { - "smithy.api#documentation": "

The number of Spot Instance pools across which to allocate your Spot Instances. The\n Spot pools are determined from the different instance types in the overrides. Valid only\n when the Spot allocation strategy is lowest-price. Value must be in the\n range of 1 to 20. Defaults to 2 if not specified.

" + "smithy.api#documentation": "

The number of Spot Instance pools across which to allocate your Spot Instances. The\n Spot pools are determined from the different instance types in the overrides. Valid only\n when the Spot allocation strategy is lowest-price. Value must be in the\n range of 1–20.

\n

Default: 2\n

" } }, "SpotMaxPrice": { "target": "com.amazonaws.autoscaling#MixedInstanceSpotPrice", "traits": { - "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If\n you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the\n maximum Spot price. To remove a value that you previously set, include the property but\n specify an empty string (\"\") for the value.

" + "smithy.api#documentation": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If\n you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses the On-Demand price as\n the maximum Spot price. To remove a value that you previously set, include the property\n but specify an empty string (\"\") for the value.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy.

\n

The instances distribution specifies the distribution of On-Demand Instances and Spot\n Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates\n instance types to fulfill On-Demand and Spot capacities.

\n

When you modify SpotAllocationStrategy, SpotInstancePools,\n or SpotMaxPrice in the UpdateAutoScalingGroup API call,\n this update action does not deploy any changes across the running Amazon EC2 instances\n in the group. Your existing Spot Instances continue to run as long as the maximum price\n for those instances is higher than the current Spot price. When scale out occurs,\n Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling\n terminates instances according to the group's termination policies.

" + "smithy.api#documentation": "

Describes an instances distribution for an Auto Scaling group.

" } }, "com.amazonaws.autoscaling#InstancesToUpdate": { @@ -4265,12 +4674,12 @@ "Overrides": { "target": "com.amazonaws.autoscaling#Overrides", "traits": { - "smithy.api#documentation": "

Any properties that you specify override the same properties in the launch template.\n If not provided, Amazon EC2 Auto Scaling uses the instance type specified in the launch template when\n it launches an instance.

" + "smithy.api#documentation": "

Any properties that you specify override the same properties in the launch template.\n If not provided, Amazon EC2 Auto Scaling uses the instance type or instance type requirements specified\n in the launch template when it launches an instance.

\n

The overrides can include either one or more instance types or a set of instance\n requirements, but not both.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a launch template and overrides.

\n

You specify these properties as part of a mixed instances policy.

\n

When you update the launch template or overrides in the UpdateAutoScalingGroup API call, existing Amazon EC2 instances continue to\n run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When\n scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination\n policies.

" + "smithy.api#documentation": "

Describes a launch template and overrides. You specify these properties as part of a\n mixed instances policy.

" } }, "com.amazonaws.autoscaling#LaunchTemplateName": { @@ -4295,18 +4704,24 @@ "WeightedCapacity": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen32", "traits": { - "smithy.api#documentation": "

The number of capacity units provided by the specified instance type in terms of\n virtual CPUs, memory, storage, throughput, or other relative performance characteristic.\n When a Spot or On-Demand Instance is provisioned, the capacity units count toward the\n desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally\n fulfilled, even if this results in an overage. For example, if there are 2 units\n remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the\n desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.\n Value must be in the range of 1 to 999.

" + "smithy.api#documentation": "

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

" } }, "LaunchTemplateSpecification": { "target": "com.amazonaws.autoscaling#LaunchTemplateSpecification", "traits": { - "smithy.api#documentation": "

Provides the launch template to be used when launching the instance type. For example,\n some instance types might require a launch template with a different AMI. If not\n provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances\n policy. For more information, see Specifying a\n different launch template for an instance type in the\n Amazon EC2 Auto Scaling User Guide.

" + "smithy.api#documentation": "

Provides the launch template to be used when launching the instance type specified in\n InstanceType. For example, some instance types might require a launch\n template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's\n defined for your mixed instances policy. For more information, see Specifying a\n different launch template for an instance type in the\n Amazon EC2 Auto Scaling User Guide.

" + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.autoscaling#InstanceRequirements", + "traits": { + "smithy.api#documentation": "

The instance requirements. When you specify instance requirements, Amazon EC2 Auto Scaling finds\n instance types that satisfy your requirements, and then uses your On-Demand and Spot\n allocation strategies to launch instances from these instance types, in the same way as\n when you specify a list of specific instance types.

" } } }, "traits": { - "smithy.api#documentation": "

Describes an override for a launch template. The maximum number of instance types that\n can be associated with an Auto Scaling group is 40. The maximum number of distinct launch\n templates you can define for an Auto Scaling group is 20. For more information about configuring\n overrides, see Configuring\n overrides in the Amazon EC2 Auto Scaling User Guide.

" + "smithy.api#documentation": "

Describes an override for a launch template. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

" } }, "com.amazonaws.autoscaling#LaunchTemplateSpecification": { @@ -4696,6 +5111,46 @@ "target": "com.amazonaws.autoscaling#LoadForecast" } }, + "com.amazonaws.autoscaling#LocalStorage": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + } + ] + } + }, + "com.amazonaws.autoscaling#LocalStorageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "hdd", + "name": "HDD" + }, + { + "value": "ssd", + "name": "SSD" + } + ] + } + }, + "com.amazonaws.autoscaling#LocalStorageTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#LocalStorageType" + } + }, "com.amazonaws.autoscaling#MaxGroupPreparedCapacity": { "type": "integer", "traits": { @@ -4729,6 +5184,47 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#MemoryGiBPerVCpuRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

The memory minimum in GiB.

" + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

The memory maximum in GiB.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the MemoryGiBPerVCpu object when\n you specify InstanceRequirements for an Auto Scaling group.

" + } + }, + "com.amazonaws.autoscaling#MemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The memory minimum in MiB.

", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The memory maximum in MiB.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the MemoryMiB object when you\n specify InstanceRequirements for an Auto Scaling group.

" + } + }, "com.amazonaws.autoscaling#MetricCollectionType": { "type": "structure", "members": { @@ -4902,18 +5398,18 @@ "LaunchTemplate": { "target": "com.amazonaws.autoscaling#LaunchTemplate", "traits": { - "smithy.api#documentation": "

Specifies the launch template to use and the instance types (overrides) that are used\n to provision EC2 instances to fulfill On-Demand and Spot capacities. Required when\n creating a mixed instances policy.

" + "smithy.api#documentation": "

Specifies the launch template to use and the instance types (overrides) that are used\n to launch EC2 instances to fulfill On-Demand and Spot capacities. Required when creating\n a mixed instances policy.

" } }, "InstancesDistribution": { "target": "com.amazonaws.autoscaling#InstancesDistribution", "traits": { - "smithy.api#documentation": "

Specifies the instances distribution. If not provided, the value for each property in\n InstancesDistribution uses a default value.

" + "smithy.api#documentation": "

Specifies the instances distribution.

" } } }, "traits": { - "smithy.api#documentation": "

Describes a mixed instances policy. A mixed instances policy contains the instance\n types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to\n help you optimize your costs. For more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

" + "smithy.api#documentation": "

Describes a mixed instances policy. A mixed instances policy contains the instance\n types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch\n instances and help optimize your costs. For more information, see Auto Scaling\n groups with multiple instance types and purchase options in the\n Amazon EC2 Auto Scaling User Guide.

" } }, "com.amazonaws.autoscaling#MonitoringEnabled": { @@ -4922,6 +5418,26 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#NetworkInterfaceCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The minimum number of network interfaces.

" + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The maximum number of network interfaces.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the NetworkInterfaceCount object\n when you specify InstanceRequirements for an Auto Scaling group.

" + } + }, "com.amazonaws.autoscaling#NoDevice": { "type": "boolean", "traits": { @@ -4980,6 +5496,30 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } }, + "com.amazonaws.autoscaling#NullableBoolean": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.autoscaling#NullablePositiveDouble": { + "type": "double", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.autoscaling#NullablePositiveInteger": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.autoscaling#NumberOfAutoScalingGroups": { "type": "integer", "traits": { @@ -6882,6 +7422,26 @@ "com.amazonaws.autoscaling#TimestampType": { "type": "timestamp" }, + "com.amazonaws.autoscaling#TotalLocalStorageGBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

The storage minimum in GB.

" + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

The storage maximum in GB.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the TotalLocalStorageGB object when\n you specify InstanceRequirements for an Auto Scaling group.

" + } + }, "com.amazonaws.autoscaling#UpdateAutoScalingGroup": { "type": "operation", "input": { @@ -6927,7 +7487,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

An embedded object that specifies a mixed instances policy. When you make changes to\n an existing policy, all optional properties are left unchanged if not specified. For\n more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

" + "smithy.api#documentation": "

An embedded object that specifies a mixed instances policy. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

" } }, "MinSize": { @@ -7019,7 +7579,34 @@ "traits": { "smithy.api#documentation": "

Reserved.

" } + }, + "DesiredCapacityType": { + "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

Valid values: units | vcpu | memory-mib\n

" + } + } + } + }, + "com.amazonaws.autoscaling#VCpuCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The minimum number of vCPUs.

", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

The maximum number of vCPUs.

" + } } + }, + "traits": { + "smithy.api#documentation": "

Specifies the minimum and maximum for the VCpuCount object when you\n specify InstanceRequirements for an Auto Scaling group.

" } }, "com.amazonaws.autoscaling#Values": { diff --git a/codegen/sdk-codegen/aws-models/chime.2018-05-01.json b/codegen/sdk-codegen/aws-models/chime.2018-05-01.json index b6a6972ddbf..ccb6f4953fe 100644 --- a/codegen/sdk-codegen/aws-models/chime.2018-05-01.json +++ b/codegen/sdk-codegen/aws-models/chime.2018-05-01.json @@ -19698,6 +19698,12 @@ "traits": { "smithy.api#documentation": "

The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.

" } + }, + "VoiceConnectorArn": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The ARN of the specified Amazon Chime Voice Connector.

" + } } }, "traits": { @@ -19751,6 +19757,12 @@ "traits": { "smithy.api#documentation": "

The updated Amazon Chime Voice Connector group time stamp, in ISO 8601 format.

" } + }, + "VoiceConnectorGroupArn": { + "target": "com.amazonaws.chime#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The ARN of the specified Amazon Chime Voice Connector group.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/chimesdkidentity.2021-04-20.json b/codegen/sdk-codegen/aws-models/chimesdkidentity.2021-04-20.json index 7dd7224e1f9..be921a78b93 100644 --- a/codegen/sdk-codegen/aws-models/chimesdkidentity.2021-04-20.json +++ b/codegen/sdk-codegen/aws-models/chimesdkidentity.2021-04-20.json @@ -29,6 +29,21 @@ ] }, "shapes": { + "com.amazonaws.chimesdkidentity#AllowMessages": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL", + "name": "ALL" + }, + { + "value": "NONE", + "name": "NONE" + } + ] + } + }, "com.amazonaws.chimesdkidentity#AppInstance": { "type": "structure", "members": { @@ -197,6 +212,143 @@ "smithy.api#documentation": "

The details of an AppInstanceUser.

" } }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpoint": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

" + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

" + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

The name of the AppInstanceUserEndpoint.

" + } + }, + "Type": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType", + "traits": { + "smithy.api#documentation": "

The type of the AppInstanceUserEndpoint.

" + } + }, + "ResourceArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource to which the endpoint belongs.

" + } + }, + "EndpointAttributes": { + "target": "com.amazonaws.chimesdkidentity#EndpointAttributes", + "traits": { + "smithy.api#documentation": "

The attributes of an Endpoint.

" + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chimesdkidentity#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which an AppInstanceUserEndpoint was created.

" + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chimesdkidentity#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which an AppInstanceUserEndpoint was last updated.

" + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. \n NONE indicates the endpoint will receive no messages.

" + } + }, + "EndpointState": { + "target": "com.amazonaws.chimesdkidentity#EndpointState", + "traits": { + "smithy.api#documentation": "

A read-only field that represents the state of an AppInstanceUserEndpoint. Supported values:

\n " + } + } + }, + "traits": { + "smithy.api#documentation": "

An endpoint under an Amazon Chime AppInstanceUser that receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

" + } + }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummary": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

" + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

" + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

The name of the AppInstanceUserEndpoint.

" + } + }, + "Type": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType", + "traits": { + "smithy.api#documentation": "

The type of the AppInstanceUserEndpoint.

" + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

BBoolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. \n NONE indicates the endpoint will receive no messages.

" + } + }, + "EndpointState": { + "target": "com.amazonaws.chimesdkidentity#EndpointState", + "traits": { + "smithy.api#documentation": "

A read-only field that represent the state of an AppInstanceUserEndpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary of the details of an AppInstanceUserEndpoint.

" + } + }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummary" + } + }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "APNS", + "name": "APNS" + }, + { + "value": "APNS_SANDBOX", + "name": "APNS_SANDBOX" + }, + { + "value": "GCM", + "name": "GCM" + } + ] + } + }, "com.amazonaws.chimesdkidentity#AppInstanceUserList": { "type": "list", "member": { @@ -271,6 +423,21 @@ }, "com.amazonaws.chimesdkidentity#ChimeIdentityService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Chime SDK Identity", + "arnNamespace": "chime", + "cloudFormationName": "ChimeSDKIdentity", + "cloudTrailEventSource": "chimesdkidentity.amazonaws.com", + "endpointPrefix": "identity-chime" + }, + "aws.auth#sigv4": { + "name": "chime" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to Amazon Chime SDK identity.

", + "smithy.api#title": "Amazon Chime SDK Identity" + }, "version": "2021-04-20", "operations": [ { @@ -291,6 +458,9 @@ { "target": "com.amazonaws.chimesdkidentity#DeleteAppInstanceUser" }, + { + "target": "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpoint" + }, { "target": "com.amazonaws.chimesdkidentity#DescribeAppInstance" }, @@ -300,6 +470,9 @@ { "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUser" }, + { + "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpoint" + }, { "target": "com.amazonaws.chimesdkidentity#GetAppInstanceRetentionSettings" }, @@ -309,34 +482,37 @@ { "target": "com.amazonaws.chimesdkidentity#ListAppInstances" }, + { + "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpoints" + }, { "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUsers" }, + { + "target": "com.amazonaws.chimesdkidentity#ListTagsForResource" + }, { "target": "com.amazonaws.chimesdkidentity#PutAppInstanceRetentionSettings" }, + { + "target": "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpoint" + }, + { + "target": "com.amazonaws.chimesdkidentity#TagResource" + }, + { + "target": "com.amazonaws.chimesdkidentity#UntagResource" + }, { "target": "com.amazonaws.chimesdkidentity#UpdateAppInstance" }, { "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUser" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "Chime SDK Identity", - "arnNamespace": "chime", - "cloudFormationName": "ChimeSDKIdentity", - "cloudTrailEventSource": "chimesdkidentity.amazonaws.com", - "endpointPrefix": "identity-chime" - }, - "aws.auth#sigv4": { - "name": "chime" }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to Amazon Chime SDK identity.

", - "smithy.api#title": "Amazon Chime SDK Identity" - } + { + "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpoint" + } + ] }, "com.amazonaws.chimesdkidentity#ClientRequestToken": { "type": "string", @@ -795,6 +971,61 @@ } } }, + "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpointRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Deregisters an AppInstanceUserEndpoint.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}", + "code": 204 + } + } + }, + "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.chimesdkidentity#DescribeAppInstance": { "type": "operation", "input": { @@ -962,6 +1193,75 @@ } } }, + "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the full details of an AppInstanceUserEndpoint.

", + "smithy.api#http": { + "method": "GET", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointResponse": { + "type": "structure", + "members": { + "AppInstanceUserEndpoint": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpoint", + "traits": { + "smithy.api#documentation": "

The full details of an AppInstanceUserEndpoint: the AppInstanceUserArn, ID, name, type, resource ARN, attributes, \n allow messages, state, and created and last updated timestamps. All timestamps use epoch milliseconds.

" + } + } + } + }, "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserRequest": { "type": "structure", "members": { @@ -986,8 +1286,80 @@ } } }, - "com.amazonaws.chimesdkidentity#ErrorCode": { - "type": "string", + "com.amazonaws.chimesdkidentity#EndpointAttributes": { + "type": "structure", + "members": { + "DeviceToken": { + "target": "com.amazonaws.chimesdkidentity#NonEmptySensitiveString1600", + "traits": { + "smithy.api#documentation": "

The device token for the GCM, APNS, and APNS_SANDBOX endpoint types.

", + "smithy.api#required": {} + } + }, + "VoipDeviceToken": { + "target": "com.amazonaws.chimesdkidentity#NonEmptySensitiveString1600", + "traits": { + "smithy.api#documentation": "

The VOIP device token for the APNS and APNS_SANDBOX endpoint types.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The attributes of an Endpoint.

" + } + }, + "com.amazonaws.chimesdkidentity#EndpointState": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.chimesdkidentity#EndpointStatus", + "traits": { + "smithy.api#documentation": "

Enum that indicates the Status of an AppInstanceUserEndpoint.

", + "smithy.api#required": {} + } + }, + "StatusReason": { + "target": "com.amazonaws.chimesdkidentity#EndpointStatusReason", + "traits": { + "smithy.api#documentation": "

The reason for the EndpointStatus.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A read-only field that represents the state of an AppInstanceUserEndpoint. Supported values:

\n " + } + }, + "com.amazonaws.chimesdkidentity#EndpointStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "INACTIVE", + "name": "INACTIVE" + } + ] + } + }, + "com.amazonaws.chimesdkidentity#EndpointStatusReason": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "INVALID_DEVICE_TOKEN", + "name": "INVALID_DEVICE_TOKEN" + }, + { + "value": "INVALID_PINPOINT_ARN", + "name": "INVALID_PINPOINT_ARN" + } + ] + } + }, + "com.amazonaws.chimesdkidentity#ErrorCode": { + "type": "string", "traits": { "smithy.api#enum": [ { @@ -1251,6 +1623,92 @@ } } }, + "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all the AppInstanceUserEndpoints created under a single AppInstanceUser.

", + "smithy.api#http": { + "method": "GET", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.chimesdkidentity#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of endpoints that you want to return.

", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chimesdkidentity#NextToken", + "traits": { + "smithy.api#documentation": "

The token passed by previous API calls until all requested endpoints are returned.

", + "smithy.api#httpQuery": "next-token" + } + } + } + }, + "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsResponse": { + "type": "structure", + "members": { + "AppInstanceUserEndpoints": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummaryList", + "traits": { + "smithy.api#documentation": "

The information for each requested AppInstanceUserEndpoint.

" + } + }, + "NextToken": { + "target": "com.amazonaws.chimesdkidentity#NextToken", + "traits": { + "smithy.api#documentation": "

The token passed by previous API calls until all requested endpoints are returned.

" + } + } + } + }, "com.amazonaws.chimesdkidentity#ListAppInstanceUsers": { "type": "operation", "input": { @@ -1421,6 +1879,67 @@ } } }, + "com.amazonaws.chimesdkidentity#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the tags applied to an Amazon Chime SDK identity resource.

", + "smithy.api#http": { + "method": "GET", + "uri": "/tags", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkidentity#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chimesdkidentity#ChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

", + "smithy.api#httpQuery": "arn", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkidentity#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.chimesdkidentity#TagList", + "traits": { + "smithy.api#documentation": "

The tag key-value pairs.

" + } + } + } + }, "com.amazonaws.chimesdkidentity#MaxResults": { "type": "integer", "traits": { @@ -1464,6 +1983,17 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.chimesdkidentity#NonEmptySensitiveString1600": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chimesdkidentity#PutAppInstanceRetentionSettings": { "type": "operation", "input": { @@ -1538,6 +2068,120 @@ } } }, + "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Registers an endpoint under an Amazon Chime AppInstanceUser. The endpoint receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

", + "smithy.api#http": { + "method": "POST", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints", + "code": 201 + } + } + }, + "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

The name of the AppInstanceUserEndpoint.

" + } + }, + "Type": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType", + "traits": { + "smithy.api#documentation": "

The type of the AppInstanceUserEndpoint. Supported types:

\n \n

Populate the ResourceArn value of each type as PinpointAppArn.

", + "smithy.api#required": {} + } + }, + "ResourceArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource to which the endpoint belongs.

", + "smithy.api#required": {} + } + }, + "EndpointAttributes": { + "target": "com.amazonaws.chimesdkidentity#EndpointAttributes", + "traits": { + "smithy.api#documentation": "

The attributes of an Endpoint.

", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.chimesdkidentity#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

The idempotency token for each client request.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint receives all messages. \n NONE indicates the endpoint receives no messages.

" + } + } + } + }, + "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointResponse": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

" + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

" + } + } + } + }, "com.amazonaws.chimesdkidentity#ResourceLimitExceededException": { "type": "structure", "members": { @@ -1575,6 +2219,39 @@ } } }, + "com.amazonaws.chimesdkidentity#SensitiveChimeArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 1600 + }, + "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkidentity#SensitiveString1600": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1600 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkidentity#SensitiveString64": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chimesdkidentity#ServiceFailureException": { "type": "structure", "members": { @@ -1616,20 +2293,20 @@ "Key": { "target": "com.amazonaws.chimesdkidentity#TagKey", "traits": { - "smithy.api#documentation": "

The key of the tag.

", + "smithy.api#documentation": "

The key in a tag.

", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.chimesdkidentity#TagValue", "traits": { - "smithy.api#documentation": "

The value of the tag.

", + "smithy.api#documentation": "

The value in a tag.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Describes a tag applied to a resource.

" + "smithy.api#documentation": "

A tag object containing a key-value pair.

" } }, "com.amazonaws.chimesdkidentity#TagKey": { @@ -1642,6 +2319,18 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.chimesdkidentity#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkidentity#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.chimesdkidentity#TagList": { "type": "list", "member": { @@ -1654,6 +2343,62 @@ } } }, + "com.amazonaws.chimesdkidentity#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#TagResourceRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Applies the specified tags to the specified Amazon Chime SDK identity resource.

", + "smithy.api#http": { + "method": "POST", + "uri": "/tags?operation=tag-resource", + "code": 204 + } + } + }, + "com.amazonaws.chimesdkidentity#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chimesdkidentity#ChimeArn", + "traits": { + "smithy.api#documentation": "

The resource ARN.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.chimesdkidentity#TagList", + "traits": { + "smithy.api#documentation": "

The tag key-value pairs.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.chimesdkidentity#TagValue": { "type": "string", "traits": { @@ -1699,6 +2444,59 @@ "smithy.api#httpError": 401 } }, + "com.amazonaws.chimesdkidentity#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#UntagResourceRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the specified tags from the specified Amazon Chime SDK identity resource.

", + "smithy.api#http": { + "method": "POST", + "uri": "/tags?operation=untag-resource", + "code": 204 + } + } + }, + "com.amazonaws.chimesdkidentity#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chimesdkidentity#ChimeArn", + "traits": { + "smithy.api#documentation": "

The resource ARN.

", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.chimesdkidentity#TagKeyList", + "traits": { + "smithy.api#documentation": "

The tag keys.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.chimesdkidentity#UpdateAppInstance": { "type": "operation", "input": { @@ -1820,6 +2618,96 @@ } } }, + "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the details of an AppInstanceUserEndpoint. You can update the name and AllowMessage values.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

The name of the AppInstanceUserEndpoint.

" + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. \n NONE indicates the endpoint will receive no messages.

" + } + } + } + }, + "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointResponse": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the AppInstanceUser.

" + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AppInstanceUserEndpoint.

" + } + } + } + }, "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserRequest": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/chimesdkmessaging.2021-05-15.json b/codegen/sdk-codegen/aws-models/chimesdkmessaging.2021-05-15.json index ff3060cfca3..3a7cd1cb339 100644 --- a/codegen/sdk-codegen/aws-models/chimesdkmessaging.2021-05-15.json +++ b/codegen/sdk-codegen/aws-models/chimesdkmessaging.2021-05-15.json @@ -29,6 +29,25 @@ ] }, "shapes": { + "com.amazonaws.chimesdkmessaging#AllowNotifications": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL", + "name": "ALL" + }, + { + "value": "NONE", + "name": "NONE" + }, + { + "value": "FILTERED", + "name": "FILTERED" + } + ] + } + }, "com.amazonaws.chimesdkmessaging#AppInstanceUserMembershipSummary": { "type": "structure", "members": { @@ -208,7 +227,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the member that the service couldn't add.

" + "smithy.api#documentation": "

The AppInstanceUserArn of the member that the service couldn't add.

" } }, "ErrorCode": { @@ -254,7 +273,7 @@ "MemberArns": { "target": "com.amazonaws.chimesdkmessaging#MemberArns", "traits": { - "smithy.api#documentation": "

The ARNs of the members you want to add to the channel.

", + "smithy.api#documentation": "

The AppInstanceUserArns of the members you want to add to the channel.

", "smithy.api#required": {} } }, @@ -699,6 +718,20 @@ "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipForAppInstanceUserSummary" } }, + "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences": { + "type": "structure", + "members": { + "PushNotifications": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationPreferences", + "traits": { + "smithy.api#documentation": "

The push notification configuration of a message.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The channel membership preferences for an AppInstanceUser.

" + } + }, "com.amazonaws.chimesdkmessaging#ChannelMembershipSummary": { "type": "structure", "members": { @@ -808,6 +841,12 @@ "traits": { "smithy.api#documentation": "

The status of the channel message.

" } + }, + "MessageAttributes": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeMap", + "traits": { + "smithy.api#documentation": "

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

" + } } }, "traits": { @@ -961,6 +1000,12 @@ "traits": { "smithy.api#documentation": "

The message status. The status value is SENT for messages sent to a channel without a channel flow. For channels associated with channel flow, the value determines the \n processing stage.

" } + }, + "MessageAttributes": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeMap", + "traits": { + "smithy.api#documentation": "

The message attribues listed in a the summary of a channel message.

" + } } }, "traits": { @@ -1220,6 +1265,9 @@ { "target": "com.amazonaws.chimesdkmessaging#DisassociateChannelFlow" }, + { + "target": "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferences" + }, { "target": "com.amazonaws.chimesdkmessaging#GetChannelMessage" }, @@ -1259,6 +1307,9 @@ { "target": "com.amazonaws.chimesdkmessaging#ListTagsForResource" }, + { + "target": "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferences" + }, { "target": "com.amazonaws.chimesdkmessaging#RedactChannelMessage" }, @@ -1438,7 +1489,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the member being banned.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the member being banned.

", "smithy.api#required": {} } }, @@ -1597,7 +1648,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds a user to a channel. The InvitedBy response field is derived from the\n request header. A channel member can:

\n\n \n\n

Privacy settings impact this action as follows:

\n\n \n\n \n

The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

\n
", + "smithy.api#documentation": "

Adds a user to a channel. The InvitedBy field in ChannelMembership is derived from the\n request header. A channel member can:

\n\n \n\n

Privacy settings impact this action as follows:

\n\n \n\n \n

The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

\n
", "smithy.api#http": { "method": "POST", "uri": "/channels/{ChannelArn}/memberships", @@ -1619,7 +1670,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the member you want to add to the channel.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the member you want to add to the channel.

", "smithy.api#required": {} } }, @@ -1714,7 +1765,7 @@ "ChannelModeratorArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the moderator.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the moderator.

", "smithy.api#required": {} } }, @@ -2013,7 +2064,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the member that you're removing from the channel.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the member that you're removing from the channel.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2139,7 +2190,7 @@ "ChannelModeratorArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the moderator being deleted.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the moderator being deleted.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2266,7 +2317,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the member being banned.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the member being banned.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2484,7 +2535,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the member.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the member.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2641,7 +2692,7 @@ "ChannelModeratorArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

The ARN of the channel moderator.

", + "smithy.api#documentation": "

The AppInstanceUserArn of the channel moderator.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2850,6 +2901,16 @@ ] } }, + "com.amazonaws.chimesdkmessaging#FilterRule": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chimesdkmessaging#ForbiddenException": { "type": "structure", "members": { @@ -2866,6 +2927,92 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkmessaging#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. \n Only the AppInstanceUser who owns the membership can retrieve preferences. Users in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users. \n Banned users can't retrieve membership preferences for the channel from which they are banned.

", + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/memberships/{MemberArn}/preferences", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the channel.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The AppInstanceUserArn of the member retrieving the preferences.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChimeBearer": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The AppInstanceUserARN of the user making the API call.

", + "smithy.api#httpHeader": "x-amz-chime-bearer", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the channel.

" + } + }, + "Member": { + "target": "com.amazonaws.chimesdkmessaging#Identity" + }, + "Preferences": { + "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences", + "traits": { + "smithy.api#documentation": "

The channel membership preferences for an AppInstanceUser .

" + } + } + } + }, "com.amazonaws.chimesdkmessaging#GetChannelMessage": { "type": "operation", "input": { @@ -3350,7 +3497,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all channel memberships in a channel.

\n\n \n\n

The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

\n
", + "smithy.api#documentation": "

Lists all channel memberships in a channel.

\n\n \n

The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

\n
\n \n

If you want to list the channels to which a specific app instance user belongs, see the \n ListChannelMembershipsForAppInstanceUser API.

", "smithy.api#http": { "method": "GET", "uri": "/channels/{ChannelArn}/memberships", @@ -4111,6 +4258,57 @@ "target": "com.amazonaws.chimesdkmessaging#Identity" } }, + "com.amazonaws.chimesdkmessaging#MessageAttributeMap": { + "type": "map", + "key": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeName" + }, + "value": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeValue" + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeStringValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeStringValues": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeStringValue" + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeValue": { + "type": "structure", + "members": { + "StringValues": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeStringValues", + "traits": { + "smithy.api#documentation": "

The strings in a message attribute value.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of message attribute values.

" + } + }, "com.amazonaws.chimesdkmessaging#MessageId": { "type": "string", "traits": { @@ -4224,7 +4422,7 @@ "FallbackAction": { "target": "com.amazonaws.chimesdkmessaging#FallbackAction", "traits": { - "smithy.api#documentation": "

Determines whether to continue or stop processing if communication with processor fails. If the last processor in a channel flow sequence has a fallback action of CONTINUE, and communication \n with the processor fails, the message is considered processed and sent to the recipients in the channel.

", + "smithy.api#documentation": "

Determines whether to continue with message processing or stop it in cases where communication with a processor fails. If a processor has a fallback action of ABORT and \n communication with it fails, the processor sets the message status to FAILED and does not send the message to any recipients. Note that if the last processor in the channel flow sequence \n has a fallback action of CONTINUE and communication with the processor fails, then the message is considered processed and sent to recipients of the channel.

", "smithy.api#required": {} } } @@ -4260,6 +4458,189 @@ } } }, + "com.amazonaws.chimesdkmessaging#PushNotificationBody": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 150 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationConfiguration": { + "type": "structure", + "members": { + "Title": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationTitle", + "traits": { + "smithy.api#documentation": "

The title of the push notification.

", + "smithy.api#required": {} + } + }, + "Body": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationBody", + "traits": { + "smithy.api#documentation": "

The body of the push notification.

", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationType", + "traits": { + "smithy.api#documentation": "

Enum value that indicates the type of the push notification for a message.\n DEFAULT: Normal mobile push notification.\n VOIP: VOIP mobile push notification.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The push notification configuration of the message.

" + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationPreferences": { + "type": "structure", + "members": { + "AllowNotifications": { + "target": "com.amazonaws.chimesdkmessaging#AllowNotifications", + "traits": { + "smithy.api#documentation": "

Enum value that indicates which push notifications to send to the requested member of a channel.\n ALL sends all push notifications, NONE sends no push notifications, FILTERED sends only filtered push notifications. \n

", + "smithy.api#required": {} + } + }, + "FilterRule": { + "target": "com.amazonaws.chimesdkmessaging#FilterRule", + "traits": { + "smithy.api#documentation": "

The simple JSON object used to send a subset of a push notification to the requsted member.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The channel membership preferences for push notification.

" + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DEFAULT", + "name": "DEFAULT" + }, + { + "value": "VOIP", + "name": "VOIP" + } + ] + } + }, + "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkmessaging#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

Sets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. \n Only the AppInstanceUser who owns the membership can set preferences. Users in the AppInstanceAdmin and channel moderator roles can't set preferences for other users. \n Banned users can't set membership preferences for the channel from which they are banned.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/channels/{ChannelArn}/memberships/{MemberArn}/preferences", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the channel.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The AppInstanceUserArn of the member setting the preferences.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChimeBearer": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The AppInstanceUserARN of the user making the API call.

", + "smithy.api#httpHeader": "x-amz-chime-bearer", + "smithy.api#required": {} + } + }, + "Preferences": { + "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences", + "traits": { + "smithy.api#documentation": "

The channel membership preferences of an AppInstanceUser .

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

The ARN of the channel.

" + } + }, + "Member": { + "target": "com.amazonaws.chimesdkmessaging#Identity" + }, + "Preferences": { + "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences", + "traits": { + "smithy.api#documentation": "

The ARN and metadata of the member being added.

" + } + } + } + }, "com.amazonaws.chimesdkmessaging#RedactChannelMessage": { "type": "operation", "input": { @@ -4463,6 +4844,18 @@ "smithy.api#httpHeader": "x-amz-chime-bearer", "smithy.api#required": {} } + }, + "PushNotification": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationConfiguration", + "traits": { + "smithy.api#documentation": "

The push notification configuration of the message.

" + } + }, + "MessageAttributes": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeMap", + "traits": { + "smithy.api#documentation": "

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/cloudfront.2020-05-31.json b/codegen/sdk-codegen/aws-models/cloudfront.2020-05-31.json index 4d7a5ca6edb..922bd196245 100644 --- a/codegen/sdk-codegen/aws-models/cloudfront.2020-05-31.json +++ b/codegen/sdk-codegen/aws-models/cloudfront.2020-05-31.json @@ -29,6 +29,42 @@ ] }, "shapes": { + "com.amazonaws.cloudfront#AccessControlAllowHeadersList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#xmlName": "Header" + } + } + }, + "com.amazonaws.cloudfront#AccessControlAllowMethodsList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowMethodsValues", + "traits": { + "smithy.api#xmlName": "Method" + } + } + }, + "com.amazonaws.cloudfront#AccessControlAllowOriginsList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#xmlName": "Origin" + } + } + }, + "com.amazonaws.cloudfront#AccessControlExposeHeadersList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#xmlName": "Header" + } + } + }, "com.amazonaws.cloudfront#AccessDenied": { "type": "structure", "members": { @@ -76,26 +112,26 @@ "Enabled": { "target": "com.amazonaws.cloudfront#boolean", "traits": { - "smithy.api#documentation": "

This field is true if any of the accounts in the list have active CloudFront\n\t\t\tkey pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies.\n\t\t\tIf not, this field is false.

", + "smithy.api#documentation": "

This field is true if any of the Amazon Web Services accounts in the list have active CloudFront\n\t\t\tkey pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies.\n\t\t\tIf not, this field is false.

", "smithy.api#required": {} } }, "Quantity": { "target": "com.amazonaws.cloudfront#integer", "traits": { - "smithy.api#documentation": "

The number of accounts in the list.

", + "smithy.api#documentation": "

The number of Amazon Web Services accounts in the list.

", "smithy.api#required": {} } }, "Items": { "target": "com.amazonaws.cloudfront#SignerList", "traits": { - "smithy.api#documentation": "

A list of accounts and the identifiers of active CloudFront key pairs in each account that\n\t\t\tCloudFront can use to verify the signatures of signed URLs and signed cookies.

" + "smithy.api#documentation": "

A list of Amazon Web Services accounts and the identifiers of active CloudFront key pairs in each account that\n\t\t\tCloudFront can use to verify the signatures of signed URLs and signed cookies.

" } } }, "traits": { - "smithy.api#documentation": "

A list of accounts and the active CloudFront key pairs in each account that CloudFront can use\n\t\t\tto verify the signatures of signed URLs and signed cookies.

" + "smithy.api#documentation": "

A list of Amazon Web Services accounts and the active CloudFront key pairs in each account that CloudFront can use\n\t\t\tto verify the signatures of signed URLs and signed cookies.

" } }, "com.amazonaws.cloudfront#AliasICPRecordal": { @@ -289,7 +325,7 @@ "TrustedSigners": { "target": "com.amazonaws.cloudfront#TrustedSigners", "traits": { - "smithy.api#documentation": "\n\t\t\t

We recommend using TrustedKeyGroups instead of\n\t\t\t\tTrustedSigners.

\n\t\t
\n\t\t

A list of account IDs whose public keys CloudFront can use to validate signed URLs or signed\n\t\t\tcookies.

\n\t\t

When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies\n\t\t\tfor all requests that match the cache behavior. The URLs or cookies must be signed with\n\t\t\tthe private key of a CloudFront key pair in the trusted signer’s account. The signed URL\n\t\t\tor cookie contains information about which public key CloudFront should use to verify the\n\t\t\tsignature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.

" + "smithy.api#documentation": "\n\t\t\t

We recommend using TrustedKeyGroups instead of\n\t\t\t\tTrustedSigners.

\n\t\t
\n\t\t

A list of Amazon Web Services account IDs whose public keys CloudFront can use to validate signed URLs or signed\n\t\t\tcookies.

\n\t\t

When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies\n\t\t\tfor all requests that match the cache behavior. The URLs or cookies must be signed with\n\t\t\tthe private key of a CloudFront key pair in the trusted signer’s Amazon Web Services account. The signed URL\n\t\t\tor cookie contains information about which public key CloudFront should use to verify the\n\t\t\tsignature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.

" } }, "TrustedKeyGroups": { @@ -356,6 +392,12 @@ "smithy.api#documentation": "

The unique identifier of the origin request policy that is attached to this cache behavior.\n\t\t\tFor more information, see Creating origin request policies or Using the managed origin request policies in the\n\t\t\tAmazon CloudFront Developer Guide.

" } }, + "ResponseHeadersPolicyId": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The identifier for a response headers policy.

" + } + }, "ForwardedValues": { "target": "com.amazonaws.cloudfront#ForwardedValues", "traits": { @@ -678,7 +720,7 @@ "Type": { "target": "com.amazonaws.cloudfront#CachePolicyType", "traits": { - "smithy.api#documentation": "

The type of cache policy, either managed (created by Amazon Web Services) or\n\t\t\tcustom (created in this account).

", + "smithy.api#documentation": "

The type of cache policy, either managed (created by Amazon Web Services) or\n\t\t\tcustom (created in this Amazon Web Services account).

", "smithy.api#required": {} } }, @@ -881,14 +923,14 @@ "Quantity": { "target": "com.amazonaws.cloudfront#integer", "traits": { - "smithy.api#documentation": "

The number of CloudFront origin access identities that were created by the current account.

", + "smithy.api#documentation": "

The number of CloudFront origin access identities that were created by the current Amazon Web Services account.

", "smithy.api#required": {} } }, "Items": { "target": "com.amazonaws.cloudfront#CloudFrontOriginAccessIdentitySummaryList", "traits": { - "smithy.api#documentation": "

A complex type that contains one CloudFrontOriginAccessIdentitySummary \n\t\t\telement for each origin access identity that was created by the current account.

" + "smithy.api#documentation": "

A complex type that contains one CloudFrontOriginAccessIdentitySummary \n\t\t\telement for each origin access identity that was created by the current Amazon Web Services account.

" } } }, @@ -936,6 +978,24 @@ }, "com.amazonaws.cloudfront#Cloudfront2020_05_31": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "CloudFront", + "arnNamespace": "cloudfront", + "cloudFormationName": "CloudFront", + "cloudTrailEventSource": "cloudfront.amazonaws.com", + "endpointPrefix": "cloudfront" + }, + "aws.auth#sigv4": { + "name": "cloudfront" + }, + "aws.protocols#restXml": {}, + "smithy.api#documentation": "Amazon CloudFront\n\t\t

This is the Amazon CloudFront API Reference. This guide\n is for developers who need detailed information about \n\t\t\tCloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

", + "smithy.api#title": "Amazon CloudFront", + "smithy.api#xmlNamespace": { + "uri": "http://cloudfront.amazonaws.com/doc/2020-05-31/" + } + }, "version": "2020-05-31", "operations": [ { @@ -980,6 +1040,9 @@ { "target": "com.amazonaws.cloudfront#CreateRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#CreateResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#CreateStreamingDistribution" }, @@ -1019,6 +1082,9 @@ { "target": "com.amazonaws.cloudfront#DeleteRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#DeleteResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#DeleteStreamingDistribution" }, @@ -1085,6 +1151,12 @@ { "target": "com.amazonaws.cloudfront#GetRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#GetResponseHeadersPolicy" + }, + { + "target": "com.amazonaws.cloudfront#GetResponseHeadersPolicyConfig" + }, { "target": "com.amazonaws.cloudfront#GetStreamingDistribution" }, @@ -1115,6 +1187,9 @@ { "target": "com.amazonaws.cloudfront#ListDistributionsByRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#ListDistributionsByResponseHeadersPolicyId" + }, { "target": "com.amazonaws.cloudfront#ListDistributionsByWebACLId" }, @@ -1142,6 +1217,9 @@ { "target": "com.amazonaws.cloudfront#ListRealtimeLogConfigs" }, + { + "target": "com.amazonaws.cloudfront#ListResponseHeadersPolicies" + }, { "target": "com.amazonaws.cloudfront#ListStreamingDistributions" }, @@ -1191,27 +1269,12 @@ "target": "com.amazonaws.cloudfront#UpdateRealtimeLogConfig" }, { - "target": "com.amazonaws.cloudfront#UpdateStreamingDistribution" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "CloudFront", - "arnNamespace": "cloudfront", - "cloudFormationName": "CloudFront", - "cloudTrailEventSource": "cloudfront.amazonaws.com", - "endpointPrefix": "cloudfront" - }, - "aws.auth#sigv4": { - "name": "cloudfront" + "target": "com.amazonaws.cloudfront#UpdateResponseHeadersPolicy" }, - "aws.protocols#restXml": {}, - "smithy.api#documentation": "Amazon CloudFront\n\t\t

This is the Amazon CloudFront API Reference. This guide\n is for developers who need detailed information about \n\t\t\tCloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

", - "smithy.api#title": "Amazon CloudFront", - "smithy.api#xmlNamespace": { - "uri": "http://cloudfront.amazonaws.com/doc/2020-05-31/" + { + "target": "com.amazonaws.cloudfront#UpdateStreamingDistribution" } - } + ] }, "com.amazonaws.cloudfront#CommentType": { "type": "string", @@ -1687,6 +1750,9 @@ { "target": "com.amazonaws.cloudfront#NoSuchRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#RealtimeLogConfigOwnerMismatch" }, @@ -1717,6 +1783,9 @@ { "target": "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToOriginRequestPolicy" }, + { + "target": "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#TooManyDistributionsWithFunctionAssociations" }, @@ -1926,6 +1995,9 @@ { "target": "com.amazonaws.cloudfront#NoSuchRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#RealtimeLogConfigOwnerMismatch" }, @@ -1956,6 +2028,9 @@ { "target": "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToOriginRequestPolicy" }, + { + "target": "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#TooManyDistributionsWithFunctionAssociations" }, @@ -2752,6 +2827,83 @@ } } }, + "com.amazonaws.cloudfront#CreateResponseHeadersPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#CreateResponseHeadersPolicyRequest" + }, + "output": { + "target": "com.amazonaws.cloudfront#CreateResponseHeadersPolicyResult" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#InconsistentQuantities" + }, + { + "target": "com.amazonaws.cloudfront#InvalidArgument" + }, + { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAlreadyExists" + }, + { + "target": "com.amazonaws.cloudfront#TooManyCustomHeadersInResponseHeadersPolicy" + }, + { + "target": "com.amazonaws.cloudfront#TooManyResponseHeadersPolicies" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a response headers policy.

\n\t\t

A response headers policy contains information about a set of HTTP response headers\n\t\t\tand their values. To create a response headers policy, you provide some metadata about\n\t\t\tthe policy, and a set of configurations that specify the response headers.

\n\t\t

After you create a response headers policy, you can use its ID to attach it to one or more\n\t\t\tcache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront\n\t\t\tadds the headers in the policy to HTTP responses that it sends for requests that match\n\t\t\tthe cache behavior.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2020-05-31/response-headers-policy", + "code": 201 + } + } + }, + "com.amazonaws.cloudfront#CreateResponseHeadersPolicyRequest": { + "type": "structure", + "members": { + "ResponseHeadersPolicyConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyConfig", + "traits": { + "smithy.api#documentation": "

Contains metadata about the response headers policy, and a set of configurations that\n\t\t\tspecify the response headers.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "ResponseHeadersPolicyConfig" + } + } + } + }, + "com.amazonaws.cloudfront#CreateResponseHeadersPolicyResult": { + "type": "structure", + "members": { + "ResponseHeadersPolicy": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicy", + "traits": { + "smithy.api#documentation": "

Contains a response headers policy.

", + "smithy.api#httpPayload": {} + } + }, + "Location": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The URL of the response headers policy.

", + "smithy.api#httpHeader": "Location" + } + }, + "ETag": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The version identifier for the current version of the response headers policy.

", + "smithy.api#httpHeader": "ETag" + } + } + } + }, "com.amazonaws.cloudfront#CreateStreamingDistribution": { "type": "operation", "input": { @@ -3101,7 +3253,7 @@ "TrustedSigners": { "target": "com.amazonaws.cloudfront#TrustedSigners", "traits": { - "smithy.api#documentation": "\n\t\t\t

We recommend using TrustedKeyGroups instead of\n\t\t\t\tTrustedSigners.

\n\t\t
\n\t\t

A list of account IDs whose public keys CloudFront can use to validate signed URLs or signed\n\t\t\tcookies.

\n\t\t

When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies\n\t\t\tfor all requests that match the cache behavior. The URLs or cookies must be signed with\n\t\t\tthe private key of a CloudFront key pair in a trusted signer’s account. The signed URL or\n\t\t\tcookie contains information about which public key CloudFront should use to verify the\n\t\t\tsignature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.

" + "smithy.api#documentation": "\n\t\t\t

We recommend using TrustedKeyGroups instead of\n\t\t\t\tTrustedSigners.

\n\t\t
\n\t\t

A list of Amazon Web Services account IDs whose public keys CloudFront can use to validate signed URLs or signed\n\t\t\tcookies.

\n\t\t

When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies\n\t\t\tfor all requests that match the cache behavior. The URLs or cookies must be signed with\n\t\t\tthe private key of a CloudFront key pair in a trusted signer’s Amazon Web Services account. The signed URL or\n\t\t\tcookie contains information about which public key CloudFront should use to verify the\n\t\t\tsignature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.

" } }, "TrustedKeyGroups": { @@ -3168,6 +3320,12 @@ "smithy.api#documentation": "

The unique identifier of the origin request policy that is attached to the default cache\n\t\t\tbehavior. For more information, see Creating origin request policies or Using the managed origin request policies in the\n\t\t\tAmazon CloudFront Developer Guide.

" } }, + "ResponseHeadersPolicyId": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The identifier for a response headers policy.

" + } + }, "ForwardedValues": { "target": "com.amazonaws.cloudfront#ForwardedValues", "traits": { @@ -3760,6 +3918,60 @@ } } }, + "com.amazonaws.cloudfront#DeleteResponseHeadersPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#DeleteResponseHeadersPolicyRequest" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#IllegalDelete" + }, + { + "target": "com.amazonaws.cloudfront#InvalidIfMatchVersion" + }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + }, + { + "target": "com.amazonaws.cloudfront#PreconditionFailed" + }, + { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyInUse" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a response headers policy.

\n\t\t

You cannot delete a response headers policy if it’s attached to a cache behavior.\n\t\t\tFirst update your distributions to remove the response headers policy from all cache\n\t\t\tbehaviors, then delete the response headers policy.

\n\t\t

To delete a response headers policy, you must provide the policy’s identifier and\n\t\t\tversion. To get these values, you can use ListResponseHeadersPolicies or\n\t\t\t\tGetResponseHeadersPolicy.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/2020-05-31/response-headers-policy/{Id}", + "code": 204 + } + } + }, + "com.amazonaws.cloudfront#DeleteResponseHeadersPolicyRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The identifier for the response headers policy that you are deleting.

\n\t\t

To get the identifier, you can use ListResponseHeadersPolicies.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "IfMatch": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The version of the response headers policy that you are deleting.

\n\t\t

The version is the response headers policy’s ETag value, which you can\n\t\t\tget using ListResponseHeadersPolicies,\n\t\t\t\tGetResponseHeadersPolicy, or\n\t\t\t\tGetResponseHeadersPolicyConfig.

", + "smithy.api#httpHeader": "If-Match" + } + } + } + }, "com.amazonaws.cloudfront#DeleteStreamingDistribution": { "type": "operation", "input": { @@ -3891,7 +4103,7 @@ "ARN": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the distribution. For example: \n\t\t\t\tarn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where \n\t\t\t\t123456789012 is your account ID.

", + "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the distribution. For example: \n\t\t\t\tarn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where \n\t\t\t\t123456789012 is your Amazon Web Services account ID.

", "smithy.api#required": {} } }, @@ -3926,7 +4138,7 @@ "ActiveTrustedSigners": { "target": "com.amazonaws.cloudfront#ActiveTrustedSigners", "traits": { - "smithy.api#documentation": "\n\t\t\t

We recommend using TrustedKeyGroups instead of\n\t\t\t\tTrustedSigners.

\n\t\t
\n\t\t

CloudFront automatically adds this field to the response if you’ve configured a cache behavior in\n\t\t\tthis distribution to serve private content using trusted signers. This field contains a\n\t\t\tlist of account IDs and the active CloudFront key pairs in each account that CloudFront can use\n\t\t\tto verify the signatures of signed URLs or signed cookies.

" + "smithy.api#documentation": "\n\t\t\t

We recommend using TrustedKeyGroups instead of\n\t\t\t\tTrustedSigners.

\n\t\t
\n\t\t

CloudFront automatically adds this field to the response if you’ve configured a cache behavior in\n\t\t\tthis distribution to serve private content using trusted signers. This field contains a\n\t\t\tlist of Amazon Web Services account IDs and the active CloudFront key pairs in each account that CloudFront can use\n\t\t\tto verify the signatures of signed URLs or signed cookies.

" } }, "ActiveTrustedKeyGroups": { @@ -4073,7 +4285,7 @@ "IsIPV6Enabled": { "target": "com.amazonaws.cloudfront#boolean", "traits": { - "smithy.api#documentation": "

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your \n\t\t\tdistribution, specify true. If you specify false, CloudFront responds to \n\t\t\tIPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. \n\t\t\tThis allows viewers to submit a second request, for an IPv4 address for your distribution.

\n\t\t

In general, you should enable IPv6 if you have users on IPv6 networks who want to \n\t\t\taccess your content. However, if you're using signed URLs or signed cookies to restrict access \n\t\t\tto your content, and if you're using a custom policy that includes the IpAddress \n\t\t\tparameter to restrict the IP addresses that can access your content, don't enable IPv6. If \n\t\t\tyou want to restrict access to some content by IP address and not restrict access to other \n\t\t\tcontent (or restrict access but not by IP address), you can create two distributions. For more \n\t\t\tinformation, see \n\t\t\tCreating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

\n\t\t

If you're using an Route 53 Amazon Web Services Integration alias resource record set to route traffic to your CloudFront \n\t\t\tdistribution, you need to create a second alias resource record set when both of the following \n\t\t\tare true:

\n\t\t \n\t\t

For more information, see Routing Traffic \n\t\t\t\tto an Amazon CloudFront Web Distribution by Using Your Domain Name in the Route 53 Amazon Web Services Integration \n\t\t\t\tDeveloper Guide.

\n\t\t

If you created a CNAME resource record set, either with Route 53 Amazon Web Services Integration or with another DNS \n\t\t\tservice, you don't need to make any changes. A CNAME record will route traffic to your \n\t\t\tdistribution regardless of the IP address format of the viewer request.

" + "smithy.api#documentation": "

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your \n\t\t\tdistribution, specify true. If you specify false, CloudFront responds to \n\t\t\tIPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. \n\t\t\tThis allows viewers to submit a second request, for an IPv4 address for your distribution.

\n\t\t

In general, you should enable IPv6 if you have users on IPv6 networks who want to \n\t\t\taccess your content. However, if you're using signed URLs or signed cookies to restrict access \n\t\t\tto your content, and if you're using a custom policy that includes the IpAddress \n\t\t\tparameter to restrict the IP addresses that can access your content, don't enable IPv6. If \n\t\t\tyou want to restrict access to some content by IP address and not restrict access to other \n\t\t\tcontent (or restrict access but not by IP address), you can create two distributions. For more \n\t\t\tinformation, see \n\t\t\tCreating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

\n\t\t

If you're using an Route 53 Amazon Web Services Integration alias resource record set to route traffic to your CloudFront \n\t\t\tdistribution, you need to create a second alias resource record set when both of the following \n\t\t\tare true:

\n\t\t \n\t\t

For more information, see Routing Traffic \n\t\t\t\tto an Amazon CloudFront Web Distribution by Using Your Domain Name in the Route 53 Amazon Web Services Integration \n\t\t\t\tDeveloper Guide.

\n\t\t

If you created a CNAME resource record set, either with Route 53 Amazon Web Services Integration or with another DNS \n\t\t\tservice, you don't need to make any changes. A CNAME record will route traffic to your \n\t\t\tdistribution regardless of the IP address format of the viewer request.

" } } }, @@ -4193,14 +4405,14 @@ "Quantity": { "target": "com.amazonaws.cloudfront#integer", "traits": { - "smithy.api#documentation": "

The number of distributions that were created by the current account.

", + "smithy.api#documentation": "

The number of distributions that were created by the current Amazon Web Services account.

", "smithy.api#required": {} } }, "Items": { "target": "com.amazonaws.cloudfront#DistributionSummaryList", "traits": { - "smithy.api#documentation": "

A complex type that contains one DistributionSummary element for each \n\t\t\tdistribution that was created by the current account.

" + "smithy.api#documentation": "

A complex type that contains one DistributionSummary element for each \n\t\t\tdistribution that was created by the current Amazon Web Services account.

" } } }, @@ -4234,7 +4446,7 @@ "ARN": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the distribution. For example: \n\t\t\t\tarn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where \n\t\t\t\t123456789012 is your account ID.

", + "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the distribution. For example: \n\t\t\t\tarn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where \n\t\t\t\t123456789012 is your Amazon Web Services account ID.

", "smithy.api#required": {} } }, @@ -4928,6 +5140,21 @@ "smithy.api#documentation": "

This field is deprecated. We recommend that you use a cache policy or an origin\n\t\t\trequest policy instead of this field.

\n\t\t

If you want to include values in the cache key, use a cache policy. For more information,\n\t\t\tsee Creating cache policies in the Amazon CloudFront Developer Guide.

\n\t\t

If you want to send values to the origin but not include them in the cache key, use an\n\t\t\torigin request policy. For more information, see Creating origin request policies in the\n\t\t\tAmazon CloudFront Developer Guide.

\n\t\t

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" } }, + "com.amazonaws.cloudfront#FrameOptionsList": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DENY", + "name": "DENY" + }, + { + "value": "SAMEORIGIN", + "name": "SAMEORIGIN" + } + ] + } + }, "com.amazonaws.cloudfront#FunctionARN": { "type": "string", "traits": { @@ -4946,7 +5173,7 @@ } }, "traits": { - "smithy.api#documentation": "

A function with the same name already exists in this account. To create a\n\t\t\tfunction, you must provide a unique name. To update an existing function, use\n\t\t\tUpdateFunction.

", + "smithy.api#documentation": "

A function with the same name already exists in this Amazon Web Services account. To create a\n\t\t\tfunction, you must provide a unique name. To update an existing function, use\n\t\t\tUpdateFunction.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -5049,6 +5276,9 @@ "type": "list", "member": { "target": "com.amazonaws.cloudfront#string" + }, + "traits": { + "smithy.api#sensitive": {} } }, "com.amazonaws.cloudfront#FunctionInUse": { @@ -6485,113 +6715,227 @@ } } }, - "com.amazonaws.cloudfront#GetStreamingDistribution": { + "com.amazonaws.cloudfront#GetResponseHeadersPolicy": { "type": "operation", "input": { - "target": "com.amazonaws.cloudfront#GetStreamingDistributionRequest" + "target": "com.amazonaws.cloudfront#GetResponseHeadersPolicyRequest" }, "output": { - "target": "com.amazonaws.cloudfront#GetStreamingDistributionResult" + "target": "com.amazonaws.cloudfront#GetResponseHeadersPolicyResult" }, "errors": [ { "target": "com.amazonaws.cloudfront#AccessDenied" }, { - "target": "com.amazonaws.cloudfront#NoSuchStreamingDistribution" + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" } ], "traits": { - "smithy.api#documentation": "

Gets information about a specified RTMP distribution, including the distribution configuration.

", + "smithy.api#documentation": "

Gets a response headers policy, including metadata (the policy’s identifier and the date and\n\t\t\ttime when the policy was last modified).

\n\t\t

To get a response headers policy, you must provide the policy’s identifier. If the\n\t\t\tresponse headers policy is attached to a distribution’s cache behavior, you can get the\n\t\t\tpolicy’s identifier using ListDistributions or\n\t\t\tGetDistribution. If the response headers policy is not attached to a cache\n\t\t\tbehavior, you can get the identifier using\n\t\t\tListResponseHeadersPolicies.

", "smithy.api#http": { "method": "GET", - "uri": "/2020-05-31/streaming-distribution/{Id}", + "uri": "/2020-05-31/response-headers-policy/{Id}", "code": 200 - }, - "smithy.waiters#waitable": { - "StreamingDistributionDeployed": { - "documentation": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "state": "success", - "matcher": { - "output": { - "path": "StreamingDistribution.Status", - "expected": "Deployed", - "comparator": "stringEquals" - } - } - } - ], - "minDelay": 60 - } } } }, - "com.amazonaws.cloudfront#GetStreamingDistributionConfig": { + "com.amazonaws.cloudfront#GetResponseHeadersPolicyConfig": { "type": "operation", "input": { - "target": "com.amazonaws.cloudfront#GetStreamingDistributionConfigRequest" + "target": "com.amazonaws.cloudfront#GetResponseHeadersPolicyConfigRequest" }, "output": { - "target": "com.amazonaws.cloudfront#GetStreamingDistributionConfigResult" + "target": "com.amazonaws.cloudfront#GetResponseHeadersPolicyConfigResult" }, "errors": [ { "target": "com.amazonaws.cloudfront#AccessDenied" }, { - "target": "com.amazonaws.cloudfront#NoSuchStreamingDistribution" + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" } ], "traits": { - "smithy.api#documentation": "

Get the configuration information about a streaming distribution.

", + "smithy.api#documentation": "

Gets a response headers policy configuration.

\n\t\t

To get a response headers policy configuration, you must provide the policy’s\n\t\t\tidentifier. If the response headers policy is attached to a distribution’s cache\n\t\t\tbehavior, you can get the policy’s identifier using ListDistributions or\n\t\t\tGetDistribution. If the response headers policy is not attached to a\n\t\t\tcache behavior, you can get the identifier using\n\t\t\tListResponseHeadersPolicies.

", "smithy.api#http": { "method": "GET", - "uri": "/2020-05-31/streaming-distribution/{Id}/config", + "uri": "/2020-05-31/response-headers-policy/{Id}/config", "code": 200 } } }, - "com.amazonaws.cloudfront#GetStreamingDistributionConfigRequest": { + "com.amazonaws.cloudfront#GetResponseHeadersPolicyConfigRequest": { "type": "structure", "members": { "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

The streaming distribution's ID.

", + "smithy.api#documentation": "

The identifier for the response headers policy.

\n\t\t

If the response headers policy is attached to a distribution’s cache behavior, you can\n\t\t\tget the policy’s identifier using ListDistributions or\n\t\t\t\tGetDistribution. If the response headers policy is not attached to a\n\t\t\tcache behavior, you can get the identifier using\n\t\t\t\tListResponseHeadersPolicies.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

To request to get a streaming distribution configuration.

" } }, - "com.amazonaws.cloudfront#GetStreamingDistributionConfigResult": { + "com.amazonaws.cloudfront#GetResponseHeadersPolicyConfigResult": { "type": "structure", "members": { - "StreamingDistributionConfig": { - "target": "com.amazonaws.cloudfront#StreamingDistributionConfig", + "ResponseHeadersPolicyConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyConfig", "traits": { - "smithy.api#documentation": "

The streaming distribution's configuration information.

", + "smithy.api#documentation": "

Contains a response headers policy.

", "smithy.api#httpPayload": {} } }, "ETag": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

The current version of the configuration. For example: E2QWRUHAPOMQZL. \n\t\t

", + "smithy.api#documentation": "

The version identifier for the current version of the response headers policy.

", "smithy.api#httpHeader": "ETag" } } - }, - "traits": { - "smithy.api#documentation": "

The returned result of the corresponding request.

" } }, - "com.amazonaws.cloudfront#GetStreamingDistributionRequest": { + "com.amazonaws.cloudfront#GetResponseHeadersPolicyRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The identifier for the response headers policy.

\n\t\t

If the response headers policy is attached to a distribution’s cache behavior, you can\n\t\t\tget the policy’s identifier using ListDistributions or\n\t\t\t\tGetDistribution. If the response headers policy is not attached to a\n\t\t\tcache behavior, you can get the identifier using\n\t\t\t\tListResponseHeadersPolicies.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.cloudfront#GetResponseHeadersPolicyResult": { + "type": "structure", + "members": { + "ResponseHeadersPolicy": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicy", + "traits": { + "smithy.api#documentation": "

Contains a response headers policy.

", + "smithy.api#httpPayload": {} + } + }, + "ETag": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The version identifier for the current version of the response headers policy.

", + "smithy.api#httpHeader": "ETag" + } + } + } + }, + "com.amazonaws.cloudfront#GetStreamingDistribution": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#GetStreamingDistributionRequest" + }, + "output": { + "target": "com.amazonaws.cloudfront#GetStreamingDistributionResult" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#NoSuchStreamingDistribution" + } + ], + "traits": { + "smithy.api#documentation": "

Gets information about a specified RTMP distribution, including the distribution configuration.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-05-31/streaming-distribution/{Id}", + "code": 200 + }, + "smithy.waiters#waitable": { + "StreamingDistributionDeployed": { + "documentation": "Wait until a streaming distribution is deployed.", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "StreamingDistribution.Status", + "expected": "Deployed", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 60 + } + } + } + }, + "com.amazonaws.cloudfront#GetStreamingDistributionConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#GetStreamingDistributionConfigRequest" + }, + "output": { + "target": "com.amazonaws.cloudfront#GetStreamingDistributionConfigResult" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#NoSuchStreamingDistribution" + } + ], + "traits": { + "smithy.api#documentation": "

Get the configuration information about a streaming distribution.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-05-31/streaming-distribution/{Id}/config", + "code": 200 + } + } + }, + "com.amazonaws.cloudfront#GetStreamingDistributionConfigRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The streaming distribution's ID.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

To request to get a streaming distribution configuration.

" + } + }, + "com.amazonaws.cloudfront#GetStreamingDistributionConfigResult": { + "type": "structure", + "members": { + "StreamingDistributionConfig": { + "target": "com.amazonaws.cloudfront#StreamingDistributionConfig", + "traits": { + "smithy.api#documentation": "

The streaming distribution's configuration information.

", + "smithy.api#httpPayload": {} + } + }, + "ETag": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The current version of the configuration. For example: E2QWRUHAPOMQZL. \n\t\t

", + "smithy.api#httpHeader": "ETag" + } + } + }, + "traits": { + "smithy.api#documentation": "

The returned result of the corresponding request.

" + } + }, + "com.amazonaws.cloudfront#GetStreamingDistributionRequest": { "type": "structure", "members": { "Id": { @@ -7148,14 +7492,14 @@ "Quantity": { "target": "com.amazonaws.cloudfront#integer", "traits": { - "smithy.api#documentation": "

The number of invalidation batches that were created by the current account. \n\t\t

", + "smithy.api#documentation": "

The number of invalidation batches that were created by the current Amazon Web Services account. \n\t\t

", "smithy.api#required": {} } }, "Items": { "target": "com.amazonaws.cloudfront#InvalidationSummaryList", "traits": { - "smithy.api#documentation": "

A complex type that contains one InvalidationSummary element for each \n\t\t\tinvalidation batch created by the current account.

" + "smithy.api#documentation": "

A complex type that contains one InvalidationSummary element for each \n\t\t\tinvalidation batch created by the current Amazon Web Services account.

" } } }, @@ -7507,7 +7851,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a list of cache policies.

\n\t\t

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or\n\t\t\tonly the custom policies created in your account.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", + "smithy.api#documentation": "

Gets a list of cache policies.

\n\t\t

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or\n\t\t\tonly the custom policies created in your Amazon Web Services account.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", "smithy.api#http": { "method": "GET", "uri": "/2020-05-31/cache-policy", @@ -7521,7 +7865,7 @@ "Type": { "target": "com.amazonaws.cloudfront#CachePolicyType", "traits": { - "smithy.api#documentation": "

A filter to return only the specified kinds of cache policies. Valid values\n\t\t\tare:

\n\t\t ", + "smithy.api#documentation": "

A filter to return only the specified kinds of cache policies. Valid values\n\t\t\tare:

\n\t\t ", "smithy.api#httpQuery": "Type" } }, @@ -7977,6 +8321,72 @@ } } }, + "com.amazonaws.cloudfront#ListDistributionsByResponseHeadersPolicyId": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#ListDistributionsByResponseHeadersPolicyIdRequest" + }, + "output": { + "target": "com.amazonaws.cloudfront#ListDistributionsByResponseHeadersPolicyIdResult" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#InvalidArgument" + }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + } + ], + "traits": { + "smithy.api#documentation": "

Gets a list of distribution IDs for distributions that have a cache behavior that’s\n\t\t\tassociated with the specified response headers policy.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-05-31/distributionsByResponseHeadersPolicyId/{ResponseHeadersPolicyId}", + "code": 200 + } + } + }, + "com.amazonaws.cloudfront#ListDistributionsByResponseHeadersPolicyIdRequest": { + "type": "structure", + "members": { + "Marker": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

Use this field when paginating results to indicate where to begin in your list of\n\t\t\tdistribution IDs. The response includes distribution IDs in the list that occur after\n\t\t\tthe marker. To get the next page of the list, set this field’s value to the value of\n\t\t\t\tNextMarker from the current page’s response.

", + "smithy.api#httpQuery": "Marker" + } + }, + "MaxItems": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of distribution IDs that you want to get in the response.

", + "smithy.api#httpQuery": "MaxItems" + } + }, + "ResponseHeadersPolicyId": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The ID of the response headers policy whose associated distribution IDs you want to\n\t\t\tlist.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.cloudfront#ListDistributionsByResponseHeadersPolicyIdResult": { + "type": "structure", + "members": { + "DistributionIdList": { + "target": "com.amazonaws.cloudfront#DistributionIdList", + "traits": { + "smithy.api#httpPayload": {} + } + } + } + }, "com.amazonaws.cloudfront#ListDistributionsByWebACLId": { "type": "operation", "input": { @@ -8207,7 +8617,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a list of all CloudFront functions in your account.

\n\t\t

You can optionally apply a filter to return only the functions that are in the\n\t\t\tspecified stage, either DEVELOPMENT or LIVE.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", + "smithy.api#documentation": "

Gets a list of all CloudFront functions in your Amazon Web Services account.

\n\t\t

You can optionally apply a filter to return only the functions that are in the\n\t\t\tspecified stage, either DEVELOPMENT or LIVE.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", "smithy.api#http": { "method": "GET", "uri": "/2020-05-31/function", @@ -8405,7 +8815,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a list of origin request policies.

\n\t\t

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or\n\t\t\tonly the custom policies created in your account.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", + "smithy.api#documentation": "

Gets a list of origin request policies.

\n\t\t

You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or\n\t\t\tonly the custom policies created in your Amazon Web Services account.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", "smithy.api#http": { "method": "GET", "uri": "/2020-05-31/origin-request-policy", @@ -8419,7 +8829,7 @@ "Type": { "target": "com.amazonaws.cloudfront#OriginRequestPolicyType", "traits": { - "smithy.api#documentation": "

A filter to return only the specified kinds of origin request policies. Valid values\n\t\t\tare:

\n\t\t ", + "smithy.api#documentation": "

A filter to return only the specified kinds of origin request policies. Valid values\n\t\t\tare:

\n\t\t ", "smithy.api#httpQuery": "Type" } }, @@ -8563,6 +8973,72 @@ } } }, + "com.amazonaws.cloudfront#ListResponseHeadersPolicies": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#ListResponseHeadersPoliciesRequest" + }, + "output": { + "target": "com.amazonaws.cloudfront#ListResponseHeadersPoliciesResult" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#InvalidArgument" + }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + } + ], + "traits": { + "smithy.api#documentation": "

Gets a list of response headers policies.

\n\t\t

You can optionally apply a filter to get only the managed policies created by Amazon Web Services,\n\t\t\tor only the custom policies created in your Amazon Web Services account.

\n\t\t

You can optionally specify the maximum number of items to receive in the response. If\n\t\t\tthe total number of items in the list exceeds the maximum that you specify, or the\n\t\t\tdefault maximum, the response is paginated. To get the next page of items, send a\n\t\t\tsubsequent request that specifies the NextMarker value from the current\n\t\t\tresponse as the Marker value in the subsequent request.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2020-05-31/response-headers-policy", + "code": 200 + } + } + }, + "com.amazonaws.cloudfront#ListResponseHeadersPoliciesRequest": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyType", + "traits": { + "smithy.api#documentation": "

A filter to get only the specified kind of response headers policies. Valid values\n\t\t\tare:

\n\t\t ", + "smithy.api#httpQuery": "Type" + } + }, + "Marker": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

Use this field when paginating results to indicate where to begin in your list of response\n\t\t\theaders policies. The response includes response headers policies in the list that occur\n\t\t\tafter the marker. To get the next page of the list, set this field’s value to the value\n\t\t\tof NextMarker from the current page’s response.

", + "smithy.api#httpQuery": "Marker" + } + }, + "MaxItems": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of response headers policies that you want to get in the response.

", + "smithy.api#httpQuery": "MaxItems" + } + } + } + }, + "com.amazonaws.cloudfront#ListResponseHeadersPoliciesResult": { + "type": "structure", + "members": { + "ResponseHeadersPolicyList": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyList", + "traits": { + "smithy.api#documentation": "

A list of response headers policies.

", + "smithy.api#httpPayload": {} + } + } + } + }, "com.amazonaws.cloudfront#ListStreamingDistributions": { "type": "operation", "input": { @@ -8998,6 +9474,19 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudfront#string" + } + }, + "traits": { + "smithy.api#documentation": "

The response headers policy does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, "com.amazonaws.cloudfront#NoSuchStreamingDistribution": { "type": "structure", "members": { @@ -9086,7 +9575,7 @@ } }, "HeaderValue": { - "target": "com.amazonaws.cloudfront#string", + "target": "com.amazonaws.cloudfront#sensitiveStringType", "traits": { "smithy.api#documentation": "

The value for the header that you specified in the HeaderName \n\t\t\tfield.

", "smithy.api#required": {} @@ -9524,7 +10013,7 @@ "Type": { "target": "com.amazonaws.cloudfront#OriginRequestPolicyType", "traits": { - "smithy.api#documentation": "

The type of origin request policy, either managed (created by Amazon Web Services) or\n\t\t\tcustom (created in this account).

", + "smithy.api#documentation": "

The type of origin request policy, either managed (created by Amazon Web Services) or\n\t\t\tcustom (created in this Amazon Web Services account).

", "smithy.api#required": {} } }, @@ -9577,7 +10066,7 @@ "OriginShieldRegion": { "target": "com.amazonaws.cloudfront#OriginShieldRegion", "traits": { - "smithy.api#documentation": "

The Region for Origin Shield.

\n\t\t

Specify the Region that has the lowest latency to your origin.\n To specify a region, use the region code, not the region name.\n For example, specify the US East (Ohio) region as us-east-2.

\n

When you enable CloudFront Origin Shield, you must specify the Region for Origin\n Shield. For the list of Regions that you can specify, and for help choosing the best\n Region for your origin, see Choosing the Region for Origin Shield in the\n\t\t\tAmazon CloudFront Developer Guide.

" + "smithy.api#documentation": "

The Amazon Web Services Region for Origin Shield.

\n\t\t

Specify the Amazon Web Services Region that has the lowest latency to your origin.\n To specify a region, use the region code, not the region name.\n For example, specify the US East (Ohio) region as us-east-2.

\n

When you enable CloudFront Origin Shield, you must specify the Amazon Web Services Region for Origin\n Shield. For the list of Amazon Web Services Regions that you can specify, and for help choosing the best\n Region for your origin, see Choosing the Amazon Web Services Region for Origin Shield in the\n\t\t\tAmazon CloudFront Developer Guide.

" } } }, @@ -10223,7 +10712,7 @@ } }, "traits": { - "smithy.api#documentation": "

The specified real-time log configuration belongs to a different account.

", + "smithy.api#documentation": "

The specified real-time log configuration belongs to a different Amazon Web Services account.

", "smithy.api#error": "client", "smithy.api#httpError": 401 } @@ -10299,15 +10788,54 @@ ] } }, - "com.amazonaws.cloudfront#ResourceARN": { + "com.amazonaws.cloudfront#ReferrerPolicyList": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws(-cn)?:cloudfront::[0-9]+:" - } - }, - "com.amazonaws.cloudfront#ResourceInUse": { - "type": "structure", - "members": { + "smithy.api#enum": [ + { + "value": "no-referrer", + "name": "no_referrer" + }, + { + "value": "no-referrer-when-downgrade", + "name": "no_referrer_when_downgrade" + }, + { + "value": "origin", + "name": "origin" + }, + { + "value": "origin-when-cross-origin", + "name": "origin_when_cross_origin" + }, + { + "value": "same-origin", + "name": "same_origin" + }, + { + "value": "strict-origin", + "name": "strict_origin" + }, + { + "value": "strict-origin-when-cross-origin", + "name": "strict_origin_when_cross_origin" + }, + { + "value": "unsafe-url", + "name": "unsafe_url" + } + ] + } + }, + "com.amazonaws.cloudfront#ResourceARN": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws(-cn)?:cloudfront::[0-9]+:" + } + }, + "com.amazonaws.cloudfront#ResourceInUse": { + "type": "structure", + "members": { "Message": { "target": "com.amazonaws.cloudfront#string" } @@ -10318,6 +10846,613 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.cloudfront#ResponseHeadersPolicy": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The identifier for the response headers policy.

", + "smithy.api#required": {} + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.cloudfront#timestamp", + "traits": { + "smithy.api#documentation": "

The date and time when the response headers policy was last modified.

", + "smithy.api#required": {} + } + }, + "ResponseHeadersPolicyConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyConfig", + "traits": { + "smithy.api#documentation": "

A response headers policy configuration.

\n\t\t

A response headers policy contains information about a set of HTTP response headers and\n\t\t\ttheir values. CloudFront adds the headers in the policy to HTTP responses that it sends for\n\t\t\trequests that match a cache behavior that’s associated with the policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A response headers policy.

\n\t\t

A response headers policy contains information about a set of HTTP response headers\n\t\t\tand their values.

\n\t\t

After you create a response headers policy, you can use its ID to attach it to one or more\n\t\t\tcache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront\n\t\t\tadds the headers in the policy to HTTP responses that it sends for requests that match\n\t\t\tthe cache behavior.

\n\t\t

For more information, see Adding HTTP headers to CloudFront responses in the\n\t\t\tAmazon CloudFront Developer Guide.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowHeaders": { + "type": "structure", + "members": { + "Quantity": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The number of HTTP header names in the list.

", + "smithy.api#required": {} + } + }, + "Items": { + "target": "com.amazonaws.cloudfront#AccessControlAllowHeadersList", + "traits": { + "smithy.api#documentation": "

The list of HTTP header names. You can specify * to allow all headers.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of HTTP header names that CloudFront includes as values for the\n\t\t\t\tAccess-Control-Allow-Headers HTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Headers HTTP response\n\t\t\theader, see Access-Control-Allow-Headers in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowMethods": { + "type": "structure", + "members": { + "Quantity": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The number of HTTP methods in the list.

", + "smithy.api#required": {} + } + }, + "Items": { + "target": "com.amazonaws.cloudfront#AccessControlAllowMethodsList", + "traits": { + "smithy.api#documentation": "

The list of HTTP methods. Valid values are:

\n\t\t \n\t\t

\n ALL is a special value that includes all of the listed HTTP\n\t\t\tmethods.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of HTTP methods that CloudFront includes as values for the\n\t\t\t\tAccess-Control-Allow-Methods HTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Methods HTTP response\n\t\t\theader, see Access-Control-Allow-Methods in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowMethodsValues": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "GET", + "name": "GET" + }, + { + "value": "POST", + "name": "POST" + }, + { + "value": "OPTIONS", + "name": "OPTIONS" + }, + { + "value": "PUT", + "name": "PUT" + }, + { + "value": "DELETE", + "name": "DELETE" + }, + { + "value": "PATCH", + "name": "PATCH" + }, + { + "value": "HEAD", + "name": "HEAD" + }, + { + "value": "ALL", + "name": "ALL" + } + ] + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowOrigins": { + "type": "structure", + "members": { + "Quantity": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The number of origins in the list.

", + "smithy.api#required": {} + } + }, + "Items": { + "target": "com.amazonaws.cloudfront#AccessControlAllowOriginsList", + "traits": { + "smithy.api#documentation": "

The list of origins (domain names). You can specify * to allow all\n\t\t\torigins.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of origins (domain names) that CloudFront can use as the value for the\n\t\t\tAccess-Control-Allow-Origin HTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Origin HTTP response\n\t\t\theader, see Access-Control-Allow-Origin in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlExposeHeaders": { + "type": "structure", + "members": { + "Quantity": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The number of HTTP headers in the list.

", + "smithy.api#required": {} + } + }, + "Items": { + "target": "com.amazonaws.cloudfront#AccessControlExposeHeadersList", + "traits": { + "smithy.api#documentation": "

The list of HTTP headers. You can specify * to expose all headers.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of HTTP headers that CloudFront includes as values for the\n\t\t\t\tAccess-Control-Expose-Headers HTTP response header.

\n\t\t

For more information about the Access-Control-Expose-Headers HTTP\n\t\t\tresponse header, see Access-Control-Expose-Headers in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyAlreadyExists": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudfront#string" + } + }, + "traits": { + "smithy.api#documentation": "

A response headers policy with this name already exists. You must provide a unique name. To\n\t\t\tmodify an existing response headers policy, use\n\t\t\tUpdateResponseHeadersPolicy.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyConfig": { + "type": "structure", + "members": { + "Comment": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

A comment to describe the response headers policy.

\n\t\t

The comment cannot be longer than 128 characters.

" + } + }, + "Name": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

A name to identify the response headers policy.

\n\t\t

The name must be unique for response headers policies in this Amazon Web Services account.

", + "smithy.api#required": {} + } + }, + "CorsConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyCorsConfig", + "traits": { + "smithy.api#documentation": "

A configuration for a set of HTTP response headers that are used for cross-origin\n\t\t\tresource sharing (CORS).

" + } + }, + "SecurityHeadersConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicySecurityHeadersConfig", + "traits": { + "smithy.api#documentation": "

A configuration for a set of security-related HTTP response headers.

" + } + }, + "CustomHeadersConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyCustomHeadersConfig", + "traits": { + "smithy.api#documentation": "

A configuration for a set of custom HTTP response headers.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A response headers policy configuration.

\n\t\t

A response headers policy configuration contains metadata about the response headers policy,\n\t\t\tand configurations for sets of HTTP response headers and their values. CloudFront adds the\n\t\t\theaders in the policy to HTTP responses that it sends for requests that match a cache\n\t\t\tbehavior associated with the policy.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyContentSecurityPolicy": { + "type": "structure", + "members": { + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides the Content-Security-Policy\n\t\t\tHTTP response header received from the origin with the one specified in this response\n\t\t\theaders policy.

", + "smithy.api#required": {} + } + }, + "ContentSecurityPolicy": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The policy directives and their values that CloudFront includes as values for the\n\t\t\t\tContent-Security-Policy HTTP response header.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The policy directives and their values that CloudFront includes as values for the\n\t\t\t\tContent-Security-Policy HTTP response header.

\n\t\t

For more information about the Content-Security-Policy HTTP response\n\t\t\theader, see Content-Security-Policy in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyContentTypeOptions": { + "type": "structure", + "members": { + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides the X-Content-Type-Options\n\t\t\tHTTP response header received from the origin with the one specified in this response\n\t\t\theaders policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the X-Content-Type-Options HTTP response\n\t\t\theader with its value set to nosniff.

\n\t\t

For more information about the X-Content-Type-Options HTTP response\n\t\t\theader, see X-Content-Type-Options in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyCorsConfig": { + "type": "structure", + "members": { + "AccessControlAllowOrigins": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowOrigins", + "traits": { + "smithy.api#documentation": "

A list of origins (domain names) that CloudFront can use as the value for the\n\t\t\tAccess-Control-Allow-Origin HTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Origin HTTP response\n\t\t\theader, see Access-Control-Allow-Origin in the MDN Web Docs.

", + "smithy.api#required": {} + } + }, + "AccessControlAllowHeaders": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowHeaders", + "traits": { + "smithy.api#documentation": "

A list of HTTP header names that CloudFront includes as values for the\n\t\t\t\tAccess-Control-Allow-Headers HTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Headers HTTP response\n\t\t\theader, see Access-Control-Allow-Headers in the MDN Web Docs.

", + "smithy.api#required": {} + } + }, + "AccessControlAllowMethods": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlAllowMethods", + "traits": { + "smithy.api#documentation": "

A list of HTTP methods that CloudFront includes as values for the\n\t\t\t\tAccess-Control-Allow-Methods HTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Methods HTTP response\n\t\t\theader, see Access-Control-Allow-Methods in the MDN Web Docs.

", + "smithy.api#required": {} + } + }, + "AccessControlAllowCredentials": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that CloudFront uses as the value for the Access-Control-Allow-Credentials\n\t\t\tHTTP response header.

\n\t\t

For more information about the Access-Control-Allow-Credentials HTTP\n\t\t\tresponse header, see Access-Control-Allow-Credentials in the MDN Web Docs.

", + "smithy.api#required": {} + } + }, + "AccessControlExposeHeaders": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAccessControlExposeHeaders", + "traits": { + "smithy.api#documentation": "

A list of HTTP headers that CloudFront includes as values for the\n\t\t\t\tAccess-Control-Expose-Headers HTTP response header.

\n\t\t

For more information about the Access-Control-Expose-Headers HTTP\n\t\t\tresponse header, see Access-Control-Expose-Headers in the MDN Web Docs.

" + } + }, + "AccessControlMaxAgeSec": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

A number that CloudFront uses as the value for the Access-Control-Max-Age HTTP\n\t\t\tresponse header.

\n\t\t

For more information about the Access-Control-Max-Age HTTP response\n\t\t\theader, see Access-Control-Max-Age in the MDN Web Docs.

" + } + }, + "OriginOverride": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides HTTP response headers received from the\n\t\t\torigin with the ones specified in this response headers policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A configuration for a set of HTTP response headers that are used for cross-origin resource\n\t\t\tsharing (CORS). CloudFront adds these headers to HTTP responses that it sends for CORS\n\t\t\trequests that match a cache behavior associated with this response headers\n\t\t\tpolicy.

\n\t\t

For more information about CORS, see Cross-Origin Resource\n\t\t\t\tSharing (CORS) in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyCustomHeader": { + "type": "structure", + "members": { + "Header": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The HTTP response header name.

", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The value for the HTTP response header.

", + "smithy.api#required": {} + } + }, + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides a response header with the same name\n\t\t\treceived from the origin with the header specified here.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

An HTTP response header name and its value. CloudFront includes this header in HTTP responses that\n\t\t\tit sends for requests that match a cache behavior that’s associated with this response\n\t\t\theaders policy.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyCustomHeaderList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyCustomHeader", + "traits": { + "smithy.api#xmlName": "ResponseHeadersPolicyCustomHeader" + } + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyCustomHeadersConfig": { + "type": "structure", + "members": { + "Quantity": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The number of HTTP response headers in the list.

", + "smithy.api#required": {} + } + }, + "Items": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyCustomHeaderList", + "traits": { + "smithy.api#documentation": "

The list of HTTP response headers and their values.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of HTTP response header names and their values. CloudFront includes these headers in HTTP\n\t\t\tresponses that it sends for requests that match a cache behavior that’s associated with\n\t\t\tthis response headers policy.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyFrameOptions": { + "type": "structure", + "members": { + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides the X-Frame-Options HTTP\n\t\t\tresponse header received from the origin with the one specified in this response headers\n\t\t\tpolicy.

", + "smithy.api#required": {} + } + }, + "FrameOption": { + "target": "com.amazonaws.cloudfront#FrameOptionsList", + "traits": { + "smithy.api#documentation": "

The value of the X-Frame-Options HTTP response header. Valid values are\n\t\t\t\tDENY and SAMEORIGIN.

\n\t\t

For more information about these values, see X-Frame-Options in the MDN Web Docs.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the X-Frame-Options HTTP response header and\n\t\t\tthe header’s value.

\n\t\t

For more information about the X-Frame-Options HTTP response header, see\n\t\t\t\tX-Frame-Options in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyInUse": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudfront#string" + } + }, + "traits": { + "smithy.api#documentation": "

Cannot delete the response headers policy because it is attached to one or more cache\n\t\t\tbehaviors in a CloudFront distribution.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyList": { + "type": "structure", + "members": { + "NextMarker": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

If there are more items in the list than are in this response, this element is present. It\n\t\t\tcontains the value that you should use in the Marker field of a subsequent\n\t\t\trequest to continue listing response headers policies where you left off.

" + } + }, + "MaxItems": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The maximum number of response headers policies requested.

", + "smithy.api#required": {} + } + }, + "Quantity": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

The number of response headers policies returned.

", + "smithy.api#required": {} + } + }, + "Items": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicySummaryList", + "traits": { + "smithy.api#documentation": "

The response headers policies in the list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of response headers policies.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyReferrerPolicy": { + "type": "structure", + "members": { + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides the Referrer-Policy HTTP\n\t\t\tresponse header received from the origin with the one specified in this response headers\n\t\t\tpolicy.

", + "smithy.api#required": {} + } + }, + "ReferrerPolicy": { + "target": "com.amazonaws.cloudfront#ReferrerPolicyList", + "traits": { + "smithy.api#documentation": "

The value of the Referrer-Policy HTTP response header. Valid values\n\t\t\tare:

\n\t\t \n\t\t

For more information about these values, see Referrer-Policy in the MDN Web Docs.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the Referrer-Policy HTTP response header and\n\t\t\tthe header’s value.

\n\t\t

For more information about the Referrer-Policy HTTP response header, see\n\t\t\t\tReferrer-Policy in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicySecurityHeadersConfig": { + "type": "structure", + "members": { + "XSSProtection": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyXSSProtection", + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the X-XSS-Protection HTTP response header and\n\t\t\tthe header’s value.

\n\t\t

For more information about the X-XSS-Protection HTTP response header, see\n\t\t\tX-XSS-Protection in the MDN Web Docs.

" + } + }, + "FrameOptions": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyFrameOptions", + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the X-Frame-Options HTTP response header and\n\t\t\tthe header’s value.

\n\t\t

For more information about the X-Frame-Options HTTP response header, see\n\t\t\tX-Frame-Options in the MDN Web Docs.

" + } + }, + "ReferrerPolicy": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyReferrerPolicy", + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the Referrer-Policy HTTP response header and\n\t\t\tthe header’s value.

\n\t\t

For more information about the Referrer-Policy HTTP response header, see\n\t\t\tReferrer-Policy in the MDN Web Docs.

" + } + }, + "ContentSecurityPolicy": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyContentSecurityPolicy", + "traits": { + "smithy.api#documentation": "

The policy directives and their values that CloudFront includes as values for the\n\t\t\t\tContent-Security-Policy HTTP response header.

\n\t\t

For more information about the Content-Security-Policy HTTP response\n\t\t\theader, see Content-Security-Policy in the MDN Web Docs.

" + } + }, + "ContentTypeOptions": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyContentTypeOptions", + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the X-Content-Type-Options HTTP response\n\t\t\theader with its value set to nosniff.

\n\t\t

For more information about the X-Content-Type-Options HTTP response\n\t\t\theader, see X-Content-Type-Options in the MDN Web Docs.

" + } + }, + "StrictTransportSecurity": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyStrictTransportSecurity", + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the Strict-Transport-Security HTTP response\n\t\t\theader and the header’s value.

\n\t\t

For more information about the Strict-Transport-Security HTTP response\n\t\t\theader, see Strict-Transport-Security in the MDN Web Docs.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A configuration for a set of security-related HTTP response headers. CloudFront adds these headers\n\t\t\tto HTTP responses that it sends for requests that match a cache behavior associated with\n\t\t\tthis response headers policy.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyStrictTransportSecurity": { + "type": "structure", + "members": { + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides the Strict-Transport-Security\n\t\t\tHTTP response header received from the origin with the one specified in this response\n\t\t\theaders policy.

", + "smithy.api#required": {} + } + }, + "IncludeSubdomains": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront includes the includeSubDomains directive\n\t\t\tin the Strict-Transport-Security HTTP response header.

" + } + }, + "Preload": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront includes the preload directive in the\n\t\t\tStrict-Transport-Security HTTP response header.

" + } + }, + "AccessControlMaxAgeSec": { + "target": "com.amazonaws.cloudfront#integer", + "traits": { + "smithy.api#documentation": "

A number that CloudFront uses as the value for the max-age directive in the\n\t\t\t\tStrict-Transport-Security HTTP response header.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the Strict-Transport-Security HTTP response\n\t\t\theader and the header’s value.

\n\t\t

For more information about the Strict-Transport-Security HTTP response\n\t\t\theader, see Strict-Transport-Security in the MDN Web Docs.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicySummary": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyType", + "traits": { + "smithy.api#documentation": "

The type of response headers policy, either managed (created by Amazon Web Services) or\n\t\t\t\tcustom (created in this Amazon Web Services account).

", + "smithy.api#required": {} + } + }, + "ResponseHeadersPolicy": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicy", + "traits": { + "smithy.api#documentation": "

The response headers policy.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains a response headers policy.

" + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicySummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicySummary", + "traits": { + "smithy.api#xmlName": "ResponseHeadersPolicySummary" + } + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "managed", + "name": "managed" + }, + { + "value": "custom", + "name": "custom" + } + ] + } + }, + "com.amazonaws.cloudfront#ResponseHeadersPolicyXSSProtection": { + "type": "structure", + "members": { + "Override": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront overrides the X-XSS-Protection HTTP\n\t\t\tresponse header received from the origin with the one specified in this response headers\n\t\t\tpolicy.

", + "smithy.api#required": {} + } + }, + "Protection": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines the value of the X-XSS-Protection HTTP response\n\t\t\theader. When this setting is true, the value of the\n\t\t\tX-XSS-Protection header is 1. When this setting is\n\t\t\tfalse, the value of the X-XSS-Protection header is\n\t\t\t0.

\n\t\t

For more information about these settings, see X-XSS-Protection in the MDN Web Docs.

", + "smithy.api#required": {} + } + }, + "ModeBlock": { + "target": "com.amazonaws.cloudfront#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that determines whether CloudFront includes the mode=block directive in the\n\t\t\tX-XSS-Protection header.

\n\t\t

For more information about this directive, see X-XSS-Protection in the MDN Web Docs.

" + } + }, + "ReportUri": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

A reporting URI, which CloudFront uses as the value of the report directive in the\n\t\t\tX-XSS-Protection header.

\n\t\t

You cannot specify a ReportUri when ModeBlock is\n\t\t\ttrue.

\n\t\t

For more information about using a reporting URL, see X-XSS-Protection in the MDN Web Docs.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines whether CloudFront includes the X-XSS-Protection HTTP response header and\n\t\t\tthe header’s value.

\n\t\t

For more information about the X-XSS-Protection HTTP response header, see\n\t\t\t\tX-XSS-Protection in the MDN Web Docs.

" + } + }, "com.amazonaws.cloudfront#Restrictions": { "type": "structure", "members": { @@ -10395,7 +11530,7 @@ "AwsAccountNumber": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

An account number that contains active CloudFront key pairs that CloudFront can use to verify the\n\t\t\tsignatures of signed URLs and signed cookies. If the account that owns the key pairs\n\t\t\tis the same account that owns the CloudFront distribution, the value of this field is\n\t\t\tself.

" + "smithy.api#documentation": "

An Amazon Web Services account number that contains active CloudFront key pairs that CloudFront can use to verify the\n\t\t\tsignatures of signed URLs and signed cookies. If the Amazon Web Services account that owns the key pairs\n\t\t\tis the same account that owns the CloudFront distribution, the value of this field is\n\t\t\tself.

" } }, "KeyPairIds": { @@ -10406,7 +11541,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of accounts and the active CloudFront key pairs in each account that CloudFront can use to\n\t\t\tverify the signatures of signed URLs and signed cookies.

" + "smithy.api#documentation": "

A list of Amazon Web Services accounts and the active CloudFront key pairs in each account that CloudFront can use to\n\t\t\tverify the signatures of signed URLs and signed cookies.

" } }, "com.amazonaws.cloudfront#SignerList": { @@ -10500,7 +11635,7 @@ "ARN": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the distribution. For example: \n\t\t\tarn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where \n\t\t\t123456789012 is your account ID.

", + "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the distribution. For example: \n\t\t\tarn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where \n\t\t\t123456789012 is your Amazon Web Services account ID.

", "smithy.api#required": {} } }, @@ -10527,7 +11662,7 @@ "ActiveTrustedSigners": { "target": "com.amazonaws.cloudfront#ActiveTrustedSigners", "traits": { - "smithy.api#documentation": "

A complex type that lists the accounts, if any, that you included in the \n\t\t\t\tTrustedSigners complex type for this distribution. These are the accounts that \n\t\t\tyou want to allow to create signed URLs for private content.

\n\t\t

The Signer complex type lists the account number of the trusted \n\t\t\tsigner or self if the signer is the account that created the distribution. \n\t\t\tThe Signer element also includes the IDs of any active CloudFront key pairs that are \n\t\t\tassociated with the trusted signer's account. If no KeyPairId element \n\t\t\tappears for a Signer, that signer can't create signed URLs.

\n\t\t

For more information, see Serving Private \n\t\t\t\tContent through CloudFront in the Amazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

A complex type that lists the Amazon Web Services accounts, if any, that you included in the \n\t\t\t\tTrustedSigners complex type for this distribution. These are the accounts that \n\t\t\tyou want to allow to create signed URLs for private content.

\n\t\t

The Signer complex type lists the Amazon Web Services account number of the trusted \n\t\t\tsigner or self if the signer is the Amazon Web Services account that created the distribution. \n\t\t\tThe Signer element also includes the IDs of any active CloudFront key pairs that are \n\t\t\tassociated with the trusted signer's Amazon Web Services account. If no KeyPairId element \n\t\t\tappears for a Signer, that signer can't create signed URLs.

\n\t\t

For more information, see Serving Private \n\t\t\t\tContent through CloudFront in the Amazon CloudFront Developer Guide.

", "smithy.api#required": {} } }, @@ -10595,7 +11730,7 @@ "TrustedSigners": { "target": "com.amazonaws.cloudfront#TrustedSigners", "traits": { - "smithy.api#documentation": "

A complex type that specifies any accounts that you want to permit to create signed \n\t\t\tURLs for private content. If you want the distribution to use signed URLs, include this \n\t\t\telement; if you want the distribution to use public URLs, remove this element. For more \n\t\t\tinformation, see Serving Private Content through \n\t\t\t\tCloudFront in the Amazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

A complex type that specifies any Amazon Web Services accounts that you want to permit to create signed \n\t\t\tURLs for private content. If you want the distribution to use signed URLs, include this \n\t\t\telement; if you want the distribution to use public URLs, remove this element. For more \n\t\t\tinformation, see Serving Private Content through \n\t\t\t\tCloudFront in the Amazon CloudFront Developer Guide.

", "smithy.api#required": {} } }, @@ -10672,14 +11807,14 @@ "Quantity": { "target": "com.amazonaws.cloudfront#integer", "traits": { - "smithy.api#documentation": "

The number of streaming distributions that were created by the current account. \n\t\t

", + "smithy.api#documentation": "

The number of streaming distributions that were created by the current Amazon Web Services account. \n\t\t

", "smithy.api#required": {} } }, "Items": { "target": "com.amazonaws.cloudfront#StreamingDistributionSummaryList", "traits": { - "smithy.api#documentation": "

A complex type that contains one StreamingDistributionSummary element for \n\t\t\teach distribution that was created by the current account.

" + "smithy.api#documentation": "

A complex type that contains one StreamingDistributionSummary element for \n\t\t\teach distribution that was created by the current Amazon Web Services account.

" } } }, @@ -10713,7 +11848,7 @@ "ARN": { "target": "com.amazonaws.cloudfront#string", "traits": { - "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the streaming distribution. For example: \n\t\t\t\tarn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where \n\t\t\t\t123456789012 is your account ID.

", + "smithy.api#documentation": "

The ARN (Amazon Resource Name) for the streaming distribution. For example: \n\t\t\t\tarn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where \n\t\t\t\t123456789012 is your Amazon Web Services account ID.

", "smithy.api#required": {} } }, @@ -10755,7 +11890,7 @@ "TrustedSigners": { "target": "com.amazonaws.cloudfront#TrustedSigners", "traits": { - "smithy.api#documentation": "

A complex type that specifies the accounts, if any, that you want to allow to \n\t\t\tcreate signed URLs for private content. If you want to require signed URLs in requests for \n\t\t\tobjects in the target origin that match the PathPattern for this cache behavior, \n\t\t\tspecify true for Enabled, and specify the applicable values for \n\t\t\t\tQuantity and Items.If you don't want to require signed URLs in \n\t\t\trequests for objects that match PathPattern, specify false for \n\t\t\t\tEnabled and 0 for Quantity. Omit Items. \n\t\t\tTo add, change, or remove one or more trusted signers, change Enabled to \n\t\t\t\ttrue (if it's currently false), change Quantity as \n\t\t\tapplicable, and specify all of the trusted signers that you want to include in the updated \n\t\t\tdistribution.

\n\t\t

For more information, see Serving Private \n\t\t\tContent through CloudFront in the Amazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

A complex type that specifies the Amazon Web Services accounts, if any, that you want to allow to \n\t\t\tcreate signed URLs for private content. If you want to require signed URLs in requests for \n\t\t\tobjects in the target origin that match the PathPattern for this cache behavior, \n\t\t\tspecify true for Enabled, and specify the applicable values for \n\t\t\t\tQuantity and Items.If you don't want to require signed URLs in \n\t\t\trequests for objects that match PathPattern, specify false for \n\t\t\t\tEnabled and 0 for Quantity. Omit Items. \n\t\t\tTo add, change, or remove one or more trusted signers, change Enabled to \n\t\t\t\ttrue (if it's currently false), change Quantity as \n\t\t\tapplicable, and specify all of the trusted signers that you want to include in the updated \n\t\t\tdistribution.

\n\t\t

For more information, see Serving Private \n\t\t\tContent through CloudFront in the Amazon CloudFront Developer Guide.

", "smithy.api#required": {} } }, @@ -11079,13 +12214,13 @@ } }, "FunctionErrorMessage": { - "target": "com.amazonaws.cloudfront#string", + "target": "com.amazonaws.cloudfront#sensitiveStringType", "traits": { "smithy.api#documentation": "

If the result of testing the function was an error, this field contains the error\n\t\t\tmessage.

" } }, "FunctionOutput": { - "target": "com.amazonaws.cloudfront#string", + "target": "com.amazonaws.cloudfront#sensitiveStringType", "traits": { "smithy.api#documentation": "

The event object returned by the function. For more information about the structure of the\n\t\t\tevent object, see Event object\n\t\t\tstructure in the Amazon CloudFront Developer Guide.

" } @@ -11116,7 +12251,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have reached the maximum number of cache policies for this account. For more\n\t\t\tinformation, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

You have reached the maximum number of cache policies for this Amazon Web Services account. For more\n\t\t\tinformation, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11186,6 +12321,19 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.cloudfront#TooManyCustomHeadersInResponseHeadersPolicy": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudfront#string" + } + }, + "traits": { + "smithy.api#documentation": "

The number of custom headers in the response headers policy exceeds the maximum.

\n\t\t

For more information, see Quotas (formerly known as limits) in the\n\t\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.cloudfront#TooManyDistributionCNAMEs": { "type": "structure", "members": { @@ -11264,6 +12412,19 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToResponseHeadersPolicy": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudfront#string" + } + }, + "traits": { + "smithy.api#documentation": "

The maximum number of distributions have been associated with the specified response headers\n\t\t\tpolicy.

\n\t\t

For more information, see Quotas (formerly known as limits) in the\n\t\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.cloudfront#TooManyDistributionsWithFunctionAssociations": { "type": "structure", "members": { @@ -11402,7 +12563,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have reached the maximum number of CloudFront functions for this account. For more\n\t\t\tinformation, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

You have reached the maximum number of CloudFront functions for this Amazon Web Services account. For more\n\t\t\tinformation, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11467,7 +12628,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have reached the maximum number of key groups for this account. For more\n\t\t\tinformation, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

You have reached the maximum number of key groups for this Amazon Web Services account. For more\n\t\t\tinformation, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11532,7 +12693,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have reached the maximum number of origin request policies for this account.\n\t\t\tFor more information, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

You have reached the maximum number of origin request policies for this Amazon Web Services account.\n\t\t\tFor more information, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11623,7 +12784,20 @@ } }, "traits": { - "smithy.api#documentation": "

You have reached the maximum number of real-time log configurations for this account.\n\t\t\tFor more information, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#documentation": "

You have reached the maximum number of real-time log configurations for this Amazon Web Services account.\n\t\t\tFor more information, see Quotas (formerly known as limits) in the\n\t\t\tAmazon CloudFront Developer Guide.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.cloudfront#TooManyResponseHeadersPolicies": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.cloudfront#string" + } + }, + "traits": { + "smithy.api#documentation": "

You have reached the maximum number of response headers policies for this\n\t\t\tAmazon Web Services account.

\n\t\t

For more information, see Quotas (formerly known as limits) in the\n\t\t\t\tAmazon CloudFront Developer Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11736,26 +12910,26 @@ "Enabled": { "target": "com.amazonaws.cloudfront#boolean", "traits": { - "smithy.api#documentation": "

This field is true if any of the accounts have public keys that CloudFront can\n\t\t\tuse to verify the signatures of signed URLs and signed cookies. If not, this field is\n\t\t\tfalse.

", + "smithy.api#documentation": "

This field is true if any of the Amazon Web Services accounts have public keys that CloudFront can\n\t\t\tuse to verify the signatures of signed URLs and signed cookies. If not, this field is\n\t\t\tfalse.

", "smithy.api#required": {} } }, "Quantity": { "target": "com.amazonaws.cloudfront#integer", "traits": { - "smithy.api#documentation": "

The number of accounts in the list.

", + "smithy.api#documentation": "

The number of Amazon Web Services accounts in the list.

", "smithy.api#required": {} } }, "Items": { "target": "com.amazonaws.cloudfront#AwsAccountNumberList", "traits": { - "smithy.api#documentation": "

A list of account identifiers.

" + "smithy.api#documentation": "

A list of Amazon Web Services account identifiers.

" } } }, "traits": { - "smithy.api#documentation": "

A list of accounts whose public keys CloudFront can use to verify the signatures of signed\n\t\t\tURLs and signed cookies.

" + "smithy.api#documentation": "

A list of Amazon Web Services accounts whose public keys CloudFront can use to verify the signatures of signed\n\t\t\tURLs and signed cookies.

" } }, "com.amazonaws.cloudfront#UnsupportedOperation": { @@ -11879,6 +13053,15 @@ "com.amazonaws.cloudfront#UpdateCachePolicyRequest": { "type": "structure", "members": { + "CachePolicyConfig": { + "target": "com.amazonaws.cloudfront#CachePolicyConfig", + "traits": { + "smithy.api#documentation": "

A cache policy configuration.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "CachePolicyConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -11893,15 +13076,6 @@ "smithy.api#documentation": "

The version of the cache policy that you are updating. The version is returned in the cache\n\t\t\tpolicy’s ETag field in the response to\n\t\t\tGetCachePolicyConfig.

", "smithy.api#httpHeader": "If-Match" } - }, - "CachePolicyConfig": { - "target": "com.amazonaws.cloudfront#CachePolicyConfig", - "traits": { - "smithy.api#documentation": "

A cache policy configuration.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "CachePolicyConfig" - } } } }, @@ -11970,6 +13144,15 @@ "com.amazonaws.cloudfront#UpdateCloudFrontOriginAccessIdentityRequest": { "type": "structure", "members": { + "CloudFrontOriginAccessIdentityConfig": { + "target": "com.amazonaws.cloudfront#CloudFrontOriginAccessIdentityConfig", + "traits": { + "smithy.api#documentation": "

The identity's configuration information.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "CloudFrontOriginAccessIdentityConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -11984,15 +13167,6 @@ "smithy.api#documentation": "

The value of the ETag header that you received when retrieving the \n\t\t\tidentity's configuration. For example: E2QWRUHAPOMQZL.

", "smithy.api#httpHeader": "If-Match" } - }, - "CloudFrontOriginAccessIdentityConfig": { - "target": "com.amazonaws.cloudfront#CloudFrontOriginAccessIdentityConfig", - "traits": { - "smithy.api#documentation": "

The identity's configuration information.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "CloudFrontOriginAccessIdentityConfig" - } } }, "traits": { @@ -12129,6 +13303,9 @@ { "target": "com.amazonaws.cloudfront#NoSuchRealtimeLogConfig" }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#PreconditionFailed" }, @@ -12159,6 +13336,9 @@ { "target": "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToOriginRequestPolicy" }, + { + "target": "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToResponseHeadersPolicy" + }, { "target": "com.amazonaws.cloudfront#TooManyDistributionsWithFunctionAssociations" }, @@ -12214,6 +13394,15 @@ "com.amazonaws.cloudfront#UpdateDistributionRequest": { "type": "structure", "members": { + "DistributionConfig": { + "target": "com.amazonaws.cloudfront#DistributionConfig", + "traits": { + "smithy.api#documentation": "

The distribution's configuration information.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "DistributionConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12228,15 +13417,6 @@ "smithy.api#documentation": "

The value of the ETag header that you received when retrieving the \n\t\t\tdistribution's configuration. For example: E2QWRUHAPOMQZL.

", "smithy.api#httpHeader": "If-Match" } - }, - "DistributionConfig": { - "target": "com.amazonaws.cloudfront#DistributionConfig", - "traits": { - "smithy.api#documentation": "

The distribution's configuration information.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "DistributionConfig" - } } }, "traits": { @@ -12320,6 +13500,15 @@ "com.amazonaws.cloudfront#UpdateFieldLevelEncryptionConfigRequest": { "type": "structure", "members": { + "FieldLevelEncryptionConfig": { + "target": "com.amazonaws.cloudfront#FieldLevelEncryptionConfig", + "traits": { + "smithy.api#documentation": "

Request to update a field-level encryption configuration.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "FieldLevelEncryptionConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12334,15 +13523,6 @@ "smithy.api#documentation": "

The value of the ETag header that you received when retrieving the configuration identity to update. \n\t\t\tFor example: E2QWRUHAPOMQZL.

", "smithy.api#httpHeader": "If-Match" } - }, - "FieldLevelEncryptionConfig": { - "target": "com.amazonaws.cloudfront#FieldLevelEncryptionConfig", - "traits": { - "smithy.api#documentation": "

Request to update a field-level encryption configuration.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "FieldLevelEncryptionConfig" - } } } }, @@ -12423,6 +13603,15 @@ "com.amazonaws.cloudfront#UpdateFieldLevelEncryptionProfileRequest": { "type": "structure", "members": { + "FieldLevelEncryptionProfileConfig": { + "target": "com.amazonaws.cloudfront#FieldLevelEncryptionProfileConfig", + "traits": { + "smithy.api#documentation": "

Request to update a field-level encryption profile.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "FieldLevelEncryptionProfileConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12437,15 +13626,6 @@ "smithy.api#documentation": "

The value of the ETag header that you received when retrieving the profile identity to update. \n\t\t\tFor example: E2QWRUHAPOMQZL.

", "smithy.api#httpHeader": "If-Match" } - }, - "FieldLevelEncryptionProfileConfig": { - "target": "com.amazonaws.cloudfront#FieldLevelEncryptionProfileConfig", - "traits": { - "smithy.api#documentation": "

Request to update a field-level encryption profile.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "FieldLevelEncryptionProfileConfig" - } } } }, @@ -12599,6 +13779,15 @@ "com.amazonaws.cloudfront#UpdateKeyGroupRequest": { "type": "structure", "members": { + "KeyGroupConfig": { + "target": "com.amazonaws.cloudfront#KeyGroupConfig", + "traits": { + "smithy.api#documentation": "

The key group configuration.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "KeyGroupConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12613,15 +13802,6 @@ "smithy.api#documentation": "

The version of the key group that you are updating. The version is the key group’s\n\t\t\tETag value.

", "smithy.api#httpHeader": "If-Match" } - }, - "KeyGroupConfig": { - "target": "com.amazonaws.cloudfront#KeyGroupConfig", - "traits": { - "smithy.api#documentation": "

The key group configuration.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "KeyGroupConfig" - } } } }, @@ -12699,6 +13879,15 @@ "com.amazonaws.cloudfront#UpdateOriginRequestPolicyRequest": { "type": "structure", "members": { + "OriginRequestPolicyConfig": { + "target": "com.amazonaws.cloudfront#OriginRequestPolicyConfig", + "traits": { + "smithy.api#documentation": "

An origin request policy configuration.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "OriginRequestPolicyConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12713,15 +13902,6 @@ "smithy.api#documentation": "

The version of the origin request policy that you are updating. The version is returned in\n\t\t\tthe origin request policy’s ETag field in the response to\n\t\t\tGetOriginRequestPolicyConfig.

", "smithy.api#httpHeader": "If-Match" } - }, - "OriginRequestPolicyConfig": { - "target": "com.amazonaws.cloudfront#OriginRequestPolicyConfig", - "traits": { - "smithy.api#documentation": "

An origin request policy configuration.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "OriginRequestPolicyConfig" - } } } }, @@ -12787,6 +13967,15 @@ "com.amazonaws.cloudfront#UpdatePublicKeyRequest": { "type": "structure", "members": { + "PublicKeyConfig": { + "target": "com.amazonaws.cloudfront#PublicKeyConfig", + "traits": { + "smithy.api#documentation": "

A public key configuration.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "PublicKeyConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12801,15 +13990,6 @@ "smithy.api#documentation": "

The value of the ETag header that you received when retrieving the public key to update. \n\t\t\tFor example: E2QWRUHAPOMQZL.

", "smithy.api#httpHeader": "If-Match" } - }, - "PublicKeyConfig": { - "target": "com.amazonaws.cloudfront#PublicKeyConfig", - "traits": { - "smithy.api#documentation": "

A public key configuration.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "PublicKeyConfig" - } } } }, @@ -12906,6 +14086,100 @@ } } }, + "com.amazonaws.cloudfront#UpdateResponseHeadersPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudfront#UpdateResponseHeadersPolicyRequest" + }, + "output": { + "target": "com.amazonaws.cloudfront#UpdateResponseHeadersPolicyResult" + }, + "errors": [ + { + "target": "com.amazonaws.cloudfront#AccessDenied" + }, + { + "target": "com.amazonaws.cloudfront#IllegalUpdate" + }, + { + "target": "com.amazonaws.cloudfront#InconsistentQuantities" + }, + { + "target": "com.amazonaws.cloudfront#InvalidArgument" + }, + { + "target": "com.amazonaws.cloudfront#InvalidIfMatchVersion" + }, + { + "target": "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy" + }, + { + "target": "com.amazonaws.cloudfront#PreconditionFailed" + }, + { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyAlreadyExists" + }, + { + "target": "com.amazonaws.cloudfront#TooManyCustomHeadersInResponseHeadersPolicy" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a response headers policy.

\n\t\t

When you update a response headers policy, the entire policy is replaced. You cannot\n\t\t\tupdate some policy fields independent of others. To update a response headers policy\n\t\t\tconfiguration:

\n\t\t
    \n
  1. \n\t\t\t\t

    Use GetResponseHeadersPolicyConfig to get the current policy’s\n\t\t\t\t\tconfiguration.

    \n\t\t\t
  2. \n
  3. \n\t\t\t\t

    Modify the fields in the response headers policy configuration that you want\n\t\t\t\t\tto update.

    \n\t\t\t
  4. \n
  5. \n\t\t\t\t

    Call UpdateResponseHeadersPolicy, providing the entire response\n\t\t\t\t\theaders policy configuration, including the fields that you modified and those\n\t\t\t\t\tthat you didn’t.

    \n\t\t\t
  6. \n
", + "smithy.api#http": { + "method": "PUT", + "uri": "/2020-05-31/response-headers-policy/{Id}", + "code": 200 + } + } + }, + "com.amazonaws.cloudfront#UpdateResponseHeadersPolicyRequest": { + "type": "structure", + "members": { + "ResponseHeadersPolicyConfig": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicyConfig", + "traits": { + "smithy.api#documentation": "

A response headers policy configuration.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "ResponseHeadersPolicyConfig" + } + }, + "Id": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The identifier for the response headers policy that you are updating.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "IfMatch": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The version of the response headers policy that you are updating.

\n\t\t

The version is returned in the cache policy’s ETag field in the response\n\t\t\tto GetResponseHeadersPolicyConfig.

", + "smithy.api#httpHeader": "If-Match" + } + } + } + }, + "com.amazonaws.cloudfront#UpdateResponseHeadersPolicyResult": { + "type": "structure", + "members": { + "ResponseHeadersPolicy": { + "target": "com.amazonaws.cloudfront#ResponseHeadersPolicy", + "traits": { + "smithy.api#documentation": "

A response headers policy.

", + "smithy.api#httpPayload": {} + } + }, + "ETag": { + "target": "com.amazonaws.cloudfront#string", + "traits": { + "smithy.api#documentation": "

The current version of the response headers policy.

", + "smithy.api#httpHeader": "ETag" + } + } + } + }, "com.amazonaws.cloudfront#UpdateStreamingDistribution": { "type": "operation", "input": { @@ -12967,6 +14241,15 @@ "com.amazonaws.cloudfront#UpdateStreamingDistributionRequest": { "type": "structure", "members": { + "StreamingDistributionConfig": { + "target": "com.amazonaws.cloudfront#StreamingDistributionConfig", + "traits": { + "smithy.api#documentation": "

The streaming distribution's configuration information.

", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "StreamingDistributionConfig" + } + }, "Id": { "target": "com.amazonaws.cloudfront#string", "traits": { @@ -12981,15 +14264,6 @@ "smithy.api#documentation": "

The value of the ETag header that you received when retrieving the \n\t\t\tstreaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", "smithy.api#httpHeader": "If-Match" } - }, - "StreamingDistributionConfig": { - "target": "com.amazonaws.cloudfront#StreamingDistributionConfig", - "traits": { - "smithy.api#documentation": "

The streaming distribution's configuration information.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "StreamingDistributionConfig" - } } }, "traits": { @@ -13134,6 +14408,12 @@ "smithy.api#box": {} } }, + "com.amazonaws.cloudfront#sensitiveStringType": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.cloudfront#string": { "type": "string" }, diff --git a/codegen/sdk-codegen/aws-models/connect.2017-08-08.json b/codegen/sdk-codegen/aws-models/connect.2017-08-08.json index 8a0c583bc43..f19ca45cdbd 100644 --- a/codegen/sdk-codegen/aws-models/connect.2017-08-08.json +++ b/codegen/sdk-codegen/aws-models/connect.2017-08-08.json @@ -249,6 +249,21 @@ }, "com.amazonaws.connect#AmazonConnectService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Connect", + "arnNamespace": "connect", + "cloudFormationName": "Connect", + "cloudTrailEventSource": "connect.amazonaws.com", + "endpointPrefix": "connect" + }, + "aws.auth#sigv4": { + "name": "connect" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer\n contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing.\n You can also resolve customer issues more efficiently by getting customers in touch with the\n appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There are also limits\n to the number of requests that you can make per second. For more information, see Amazon Connect\n Service Quotas in the Amazon Connect Administrator Guide.

\n

You can\n connect\n programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see\n Amazon Connect\n Endpoints.

\n \n

Working with contact flows? Check out the Amazon Connect Flow language.

\n
", + "smithy.api#title": "Amazon Connect Service" + }, "version": "2017-08-08", "operations": [ { @@ -482,6 +497,9 @@ { "target": "com.amazonaws.connect#StartContactRecording" }, + { + "target": "com.amazonaws.connect#StartContactStreaming" + }, { "target": "com.amazonaws.connect#StartOutboundVoiceContact" }, @@ -494,6 +512,9 @@ { "target": "com.amazonaws.connect#StopContactRecording" }, + { + "target": "com.amazonaws.connect#StopContactStreaming" + }, { "target": "com.amazonaws.connect#SuspendContactRecording" }, @@ -578,22 +599,7 @@ { "target": "com.amazonaws.connect#UpdateUserSecurityProfiles" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Connect", - "arnNamespace": "connect", - "cloudFormationName": "Connect", - "cloudTrailEventSource": "connect.amazonaws.com", - "endpointPrefix": "connect" - }, - "aws.auth#sigv4": { - "name": "connect" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer\n contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing.\n You can also resolve customer issues more efficiently by getting customers in touch with the\n appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There are also limits\n to the number of requests that you can make per second. For more information, see Amazon Connect\n Service Quotas in the Amazon Connect Administrator Guide.

\n

You can\n connect\n programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see\n Amazon Connect\n Endpoints.

\n \n

Working with contact flows? Check out the Amazon Connect Flow language.

\n
", - "smithy.api#title": "Amazon Connect Service" - } + ] }, "com.amazonaws.connect#AnswerMachineDetectionConfig": { "type": "structure", @@ -1278,6 +1284,30 @@ "smithy.api#documentation": "

A chat message.

" } }, + "com.amazonaws.connect#ChatStreamingConfiguration": { + "type": "structure", + "members": { + "StreamingEndpointArn": { + "target": "com.amazonaws.connect#ChatStreamingEndpointARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the standard Amazon SNS topic. The Amazon Resource Name (ARN) of the streaming endpoint that is used\n to publish real-time message streaming for chat conversations.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The streaming configuration, such as the Amazon SNS streaming endpoint.

" + } + }, + "com.amazonaws.connect#ChatStreamingEndpointARN": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 350 + } + } + }, "com.amazonaws.connect#ClientToken": { "type": "string", "traits": { @@ -1774,7 +1804,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

Creates hours of operation.

", + "smithy.api#documentation": "

Creates hours of operation.

", "smithy.api#http": { "method": "PUT", "uri": "/hours-of-operations/{InstanceId}", @@ -2248,7 +2278,7 @@ "QuickConnectId": { "target": "com.amazonaws.connect#QuickConnectId", "traits": { - "smithy.api#documentation": "

The identifier for the quick connect. \n

" + "smithy.api#documentation": "

The identifier for the quick connect.

" } } } @@ -2862,7 +2892,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

Deletes an hours of operation.

", + "smithy.api#documentation": "

Deletes an hours of operation.

", "smithy.api#http": { "method": "DELETE", "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}", @@ -3355,7 +3385,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

Describes the hours of operation.

", + "smithy.api#documentation": "

Describes the hours of operation.

", "smithy.api#http": { "method": "GET", "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}", @@ -4730,7 +4760,7 @@ "CurrentMetrics": { "target": "com.amazonaws.connect#CurrentMetrics", "traits": { - "smithy.api#documentation": "

The metrics to retrieve. Specify the name and unit for each metric. The following metrics\n are available. For a description of all the metrics, see Real-time Metrics\n Definitions in the Amazon Connect Administrator Guide.

\n
\n
AGENTS_AFTER_CONTACT_WORK
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: ACW\n

\n\n
\n
AGENTS_AVAILABLE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Available\n

\n
\n
AGENTS_ERROR
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Error\n

\n
\n
AGENTS_NON_PRODUCTIVE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: NPT (Non-Productive Time)\n

\n
\n
AGENTS_ON_CALL
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: On\n contact\n

\n
\n
AGENTS_ON_CONTACT
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: On\n contact\n

\n
\n
AGENTS_ONLINE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Online\n

\n
\n
AGENTS_STAFFED
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Staffed\n

\n
\n
CONTACTS_IN_QUEUE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: In\n queue\n

\n
\n
CONTACTS_SCHEDULED
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Scheduled\n

\n
\n
OLDEST_CONTACT_AGE
\n
\n

Unit: SECONDS

\n

When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

\n

When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For\n example, if you get a response like this:

\n

\n { \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0\n }

\n

The actual OLDEST_CONTACT_AGE is 24 seconds.

\n\n

Name in real-time metrics report: Oldest\n

\n
\n
SLOTS_ACTIVE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Active\n

\n
\n
SLOTS_AVAILABLE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Availability\n

\n
\n
", + "smithy.api#documentation": "

The metrics to retrieve. Specify the name and unit for each metric. The following metrics\n are available. For a description of all the metrics, see Real-time Metrics\n Definitions in the Amazon Connect Administrator Guide.

\n
\n
AGENTS_AFTER_CONTACT_WORK
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: ACW\n

\n\n
\n
AGENTS_AVAILABLE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Available\n

\n
\n
AGENTS_ERROR
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Error\n

\n
\n
AGENTS_NON_PRODUCTIVE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: NPT (Non-Productive Time)\n

\n
\n
AGENTS_ON_CALL
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: On\n contact\n

\n
\n
AGENTS_ON_CONTACT
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: On\n contact\n

\n
\n
AGENTS_ONLINE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Online\n

\n
\n
AGENTS_STAFFED
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Staffed\n

\n
\n
CONTACTS_IN_QUEUE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: In\n queue\n

\n
\n
CONTACTS_SCHEDULED
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Scheduled\n

\n
\n
OLDEST_CONTACT_AGE
\n
\n

Unit: SECONDS

\n

When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

\n

When you do not use groupings, Unit says SECONDS but the Value is returned in\n MILLISECONDS. For example, if you get a response like this:

\n

\n { \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0\n }

\n

The actual OLDEST_CONTACT_AGE is 24 seconds.

\n\n

Name in real-time metrics report: Oldest\n

\n
\n
SLOTS_ACTIVE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Active\n

\n
\n
SLOTS_AVAILABLE
\n
\n

Unit: COUNT

\n

Name in real-time metrics report: Availability\n

\n
\n
", "smithy.api#required": {} } }, @@ -5493,14 +5523,14 @@ "StartTime": { "target": "com.amazonaws.connect#HoursOfOperationTimeSlice", "traits": { - "smithy.api#documentation": "

The start time that your contact center is open.

", + "smithy.api#documentation": "

The start time that your contact center opens.

", "smithy.api#required": {} } }, "EndTime": { "target": "com.amazonaws.connect#HoursOfOperationTimeSlice", "traits": { - "smithy.api#documentation": "

The end time that your contact center is closes.

", + "smithy.api#documentation": "

The end time that your contact center closes.

", "smithy.api#required": {} } } @@ -6474,7 +6504,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently associated with the\n instance.

", + "smithy.api#documentation": "

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

\n

For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently\n associated with the instance.

", "smithy.api#http": { "method": "GET", "uri": "/instance/{InstanceId}/bots", @@ -7198,7 +7228,7 @@ "target": "com.amazonaws.connect#MaxResult25", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#documentation": "

The maximum number of results to return per page. If no value is specified, the default is 10.\n

", "smithy.api#httpQuery": "maxResults" } } @@ -10919,6 +10949,86 @@ "type": "structure", "members": {} }, + "com.amazonaws.connect#StartContactStreaming": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#StartContactStreamingRequest" + }, + "output": { + "target": "com.amazonaws.connect#StartContactStreamingResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#LimitExceededException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Initiates real-time message streaming for a new chat contact.

\n

For more information about message streaming, see Enable real-time chat message\n streaming in the Amazon Connect Administrator Guide.

", + "smithy.api#http": { + "method": "POST", + "uri": "/contact/start-streaming", + "code": 200 + } + } + }, + "com.amazonaws.connect#StartContactStreamingRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "ContactId": { + "target": "com.amazonaws.connect#ContactId", + "traits": { + "smithy.api#documentation": "

The identifier of the contact. This is the identifier of the contact associated with the\n first interaction with the contact center.

", + "smithy.api#required": {} + } + }, + "ChatStreamingConfiguration": { + "target": "com.amazonaws.connect#ChatStreamingConfiguration", + "traits": { + "smithy.api#documentation": "

The streaming configuration, such as the Amazon SNS streaming endpoint.

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.connect#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#StartContactStreamingResponse": { + "type": "structure", + "members": { + "StreamingId": { + "target": "com.amazonaws.connect#StreamingId", + "traits": { + "smithy.api#documentation": "

The identifier of the streaming configuration enabled.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.connect#StartOutboundVoiceContact": { "type": "operation", "input": { @@ -10951,7 +11061,7 @@ } ], "traits": { - "smithy.api#documentation": "

Places an outbound call to a contact, and then initiates the contact flow. It performs the\n actions in the contact flow that's specified (in ContactFlowId).

\n \n

Agents do not initiate the outbound API, which means that they do not dial the contact. If\n the contact flow places an outbound call to a contact, and then puts the contact in queue, the\n call is then routed to the agent, like any other inbound case.

\n\n

There is a 60-second dialing timeout for this operation. If the call is not connected after\n 60 seconds, it fails.

\n \n

UK numbers with a 447 prefix are not allowed by default. Before you can dial these UK\n mobile numbers, you must submit a service quota increase request. For more information, see\n Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

\n
\n \n

Campaign calls are not allowed by default. Before you can make a call with \n TrafficType = CAMPAIGN, you must submit a service quota increase request. For more information, see \n Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

\n
", + "smithy.api#documentation": "

Places an outbound call to a contact, and then initiates the contact flow. It performs the\n actions in the contact flow that's specified (in ContactFlowId).

\n\n

Agents do not initiate the outbound API, which means that they do not dial the contact. If\n the contact flow places an outbound call to a contact, and then puts the contact in queue, the\n call is then routed to the agent, like any other inbound case.

\n\n

There is a 60-second dialing timeout for this operation. If the call is not connected after\n 60 seconds, it fails.

\n \n

UK numbers with a 447 prefix are not allowed by default. Before you can dial these UK\n mobile numbers, you must submit a service quota increase request. For more information, see\n Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

\n
\n \n

Campaign calls are not allowed by default. Before you can make a call with\n TrafficType = CAMPAIGN, you must submit a service quota increase\n request. For more information, see Amazon Connect Service Quotas\n in the Amazon Connect Administrator Guide.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/contact/outbound-voice", @@ -11023,7 +11133,7 @@ "TrafficType": { "target": "com.amazonaws.connect#TrafficType", "traits": { - "smithy.api#documentation": "

Denotes the class of traffic. Calls with different traffic types are handled differently by\n Amazon Connect. The default value is GENERAL. Use CAMPAIGN if\n EnableAnswerMachineDetection is set to true. For all other cases, use\n GENERAL.

" + "smithy.api#documentation": "

Denotes the class of traffic. Calls with different traffic types are handled differently by\n Amazon Connect. The default value is GENERAL. Use CAMPAIGN if\n EnableAnswerMachineDetection is set to true. For all other cases, use\n GENERAL.

" } } } @@ -11278,6 +11388,67 @@ "type": "structure", "members": {} }, + "com.amazonaws.connect#StopContactStreaming": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#StopContactStreamingRequest" + }, + "output": { + "target": "com.amazonaws.connect#StopContactStreamingResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Ends message streaming on a specified contact. To restart message streaming on that\n contact, call the StartContactStreaming\n API.

", + "smithy.api#http": { + "method": "POST", + "uri": "/contact/stop-streaming", + "code": 200 + } + } + }, + "com.amazonaws.connect#StopContactStreamingRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "ContactId": { + "target": "com.amazonaws.connect#ContactId", + "traits": { + "smithy.api#documentation": "

The identifier of the contact. This is the identifier of the contact that is associated with\n the first interaction with the contact center.

", + "smithy.api#required": {} + } + }, + "StreamingId": { + "target": "com.amazonaws.connect#StreamingId", + "traits": { + "smithy.api#documentation": "

The identifier of the streaming configuration enabled.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.connect#StopContactStreamingResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.connect#StorageType": { "type": "string", "traits": { @@ -11301,6 +11472,15 @@ ] } }, + "com.amazonaws.connect#StreamingId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.connect#String": { "type": "string" }, @@ -11422,7 +11602,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds the specified tags to the specified resource.

\n

The supported resource types are users, routing profiles, queues, quick connects, \n contact flows, agent status, and hours of operation.

\n

For sample policies that use tags, see Amazon Connect Identity-Based\n Policy Examples in the Amazon Connect Administrator Guide.

", + "smithy.api#documentation": "

Adds the specified tags to the specified resource.

\n

The supported resource types are users, routing profiles, queues, quick connects, contact\n flows, agent status, and hours of operation.

\n

For sample policies that use tags, see Amazon Connect Identity-Based\n Policy Examples in the Amazon Connect Administrator Guide.

", "smithy.api#http": { "method": "POST", "uri": "/tags/{resourceArn}", @@ -11918,7 +12098,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

Updates the hours of operation.

", + "smithy.api#documentation": "

Updates the hours of operation.

", "smithy.api#http": { "method": "POST", "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}", @@ -12025,7 +12205,7 @@ "AttributeType": { "target": "com.amazonaws.connect#InstanceAttributeType", "traits": { - "smithy.api#documentation": "

The type of attribute.

\n \n

Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact AWS Support for allowlisting.

\n
", + "smithy.api#documentation": "

The type of attribute.

\n \n

Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature,\n contact AWS Support for allowlisting.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } diff --git a/codegen/sdk-codegen/aws-models/connectparticipant.2018-09-07.json b/codegen/sdk-codegen/aws-models/connectparticipant.2018-09-07.json index 8ed4265c698..2010ec7798e 100644 --- a/codegen/sdk-codegen/aws-models/connectparticipant.2018-09-07.json +++ b/codegen/sdk-codegen/aws-models/connectparticipant.2018-09-07.json @@ -47,6 +47,21 @@ }, "com.amazonaws.connectparticipant#AmazonConnectParticipantServiceLambda": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "ConnectParticipant", + "arnNamespace": "connect", + "cloudFormationName": "ConnectParticipant", + "cloudTrailEventSource": "connectparticipant.amazonaws.com", + "endpointPrefix": "participant.connect" + }, + "aws.auth#sigv4": { + "name": "execute-api" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage\n a customer contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect enables customer contacts through voice or chat.

\n\n

The APIs described here are used by chat participants, such as agents and\n customers.

", + "smithy.api#title": "Amazon Connect Participant Service" + }, "version": "2018-09-07", "operations": [ { @@ -73,22 +88,7 @@ { "target": "com.amazonaws.connectparticipant#StartAttachmentUpload" } - ], - "traits": { - "aws.api#service": { - "sdkId": "ConnectParticipant", - "arnNamespace": "connect", - "cloudFormationName": "ConnectParticipant", - "cloudTrailEventSource": "connectparticipant.amazonaws.com", - "endpointPrefix": "participant.connect" - }, - "aws.auth#sigv4": { - "name": "execute-api" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage\n a customer contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect enables customer contacts through voice or chat.

\n\n

The APIs described here are used by chat participants, such as agents and\n customers.

", - "smithy.api#title": "Amazon Connect Participant Service" - } + ] }, "com.amazonaws.connectparticipant#ArtifactId": { "type": "string", @@ -185,6 +185,12 @@ "target": "com.amazonaws.connectparticipant#AttachmentItem" } }, + "com.amazonaws.connectparticipant#Bool": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.connectparticipant#ChatContent": { "type": "string", "traits": { @@ -255,6 +261,22 @@ { "value": "CONNECTION_ACK", "name": "CONNECTION_ACK" + }, + { + "value": "PARTICIPANT_ACTIVE", + "name": "PARTICIPANT_ACTIVE" + }, + { + "value": "PARTICIPANT_INACTIVE", + "name": "PARTICIPANT_INACTIVE" + }, + { + "value": "PARTICIPANT_ENGAGED", + "name": "PARTICIPANT_ENGAGED" + }, + { + "value": "PARTICIPANT_DISENGAGED", + "name": "PARTICIPANT_DISENGAGED" } ] } @@ -297,7 +319,7 @@ } ], "traits": { - "smithy.api#documentation": "

Allows you to confirm that the attachment has been uploaded using the pre-signed URL\n provided in StartAttachmentUpload API.

", + "smithy.api#documentation": "

Allows you to confirm that the attachment has been uploaded using the pre-signed URL\n provided in StartAttachmentUpload API.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/complete-attachment-upload", @@ -440,7 +462,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates the participant's connection. Note that ParticipantToken is used for invoking\n this API instead of ConnectionToken.

\n

The participant token is valid for the lifetime of the participant – until they are\n part of a contact.

\n

The response URL for WEBSOCKET Type has a connect expiry timeout of 100s.\n Clients must manually connect to the returned websocket URL and subscribe to the desired\n topic.

\n

For chat, you need to publish the following on the established websocket\n connection:

\n\n\n

\n {\"topic\":\"aws/subscribe\",\"content\":{\"topics\":[\"aws/chat\"]}}\n

\n\n

Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter,\n clients need to call this API again to obtain a new websocket URL and perform the same\n steps as before.

\n\n \n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

\n
", + "smithy.api#documentation": "

Creates the participant's connection. Note that ParticipantToken is used for invoking this API instead of\n ConnectionToken.

\n

The participant token is valid for the lifetime of the participant –\n until they are part of a contact.

\n

The response URL for WEBSOCKET Type has a connect expiry timeout of 100s.\n Clients must manually connect to the returned websocket URL and subscribe to the desired\n topic.

\n

For chat, you need to publish the following on the established websocket\n connection:

\n

\n {\"topic\":\"aws/subscribe\",\"content\":{\"topics\":[\"aws/chat\"]}}\n

\n

Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter,\n clients need to call this API again to obtain a new websocket URL and perform the same\n steps as before.

\n

\n Message streaming support: This API can also be used together with the\n StartContactStreaming\n API to create a participant connection for chat contacts that are\n not using a websocket. For more information about message streaming, Enable real-time chat message streaming in the Amazon Connect\n Administrator Guide.

\n

\n Feature specifications: For information about feature specifications, such as the allowed number of open\n websocket connections per participant, see Feature specifications in the Amazon Connect Administrator\n Guide.

\n \n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

\n
", "smithy.api#http": { "method": "POST", "uri": "/participant/connection", @@ -461,10 +483,16 @@ "ParticipantToken": { "target": "com.amazonaws.connectparticipant#ParticipantToken", "traits": { - "smithy.api#documentation": "

This is a header parameter.

\n

The Participant Token as obtained from StartChatContact\n API response.

", + "smithy.api#documentation": "

This is a header parameter.

\n

The ParticipantToken as obtained from StartChatContact\n API response.

", "smithy.api#httpHeader": "X-Amz-Bearer", "smithy.api#required": {} } + }, + "ConnectParticipant": { + "target": "com.amazonaws.connectparticipant#Bool", + "traits": { + "smithy.api#documentation": "

Amazon Connect Participant is used to mark the participant as connected for message\n streaming.

" + } } } }, @@ -508,7 +536,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disconnects a participant. Note that ConnectionToken is used for invoking this API\n instead of ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", + "smithy.api#documentation": "

Disconnects a participant. Note that ConnectionToken is used for invoking this API\n instead of ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/disconnect", @@ -572,7 +600,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides a pre-signed URL for download of a completed attachment. This is an\n asynchronous API for use with active contacts.

", + "smithy.api#documentation": "

Provides a pre-signed URL for download of a completed attachment. This is an\n asynchronous API for use with active contacts.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/attachment", @@ -606,7 +634,7 @@ "Url": { "target": "com.amazonaws.connectparticipant#PreSignedAttachmentUrl", "traits": { - "smithy.api#documentation": "

The pre-signed URL using which file would be downloaded from Amazon S3 by the API caller.

" + "smithy.api#documentation": "

This is the pre-signed URL that can be used for uploading the file to Amazon S3 when used in response \nto StartAttachmentUpload.

" } }, "UrlExpiry": { @@ -640,7 +668,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a transcript of the session, including details about any attachments. Note\n that ConnectionToken is used for invoking this API instead of ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", + "smithy.api#documentation": "

Retrieves a transcript of the session, including details about any attachments. Note\n that ConnectionToken is used for invoking this API instead of ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/transcript", @@ -957,7 +985,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sends an event. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", + "smithy.api#documentation": "

Sends an event. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/event", @@ -1038,7 +1066,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sends a message. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

\n \n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

\n
", + "smithy.api#documentation": "

Sends a message. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/message", @@ -1154,7 +1182,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides a pre-signed Amazon S3 URL in response for uploading the file directly to\n S3.

", + "smithy.api#documentation": "

Provides a pre-signed Amazon S3 URL in response for uploading the file directly to\n S3.

\n

The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

", "smithy.api#http": { "method": "POST", "uri": "/participant/start-attachment-upload", @@ -1275,7 +1303,7 @@ "Url": { "target": "com.amazonaws.connectparticipant#UploadMetadataUrl", "traits": { - "smithy.api#documentation": "

The pre-signed URL using which file would be downloaded from Amazon S3 by the API caller.

" + "smithy.api#documentation": "

This is the pre-signed URL that can be used for uploading the file to Amazon S3 when used in response \nto StartAttachmentUpload.

" } }, "UrlExpiry": { diff --git a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json index dd497c0a3aa..c1be42497de 100644 --- a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json +++ b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json @@ -29,6 +29,198 @@ ] }, "shapes": { + "com.amazonaws.ec2#AcceleratorCount": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum number of accelerators. If this parameter is not specified, there is no minimum\n limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum number of accelerators. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips)\n on an instance.

" + } + }, + "com.amazonaws.ec2#AcceleratorCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The minimum number of accelerators. To specify no minimum limit, omit this\n parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of accelerators. To specify no maximum limit, omit this\n parameter. To exclude accelerator-enabled instance types, set Max to\n 0.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips)\n on an instance. To exclude accelerator-enabled instance types, set Max to\n 0.

" + } + }, + "com.amazonaws.ec2#AcceleratorManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "nvidia", + "name": "NVIDIA" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + }, + { + "value": "xilinx", + "name": "XILINX" + } + ] + } + }, + "com.amazonaws.ec2#AcceleratorManufacturerSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AcceleratorManufacturer", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AcceleratorName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "a100", + "name": "A100" + }, + { + "value": "v100", + "name": "V100" + }, + { + "value": "k80", + "name": "K80" + }, + { + "value": "t4", + "name": "T4" + }, + { + "value": "m60", + "name": "M60" + }, + { + "value": "radeon-pro-v520", + "name": "RADEON_PRO_V520" + }, + { + "value": "vu9p", + "name": "VU9P" + } + ] + } + }, + "com.amazonaws.ec2#AcceleratorNameSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AcceleratorName", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AcceleratorTotalMemoryMiB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum amount of accelerator memory, in MiB. If this parameter is not specified,\n there is no minimum limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum amount of accelerator memory, in MiB. If this parameter is not specified,\n there is no maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

" + } + }, + "com.amazonaws.ec2#AcceleratorTotalMemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this\n parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this\n parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

" + } + }, + "com.amazonaws.ec2#AcceleratorType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "gpu", + "name": "GPU" + }, + { + "value": "fpga", + "name": "FPGA" + }, + { + "value": "inference", + "name": "INFERENCE" + } + ] + } + }, + "com.amazonaws.ec2#AcceleratorTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AcceleratorType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#AcceptReservedInstancesExchangeQuote": { "type": "operation", "input": { @@ -1148,6 +1340,24 @@ }, "com.amazonaws.ec2#AmazonEC2": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "EC2", + "arnNamespace": "ec2", + "cloudFormationName": "EC2", + "cloudTrailEventSource": "ec2.amazonaws.com", + "endpointPrefix": "ec2" + }, + "aws.auth#sigv4": { + "name": "ec2" + }, + "aws.protocols#ec2Query": {}, + "smithy.api#documentation": "Amazon Elastic Compute Cloud\n

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n AWS Cloud where you can launch AWS resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

\n

To learn more, see the following resources:

\n ", + "smithy.api#title": "Amazon Elastic Compute Cloud", + "smithy.api#xmlNamespace": { + "uri": "http://ec2.amazonaws.com/doc/2016-11-15" + } + }, "version": "2016-11-15", "operations": [ { @@ -2191,6 +2401,9 @@ { "target": "com.amazonaws.ec2#GetHostReservationPurchasePreview" }, + { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements" + }, { "target": "com.amazonaws.ec2#GetLaunchTemplateData" }, @@ -2209,6 +2422,9 @@ { "target": "com.amazonaws.ec2#GetSerialConsoleAccessStatus" }, + { + "target": "com.amazonaws.ec2#GetSpotPlacementScores" + }, { "target": "com.amazonaws.ec2#GetSubnetCidrReservations" }, @@ -2563,25 +2779,7 @@ { "target": "com.amazonaws.ec2#WithdrawByoipCidr" } - ], - "traits": { - "aws.api#service": { - "sdkId": "EC2", - "arnNamespace": "ec2", - "cloudFormationName": "EC2", - "cloudTrailEventSource": "ec2.amazonaws.com", - "endpointPrefix": "ec2" - }, - "aws.auth#sigv4": { - "name": "ec2" - }, - "aws.protocols#ec2Query": {}, - "smithy.api#documentation": "Amazon Elastic Compute Cloud\n

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n AWS Cloud where you can launch AWS resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

\n

To learn more, see the following resources:

\n ", - "smithy.api#title": "Amazon Elastic Compute Cloud", - "smithy.api#xmlNamespace": { - "uri": "http://ec2.amazonaws.com/doc/2016-11-15" - } - } + ] }, "com.amazonaws.ec2#AnalysisAclRule": { "type": "structure", @@ -3052,6 +3250,21 @@ } } }, + "com.amazonaws.ec2#ArchitectureTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ArchitectureType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, "com.amazonaws.ec2#ArchitectureValues": { "type": "string", "traits": { @@ -5200,6 +5413,25 @@ } } }, + "com.amazonaws.ec2#BareMetal": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + } + ] + } + }, "com.amazonaws.ec2#BareMetalFlag": { "type": "boolean", "traits": { @@ -5212,6 +5444,50 @@ "smithy.api#box": {} } }, + "com.amazonaws.ec2#BaselineEbsBandwidthMbps": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n minimum limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit\n this parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit\n this parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

" + } + }, "com.amazonaws.ec2#BaselineIops": { "type": "integer", "traits": { @@ -5608,6 +5884,25 @@ ] } }, + "com.amazonaws.ec2#BurstablePerformance": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + } + ] + } + }, "com.amazonaws.ec2#BurstablePerformanceFlag": { "type": "boolean", "traits": { @@ -8961,6 +9256,34 @@ } } }, + "com.amazonaws.ec2#CpuManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "intel", + "name": "INTEL" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + } + ] + } + }, + "com.amazonaws.ec2#CpuManufacturerSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CpuManufacturer", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#CpuOptions": { "type": "structure", "members": { @@ -20524,7 +20847,7 @@ "ExecutableUsers": { "target": "com.amazonaws.ec2#ExecutableByStringList", "traits": { - "smithy.api#documentation": "

Scopes the images by users with explicit launch permissions. \n Specify an Amazon Web Services account ID, self (the sender of the request),\n\t\t\t\tor all (public AMIs).

", + "smithy.api#documentation": "

Scopes the images by users with explicit launch permissions. \n Specify an Amazon Web Services account ID, self (the sender of the request),\n\t\t\t\tor all (public AMIs).

\n ", "smithy.api#xmlName": "ExecutableBy" } }, @@ -21422,7 +21745,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n ", + "smithy.api#documentation": "

The filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -31432,6 +31755,31 @@ ] } }, + "com.amazonaws.ec2#ExcludedInstanceType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\*]+$" + } + }, + "com.amazonaws.ec2#ExcludedInstanceTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ExcludedInstanceType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.ec2#ExecutableByStringList": { "type": "list", "member": { @@ -33094,7 +33442,7 @@ "target": "com.amazonaws.ec2#InstanceType", "traits": { "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

The instance type.

", + "smithy.api#documentation": "

The instance type.

\n \n

If you specify InstanceTypes, you can't specify\n InstanceRequirements.

\n
", "smithy.api#xmlName": "instanceType" } }, @@ -33145,6 +33493,14 @@ "smithy.api#documentation": "

The location where the instance launched, if applicable.

", "smithy.api#xmlName": "placement" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

\n
", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -33175,7 +33531,7 @@ "InstanceType": { "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

The instance type.

" + "smithy.api#documentation": "

The instance type.

\n \n

If you specify InstanceTypes, you can't specify\n InstanceRequirements.

\n
" } }, "MaxPrice": { @@ -33213,6 +33569,12 @@ "traits": { "smithy.api#documentation": "

The location where the instance launched, if applicable.

" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

\n
" + } } }, "traits": { @@ -34751,6 +35113,91 @@ } } }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult" + }, + "traits": { + "smithy.api#documentation": "

Returns a list of instance types with the specified instance attributes. You can\n use the response to preview the instance types without launching instances. Note\n that the response does not consider capacity.

\n

When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

\n

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\n placement score in the Amazon EC2 User Guide, and Creating an\n Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceTypes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "ArchitectureTypes": { + "target": "com.amazonaws.ec2#ArchitectureTypeSet", + "traits": { + "smithy.api#documentation": "

The processor architecture type.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "ArchitectureType" + } + }, + "VirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeSet", + "traits": { + "smithy.api#documentation": "

The virtualization type.

", + "smithy.api#required": {}, + "smithy.api#xmlName": "VirtualizationType" + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

The attributes required for the instance types.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results.

" + } + } + } + }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult": { + "type": "structure", + "members": { + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceTypeSet", + "smithy.api#documentation": "

The instance types with the specified instance attributes.

", + "smithy.api#xmlName": "instanceTypeSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token for the next set of results.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, "com.amazonaws.ec2#GetLaunchTemplateData": { "type": "operation", "input": { @@ -35182,207 +35629,149 @@ } } }, - "com.amazonaws.ec2#GetSubnetCidrReservations": { + "com.amazonaws.ec2#GetSpotPlacementScores": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetSubnetCidrReservationsRequest" + "target": "com.amazonaws.ec2#GetSpotPlacementScoresRequest" }, "output": { - "target": "com.amazonaws.ec2#GetSubnetCidrReservationsResult" + "target": "com.amazonaws.ec2#GetSpotPlacementScoresResult" }, "traits": { - "smithy.api#documentation": "

Gets information about the subnet CIDR reservations.

" - } - }, - "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 5, - "max": 1000 + "smithy.api#documentation": "

Calculates the Spot placement score for a Region or Availability Zone based on the\n specified target capacity and compute requirements.

\n

You can specify your compute requirements either by using\n InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal\n instance types to fulfill your Spot request, or you can specify the instance types by using\n InstanceTypes.

\n

For more information, see Spot placement score in\n the Amazon EC2 User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "SpotPlacementScores", + "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#GetSubnetCidrReservationsRequest": { + "com.amazonaws.ec2#GetSpotPlacementScoresRequest": { "type": "structure", "members": { - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypes", "traits": { - "smithy.api#documentation": "

One or more filters.

\n ", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

The instance types. We recommend that you specify at least three instance types. If you\n specify one or two instance types, or specify variations of a single instance type (for\n example, an m3.xlarge with and without instance storage), the returned\n placement score will always be low.

\n

If you specify InstanceTypes, you can't specify\n InstanceRequirementsWithMetadata.

", + "smithy.api#xmlName": "InstanceType" } }, - "SubnetId": { - "target": "com.amazonaws.ec2#SubnetId", + "TargetCapacity": { + "target": "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity", "traits": { - "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#documentation": "

The target capacity.

", "smithy.api#required": {} } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", "traits": { - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults", + "SingleAvailabilityZone": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" - } - } - } - }, - "com.amazonaws.ec2#GetSubnetCidrReservationsResult": { - "type": "structure", - "members": { - "SubnetIpv4CidrReservations": { - "target": "com.amazonaws.ec2#SubnetCidrReservationList", - "traits": { - "aws.protocols#ec2QueryName": "SubnetIpv4CidrReservationSet", - "smithy.api#documentation": "

Information about the IPv4 subnet CIDR reservations.

", - "smithy.api#xmlName": "subnetIpv4CidrReservationSet" + "smithy.api#documentation": "

Specify true so that the response returns a list of scored Availability Zones.\n Otherwise, the response returns a list of scored Regions.

\n

A list of scored Availability Zones is useful if you want to launch all of your Spot\n capacity into a single Availability Zone.

" } }, - "SubnetIpv6CidrReservations": { - "target": "com.amazonaws.ec2#SubnetCidrReservationList", + "RegionNames": { + "target": "com.amazonaws.ec2#RegionNames", "traits": { - "aws.protocols#ec2QueryName": "SubnetIpv6CidrReservationSet", - "smithy.api#documentation": "

Information about the IPv6 subnet CIDR reservations.

", - "smithy.api#xmlName": "subnetIpv6CidrReservationSet" + "smithy.api#documentation": "

The Regions used to narrow down the list of Regions to be scored. Enter the Region code,\n for example, us-east-1.

", + "smithy.api#xmlName": "RegionName" } }, - "NextToken": { - "target": "com.amazonaws.ec2#String", - "traits": { - "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "smithy.api#xmlName": "nextToken" - } - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagations": { - "type": "operation", - "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest" - }, - "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult" - }, - "traits": { - "smithy.api#documentation": "

Lists the route tables to which the specified resource attachment propagates routes.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "TransitGatewayAttachmentPropagations", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest": { - "type": "structure", - "members": { - "TransitGatewayAttachmentId": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", + "InstanceRequirementsWithMetadata": { + "target": "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest", "traits": { - "smithy.api#documentation": "

The ID of the attachment.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n

If you specify InstanceRequirementsWithMetadata, you can't specify\n InstanceTypes.

" } }, - "Filters": { - "target": "com.amazonaws.ec2#FilterList", + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n ", - "smithy.api#xmlName": "Filter" + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "target": "com.amazonaws.ec2#SpotPlacementScoresMaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The token for the next page of results.

" - } - }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", - "traits": { - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The token for the next set of results.

" } } } }, - "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult": { + "com.amazonaws.ec2#GetSpotPlacementScoresResult": { "type": "structure", "members": { - "TransitGatewayAttachmentPropagations": { - "target": "com.amazonaws.ec2#TransitGatewayAttachmentPropagationList", + "SpotPlacementScores": { + "target": "com.amazonaws.ec2#SpotPlacementScores", "traits": { - "aws.protocols#ec2QueryName": "TransitGatewayAttachmentPropagations", - "smithy.api#documentation": "

Information about the propagation route tables.

", - "smithy.api#xmlName": "transitGatewayAttachmentPropagations" + "aws.protocols#ec2QueryName": "SpotPlacementScoreSet", + "smithy.api#documentation": "

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale\n from 1 to 10. Each score\u2028 reflects how likely it is that each Region or Availability Zone\n will succeed at fulfilling the specified target capacity\u2028 at the time of the Spot\n placement score request. A score of 10 means that your Spot\n capacity request is highly likely to succeed in that Region or Availability Zone.

\n

If you request a Spot placement score for Regions, a high score assumes that your fleet\n request will be configured to use all Availability Zones and the\n capacity-optimized allocation strategy. If you request a Spot placement\n score for Availability Zones, a high score assumes that your fleet request will be\n configured to use a single Availability Zone and the capacity-optimized\n allocation strategy.

\n

Different\u2028 Regions or Availability Zones might return the same score.

\n \n

The Spot placement score serves as a recommendation only. No score guarantees that your\n Spot request will be fully or partially fulfilled.

\n
", + "smithy.api#xmlName": "spotPlacementScoreSet" } }, "NextToken": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#documentation": "

The token for the next set of results.

", "smithy.api#xmlName": "nextToken" } } } }, - "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociations": { + "com.amazonaws.ec2#GetSubnetCidrReservations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest" + "target": "com.amazonaws.ec2#GetSubnetCidrReservationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult" + "target": "com.amazonaws.ec2#GetSubnetCidrReservationsResult" }, "traits": { - "smithy.api#documentation": "

Gets information about the associations for the transit gateway multicast domain.

", - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "MulticastDomainAssociations", - "pageSize": "MaxResults" + "smithy.api#documentation": "

Gets information about the subnet CIDR reservations.

" + } + }, + "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 } } }, - "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest": { + "com.amazonaws.ec2#GetSubnetCidrReservationsRequest": { "type": "structure", "members": { - "TransitGatewayMulticastDomainId": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", - "traits": { - "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" - } - }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n ", + "smithy.api#documentation": "

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, - "MaxResults": { - "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", "traits": { - "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + "smithy.api#documentation": "

The ID of the subnet.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" } }, "NextToken": { @@ -35391,23 +35780,31 @@ "smithy.api#documentation": "

The token for the next page of results.

" } }, - "DryRun": { - "target": "com.amazonaws.ec2#Boolean", + "MaxResults": { + "target": "com.amazonaws.ec2#GetSubnetCidrReservationsMaxResults", "traits": { - "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" } } } }, - "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult": { + "com.amazonaws.ec2#GetSubnetCidrReservationsResult": { "type": "structure", "members": { - "MulticastDomainAssociations": { - "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociationList", + "SubnetIpv4CidrReservations": { + "target": "com.amazonaws.ec2#SubnetCidrReservationList", "traits": { - "aws.protocols#ec2QueryName": "MulticastDomainAssociations", - "smithy.api#documentation": "

Information about the multicast domain associations.

", - "smithy.api#xmlName": "multicastDomainAssociations" + "aws.protocols#ec2QueryName": "SubnetIpv4CidrReservationSet", + "smithy.api#documentation": "

Information about the IPv4 subnet CIDR reservations.

", + "smithy.api#xmlName": "subnetIpv4CidrReservationSet" + } + }, + "SubnetIpv6CidrReservations": { + "target": "com.amazonaws.ec2#SubnetCidrReservationList", + "traits": { + "aws.protocols#ec2QueryName": "SubnetIpv6CidrReservationSet", + "smithy.api#documentation": "

Information about the IPv6 subnet CIDR reservations.

", + "smithy.api#xmlName": "subnetIpv6CidrReservationSet" } }, "NextToken": { @@ -35420,38 +35817,189 @@ } } }, - "com.amazonaws.ec2#GetTransitGatewayPrefixListReferences": { + "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagations": { "type": "operation", "input": { - "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest" + "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest" }, "output": { - "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesResult" + "target": "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult" }, "traits": { - "smithy.api#documentation": "

Gets information about the prefix list references in a specified transit gateway route table.

", + "smithy.api#documentation": "

Lists the route tables to which the specified resource attachment propagates routes.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "TransitGatewayPrefixListReferences", + "items": "TransitGatewayAttachmentPropagations", "pageSize": "MaxResults" } } }, - "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest": { + "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsRequest": { "type": "structure", "members": { - "TransitGatewayRouteTableId": { - "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentId", "traits": { - "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#documentation": "

The ID of the attachment.

", "smithy.api#required": {} } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. The possible values are:

\n ", + "smithy.api#documentation": "

One or more filters. The possible values are:

\n ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + } + }, + "com.amazonaws.ec2#GetTransitGatewayAttachmentPropagationsResult": { + "type": "structure", + "members": { + "TransitGatewayAttachmentPropagations": { + "target": "com.amazonaws.ec2#TransitGatewayAttachmentPropagationList", + "traits": { + "aws.protocols#ec2QueryName": "TransitGatewayAttachmentPropagations", + "smithy.api#documentation": "

Information about the propagation route tables.

", + "smithy.api#xmlName": "transitGatewayAttachmentPropagations" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult" + }, + "traits": { + "smithy.api#documentation": "

Gets information about the associations for the transit gateway multicast domain.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "MulticastDomainAssociations", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsRequest": { + "type": "structure", + "members": { + "TransitGatewayMulticastDomainId": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway multicast domain.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n ", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#TransitGatewayMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + } + } + }, + "com.amazonaws.ec2#GetTransitGatewayMulticastDomainAssociationsResult": { + "type": "structure", + "members": { + "MulticastDomainAssociations": { + "target": "com.amazonaws.ec2#TransitGatewayMulticastDomainAssociationList", + "traits": { + "aws.protocols#ec2QueryName": "MulticastDomainAssociations", + "smithy.api#documentation": "

Information about the multicast domain associations.

", + "smithy.api#xmlName": "multicastDomainAssociations" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, + "com.amazonaws.ec2#GetTransitGatewayPrefixListReferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesResult" + }, + "traits": { + "smithy.api#documentation": "

Gets information about the prefix list references in a specified transit gateway route table.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "TransitGatewayPrefixListReferences", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetTransitGatewayPrefixListReferencesRequest": { + "type": "structure", + "members": { + "TransitGatewayRouteTableId": { + "target": "com.amazonaws.ec2#TransitGatewayRouteTableId", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway route table.

", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters. The possible values are:

\n ", "smithy.api#xmlName": "Filter" } }, @@ -39775,6 +40323,30 @@ "smithy.api#documentation": "

Describes the default credit option for CPU usage of a burstable performance instance family.

" } }, + "com.amazonaws.ec2#InstanceGeneration": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "current", + "name": "CURRENT" + }, + { + "value": "previous", + "name": "PREVIOUS" + } + ] + } + }, + "com.amazonaws.ec2#InstanceGenerationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceGeneration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#InstanceHealthStatus": { "type": "string", "traits": { @@ -40640,6 +41212,353 @@ } } }, + "com.amazonaws.ec2#InstanceRequirements": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.ec2#VCpuCountRange", + "traits": { + "aws.protocols#ec2QueryName": "VCpuCount", + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

", + "smithy.api#xmlName": "vCpuCount" + } + }, + "MemoryMiB": { + "target": "com.amazonaws.ec2#MemoryMiB", + "traits": { + "aws.protocols#ec2QueryName": "MemoryMiB", + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

", + "smithy.api#xmlName": "memoryMiB" + } + }, + "CpuManufacturers": { + "target": "com.amazonaws.ec2#CpuManufacturerSet", + "traits": { + "aws.protocols#ec2QueryName": "CpuManufacturerSet", + "smithy.api#documentation": "

The CPU manufacturers to include.

\n \n \n

Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

\n
\n

Default: Any manufacturer

", + "smithy.api#xmlName": "cpuManufacturerSet" + } + }, + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.ec2#MemoryGiBPerVCpu", + "traits": { + "aws.protocols#ec2QueryName": "MemoryGiBPerVCpu", + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "memoryGiBPerVCpu" + } + }, + "ExcludedInstanceTypes": { + "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", + "traits": { + "aws.protocols#ec2QueryName": "ExcludedInstanceTypeSet", + "smithy.api#documentation": "

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

\n

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

\n

Default: No excluded instance types

", + "smithy.api#xmlName": "excludedInstanceTypeSet" + } + }, + "InstanceGenerations": { + "target": "com.amazonaws.ec2#InstanceGenerationSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceGenerationSet", + "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

\n

For current generation instance types, specify current.

\n

For previous generation instance types, specify previous.

\n

Default: Current and previous generation instance types

", + "smithy.api#xmlName": "instanceGenerationSet" + } + }, + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "SpotMaxPricePercentageOverLowestPrice", + "smithy.api#documentation": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

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

\n

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

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n

Default: 100\n

", + "smithy.api#xmlName": "spotMaxPricePercentageOverLowestPrice" + } + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "OnDemandMaxPricePercentageOverLowestPrice", + "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

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

\n

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

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n

Default: 20\n

", + "smithy.api#xmlName": "onDemandMaxPricePercentageOverLowestPrice" + } + }, + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetal", + "traits": { + "aws.protocols#ec2QueryName": "BareMetal", + "smithy.api#documentation": "

Indicates whether bare metal instance types must be included, excluded, or required.

\n \n

Default: excluded\n

", + "smithy.api#xmlName": "bareMetal" + } + }, + "BurstablePerformance": { + "target": "com.amazonaws.ec2#BurstablePerformance", + "traits": { + "aws.protocols#ec2QueryName": "BurstablePerformance", + "smithy.api#documentation": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

\n \n

Default: excluded\n

", + "smithy.api#xmlName": "burstablePerformance" + } + }, + "RequireHibernateSupport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "RequireHibernateSupport", + "smithy.api#documentation": "

Indicates whether instance types must support hibernation for On-Demand\n Instances.

\n

This parameter is not supported for GetSpotPlacementScores.

\n

Default: false\n

", + "smithy.api#xmlName": "requireHibernateSupport" + } + }, + "NetworkInterfaceCount": { + "target": "com.amazonaws.ec2#NetworkInterfaceCount", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceCount", + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "networkInterfaceCount" + } + }, + "LocalStorage": { + "target": "com.amazonaws.ec2#LocalStorage", + "traits": { + "aws.protocols#ec2QueryName": "LocalStorage", + "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

\n \n

Default: included\n

", + "smithy.api#xmlName": "localStorage" + } + }, + "LocalStorageTypes": { + "target": "com.amazonaws.ec2#LocalStorageTypeSet", + "traits": { + "aws.protocols#ec2QueryName": "LocalStorageTypeSet", + "smithy.api#documentation": "

The type of local storage that is required.

\n \n

Default: hdd and sdd\n

", + "smithy.api#xmlName": "localStorageTypeSet" + } + }, + "TotalLocalStorageGB": { + "target": "com.amazonaws.ec2#TotalLocalStorageGB", + "traits": { + "aws.protocols#ec2QueryName": "TotalLocalStorageGB", + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "totalLocalStorageGB" + } + }, + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbps", + "traits": { + "aws.protocols#ec2QueryName": "BaselineEbsBandwidthMbps", + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "baselineEbsBandwidthMbps" + } + }, + "AcceleratorTypes": { + "target": "com.amazonaws.ec2#AcceleratorTypeSet", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorTypeSet", + "smithy.api#documentation": "

The accelerator types that must be on the instance type.

\n \n

Default: Any accelerator type

", + "smithy.api#xmlName": "acceleratorTypeSet" + } + }, + "AcceleratorCount": { + "target": "com.amazonaws.ec2#AcceleratorCount", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorCount", + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

\n

To exclude accelerator-enabled instance types, set Max to 0.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "acceleratorCount" + } + }, + "AcceleratorManufacturers": { + "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorManufacturerSet", + "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific manufacturers.

\n \n

Default: Any manufacturer

", + "smithy.api#xmlName": "acceleratorManufacturerSet" + } + }, + "AcceleratorNames": { + "target": "com.amazonaws.ec2#AcceleratorNameSet", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorNameSet", + "smithy.api#documentation": "

The accelerators that must be on the instance type.

\n \n

Default: Any accelerator

", + "smithy.api#xmlName": "acceleratorNameSet" + } + }, + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiB", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorTotalMemoryMiB", + "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

\n

Default: No minimum or maximum limits

", + "smithy.api#xmlName": "acceleratorTotalMemoryMiB" + } + } + }, + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

\n \n

You must specify VCpuCount and MemoryMiB. All other parameters\n are optional. Any unspecified optional parameter is set to its default.

\n
\n

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#InstanceRequirementsRequest": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.ec2#VCpuCountRangeRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

", + "smithy.api#required": {} + } + }, + "MemoryMiB": { + "target": "com.amazonaws.ec2#MemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

", + "smithy.api#required": {} + } + }, + "CpuManufacturers": { + "target": "com.amazonaws.ec2#CpuManufacturerSet", + "traits": { + "smithy.api#documentation": "

The CPU manufacturers to include.

\n \n \n

Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

\n
\n

Default: Any manufacturer

", + "smithy.api#xmlName": "CpuManufacturer" + } + }, + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.ec2#MemoryGiBPerVCpuRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

Default: No minimum or maximum limits

" + } + }, + "ExcludedInstanceTypes": { + "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

Default: No excluded instance types

", + "smithy.api#xmlName": "ExcludedInstanceType" + } + }, + "InstanceGenerations": { + "target": "com.amazonaws.ec2#InstanceGenerationSet", + "traits": { + "smithy.api#documentation": "

Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

\n

For current generation instance types, specify current.

\n

For previous generation instance types, specify previous.

\n

Default: Current and previous generation instance types

", + "smithy.api#xmlName": "InstanceGeneration" + } + }, + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

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

\n

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

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n

Default: 100\n

" + } + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

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

\n

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

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n

Default: 20\n

" + } + }, + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetal", + "traits": { + "smithy.api#documentation": "

Indicates whether bare metal instance types must be included, excluded, or required.

\n \n

Default: excluded\n

" + } + }, + "BurstablePerformance": { + "target": "com.amazonaws.ec2#BurstablePerformance", + "traits": { + "smithy.api#documentation": "

Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

\n \n

Default: excluded\n

" + } + }, + "RequireHibernateSupport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether instance types must support hibernation for On-Demand Instances.

\n

This parameter is not supported for GetSpotPlacementScores.

\n

Default: false\n

" + } + }, + "NetworkInterfaceCount": { + "target": "com.amazonaws.ec2#NetworkInterfaceCountRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

\n

Default: No minimum or maximum limits

" + } + }, + "LocalStorage": { + "target": "com.amazonaws.ec2#LocalStorage", + "traits": { + "smithy.api#documentation": "

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

\n \n

Default: included\n

" + } + }, + "LocalStorageTypes": { + "target": "com.amazonaws.ec2#LocalStorageTypeSet", + "traits": { + "smithy.api#documentation": "

The type of local storage that is required.

\n \n

Default: hdd and sdd\n

", + "smithy.api#xmlName": "LocalStorageType" + } + }, + "TotalLocalStorageGB": { + "target": "com.amazonaws.ec2#TotalLocalStorageGBRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

\n

Default: No minimum or maximum limits

" + } + }, + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

\n

Default: No minimum or maximum limits

" + } + }, + "AcceleratorTypes": { + "target": "com.amazonaws.ec2#AcceleratorTypeSet", + "traits": { + "smithy.api#documentation": "

The accelerator types that must be on the instance type.

\n \n

Default: Any accelerator type

", + "smithy.api#xmlName": "AcceleratorType" + } + }, + "AcceleratorCount": { + "target": "com.amazonaws.ec2#AcceleratorCountRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

\n

To exclude accelerator-enabled instance types, set Max to 0.

\n

Default: No minimum or maximum limits

" + } + }, + "AcceleratorManufacturers": { + "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", + "traits": { + "smithy.api#documentation": "

Indicates whether instance types must have accelerators by specific manufacturers.

\n \n

Default: Any manufacturer

", + "smithy.api#xmlName": "AcceleratorManufacturer" + } + }, + "AcceleratorNames": { + "target": "com.amazonaws.ec2#AcceleratorNameSet", + "traits": { + "smithy.api#documentation": "

The accelerators that must be on the instance type.

\n \n

Default: Any accelerator

", + "smithy.api#xmlName": "AcceleratorName" + } + }, + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total accelerator memory, in MiB.

\n

Default: No minimum or maximum limits

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

\n \n

You must specify VCpuCount and MemoryMiB. All other parameters\n are optional. Any unspecified optional parameter is set to its default.

\n
\n

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

" + } + }, + "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest": { + "type": "structure", + "members": { + "ArchitectureTypes": { + "target": "com.amazonaws.ec2#ArchitectureTypeSet", + "traits": { + "smithy.api#documentation": "

The architecture type.

", + "smithy.api#xmlName": "ArchitectureType" + } + }, + "VirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeSet", + "traits": { + "smithy.api#documentation": "

The virtualization type.

", + "smithy.api#xmlName": "VirtualizationType" + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The architecture type, virtualization type, and other attributes for the instance types.\n When you specify instance attributes, Amazon EC2 will identify instance types with those\n attributes.

\n

If you specify InstanceRequirementsWithMetadataRequest, you can't specify\n InstanceTypes.

" + } + }, "com.amazonaws.ec2#InstanceSpecification": { "type": "structure", "members": { @@ -42137,6 +43056,10 @@ "value": "d3en.12xlarge", "name": "d3en_12xlarge" }, + { + "value": "dl1.24xlarge", + "name": "dl1_24xlarge" + }, { "value": "f1.2xlarge", "name": "f1_2xlarge" @@ -42955,6 +43878,31 @@ "smithy.api#documentation": "

Describes the instance type.

" } }, + "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The matching instance type.

", + "smithy.api#xmlName": "instanceType" + } + } + }, + "traits": { + "smithy.api#documentation": "

The list of instance types with the specified instance attributes.

" + } + }, + "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#InstanceTypeInfoList": { "type": "list", "member": { @@ -43011,6 +43959,18 @@ } } }, + "com.amazonaws.ec2#InstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + } + } + }, "com.amazonaws.ec2#InstanceUsage": { "type": "structure", "members": { @@ -43873,6 +44833,22 @@ "smithy.api#documentation": "

The Amazon Web Services account ID.

\n

Constraints: Up to 10 000 account IDs can be specified in a single request.

", "smithy.api#xmlName": "userId" } + }, + "OrganizationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organization.

", + "smithy.api#xmlName": "organizationArn" + } + }, + "OrganizationalUnitArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationalUnitArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organizational unit (OU).

", + "smithy.api#xmlName": "organizationalUnitArn" + } } }, "traits": { @@ -45293,6 +46269,14 @@ "smithy.api#documentation": "

The priority for the launch template override. The highest priority is launched\n first.

\n

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet\n uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

\n

If the Spot AllocationStrategy is set to\n capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

\n

Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the launch template override has the lowest\n priority. You can set the same priority for different launch template overrides.

", "smithy.api#xmlName": "priority" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The instance requirements. When you specify instance requirements, Amazon EC2 will identify\n instance types with the provided requirements, and then use your On-Demand and Spot\n allocation strategies to launch instances from these instance types, in the same way as\n when you specify a list of instance types.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

\n
", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -46565,6 +47549,49 @@ } } }, + "com.amazonaws.ec2#LocalStorage": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + } + ] + } + }, + "com.amazonaws.ec2#LocalStorageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "hdd", + "name": "HDD" + }, + { + "value": "ssd", + "name": "SSD" + } + ] + } + }, + "com.amazonaws.ec2#LocalStorageTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalStorageType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#Location": { "type": "string" }, @@ -46782,6 +47809,50 @@ ] } }, + "com.amazonaws.ec2#MemoryGiBPerVCpu": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no minimum limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

\n

" + } + }, + "com.amazonaws.ec2#MemoryGiBPerVCpuRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this\n parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this\n parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU, in GiB.

" + } + }, "com.amazonaws.ec2#MemoryInfo": { "type": "structure", "members": { @@ -46798,6 +47869,51 @@ "smithy.api#documentation": "

Describes the memory for the instance type.

" } }, + "com.amazonaws.ec2#MemoryMiB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum\n limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum amount of memory, in MiB. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

" + } + }, + "com.amazonaws.ec2#MemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The minimum amount of memory, in MiB. To specify no minimum limit, specify\n 0.

", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum amount of memory, in MiB. To specify no maximum limit, omit this\n parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of memory, in MiB.

" + } + }, "com.amazonaws.ec2#MemorySize": { "type": "long", "traits": { @@ -47033,6 +48149,12 @@ "traits": { "smithy.api#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.

" } + }, + "AdditionalInfo": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Reserved for future use.

" + } } } }, @@ -47565,7 +48687,7 @@ "Attribute": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The name of the attribute to modify. \n The valid values are description and launchPermission.

" + "smithy.api#documentation": "

The name of the attribute to modify.

\n

Valid values: description | launchPermission\n

" } }, "Description": { @@ -47627,6 +48749,20 @@ "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

", "smithy.api#xmlName": "dryRun" } + }, + "OrganizationArns": { + "target": "com.amazonaws.ec2#OrganizationArnStringList", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

", + "smithy.api#xmlName": "OrganizationArn" + } + }, + "OrganizationalUnitArns": { + "target": "com.amazonaws.ec2#OrganizationalUnitArnStringList", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

", + "smithy.api#xmlName": "OrganizationalUnitArn" + } } }, "traits": { @@ -51284,6 +52420,14 @@ "smithy.api#documentation": "

The ID of the VPC.

", "smithy.api#xmlName": "vpcId" } + }, + "DenyAllIgwTraffic": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DenyAllIgwTraffic", + "smithy.api#documentation": "

Indicates whether a network interface with an IPv6 address is unreachable from the \n public internet. If the value is true, inbound traffic from the internet \n is dropped and you cannot assign an elastic IP address to the network interface. The \n network interface is reachable from peered VPCs and resources connected through a \n transit gateway, including on-premises networks.

", + "smithy.api#xmlName": "denyAllIgwTraffic" + } } }, "traits": { @@ -51476,6 +52620,50 @@ ] } }, + "com.amazonaws.ec2#NetworkInterfaceCount": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum number of network interfaces. If this parameter is not specified, there is no\n minimum limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum number of network interfaces. If this parameter is not specified, there is no\n maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

" + } + }, + "com.amazonaws.ec2#NetworkInterfaceCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The minimum number of network interfaces. To specify no minimum limit, omit this\n parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of network interfaces. To specify no maximum limit, omit this\n parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of network interfaces.

" + } + }, "com.amazonaws.ec2#NetworkInterfaceCreationType": { "type": "string", "traits": { @@ -51996,6 +53184,24 @@ ] } }, + "com.amazonaws.ec2#OrganizationArnStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "OrganizationArn" + } + } + }, + "com.amazonaws.ec2#OrganizationalUnitArnStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "OrganizationalUnitArn" + } + } + }, "com.amazonaws.ec2#OutpostArn": { "type": "string", "traits": { @@ -54478,6 +55684,18 @@ } } }, + "com.amazonaws.ec2#RegionNames": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, "com.amazonaws.ec2#RegisterImage": { "type": "operation", "input": { @@ -55922,7 +57140,7 @@ "InstanceType": { "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

The instance type. For more information, see Instance Types in the\n Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

The instance type. For more information, see Instance Types in the\n Amazon Elastic Compute Cloud User Guide.

\n

If you specify InstanceTypes, you can't specify\n InstanceRequirements.

" } }, "KeyName": { @@ -56050,6 +57268,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, \n\t\t\tsee \n\t\t\t\tWhat is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

\t\t\n\t\t

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

" + } } }, "traits": { @@ -58148,6 +59372,14 @@ "smithy.api#documentation": "

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

", "smithy.api#xmlName": "enclaveOptions" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

\n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -61946,6 +63178,14 @@ "smithy.api#documentation": "

The tags to apply during creation.

", "smithy.api#xmlName": "tagSpecificationSet" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

\n \n

If you specify InstanceRequirements, you can't specify\n InstanceTypes.

\n
", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -62221,6 +63461,14 @@ "smithy.api#xmlName": "context" } }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "aws.protocols#ec2QueryName": "TargetCapacityUnitType", + "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

", + "smithy.api#xmlName": "targetCapacityUnitType" + } + }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { @@ -62799,6 +64047,65 @@ "smithy.api#documentation": "

Describes Spot Instance placement.

" } }, + "com.amazonaws.ec2#SpotPlacementScore": { + "type": "structure", + "members": { + "Region": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Region", + "smithy.api#documentation": "

The Region.

", + "smithy.api#xmlName": "region" + } + }, + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The Availability Zone.

", + "smithy.api#xmlName": "availabilityZoneId" + } + }, + "Score": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Score", + "smithy.api#documentation": "

The placement score, on a scale from 1 to 10. A score of\n 10 indicates that your Spot request is highly likely to succeed in this\n Region or Availability Zone. A score of 1 indicates that your Spot request is\n not likely to succeed.

", + "smithy.api#xmlName": "score" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Spot placement score for this Region or Availability Zone. The score is calculated\n based on the assumption that the capacity-optimized allocation strategy is\n used and that all of the Availability Zones in the Region can be used.

" + } + }, + "com.amazonaws.ec2#SpotPlacementScores": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SpotPlacementScore", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SpotPlacementScoresMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 10, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 2000000000 + } + } + }, "com.amazonaws.ec2#SpotPrice": { "type": "structure", "members": { @@ -64090,6 +65397,14 @@ "smithy.api#documentation": "

The default TotalTargetCapacity, which is either Spot or\n On-Demand.

", "smithy.api#xmlName": "defaultTargetCapacityType" } + }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "aws.protocols#ec2QueryName": "TargetCapacityUnitType", + "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

", + "smithy.api#xmlName": "targetCapacityUnitType" + } } }, "traits": { @@ -64123,12 +65438,37 @@ "traits": { "smithy.api#documentation": "

The default TotalTargetCapacity, which is either Spot or\n On-Demand.

" } + }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "smithy.api#documentation": "

The unit for the target capacity.

\n

Default: units (translates to number of instances)

" + } } }, "traits": { "smithy.api#documentation": "

The number of units to request. You can choose to set the target capacity as the number of \n instances. Or you can set the target capacity to a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

\n

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance\n MaxTotalPrice parameter, or both parameters to ensure that your fleet cost\n does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances\n in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're\n willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops\n launching instances even if it hasn’t met the target capacity. The\n MaxTotalPrice parameters are located in OnDemandOptionsRequest \n and SpotOptionsRequest.

" } }, + "com.amazonaws.ec2#TargetCapacityUnitType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "vcpu", + "name": "VCPU" + }, + { + "value": "memory-mib", + "name": "MEMORY_MIB" + }, + { + "value": "units", + "name": "UNITS" + } + ] + } + }, "com.amazonaws.ec2#TargetConfiguration": { "type": "structure", "members": { @@ -64535,6 +65875,50 @@ } } }, + "com.amazonaws.ec2#TotalLocalStorageGB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum amount of total local storage, in GB. If this parameter is not specified, there is\n no minimum limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum amount of total local storage, in GB. If this parameter is not specified, there is\n no maximum limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

" + } + }, + "com.amazonaws.ec2#TotalLocalStorageGBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

The minimum amount of total local storage, in GB. To specify no minimum limit, omit this\n parameter.

" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

The maximum amount of total local storage, in GB. To specify no maximum limit, omit this\n parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum amount of total local storage, in GB.

" + } + }, "com.amazonaws.ec2#TrafficDirection": { "type": "string", "traits": { @@ -68223,6 +69607,51 @@ "smithy.api#box": {} } }, + "com.amazonaws.ec2#VCpuCountRange": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

The minimum number of vCPUs. If the value is 0, there is no minimum\n limit.

", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

The maximum number of vCPUs. If this parameter is not specified, there is no maximum\n limit.

", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

" + } + }, + "com.amazonaws.ec2#VCpuCountRangeRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The minimum number of vCPUs. To specify no minimum limit, specify 0.

", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The minimum and maximum number of vCPUs.

" + } + }, "com.amazonaws.ec2#VCpuInfo": { "type": "structure", "members": { @@ -68427,6 +69856,21 @@ } } }, + "com.amazonaws.ec2#VirtualizationTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VirtualizationType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + } + } + }, "com.amazonaws.ec2#Volume": { "type": "structure", "members": { @@ -70256,6 +71700,30 @@ "smithy.api#xmlName": "transitGatewayId" } }, + "CoreNetworkArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CoreNetworkArn", + "smithy.api#documentation": "

The ARN of the core network.

", + "smithy.api#xmlName": "coreNetworkArn" + } + }, + "CoreNetworkAttachmentArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CoreNetworkAttachmentArn", + "smithy.api#documentation": "

The ARN of the core network attachment.

", + "smithy.api#xmlName": "coreNetworkAttachmentArn" + } + }, + "GatewayAssociationState": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GatewayAssociationState", + "smithy.api#documentation": "

The current state of the gateway association.

", + "smithy.api#xmlName": "gatewayAssociationState" + } + }, "Options": { "target": "com.amazonaws.ec2#VpnConnectionOptions", "traits": { diff --git a/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json b/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json index 45e3c4ee45d..70f795c150b 100644 --- a/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json +++ b/codegen/sdk-codegen/aws-models/ecs.2014-11-13.json @@ -74,6 +74,24 @@ }, "com.amazonaws.ecs#AmazonEC2ContainerServiceV20141113": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "ECS", + "arnNamespace": "ecs", + "cloudFormationName": "ECS", + "cloudTrailEventSource": "ecs.amazonaws.com", + "endpointPrefix": "ecs" + }, + "aws.auth#sigv4": { + "name": "ecs" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "Amazon Elastic Container Service\n\t\t

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes\n\t\t\tit easy to run, stop, and manage Docker containers on a cluster. You can host your\n\t\t\tcluster on a serverless infrastructure that is managed by Amazon ECS by launching your\n\t\t\tservices or tasks on Fargate. For more control, you can host your tasks on a cluster\n\t\t\tof Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

\n\t\t

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls, allows you to get the state of your cluster from a centralized service, and gives\n\t\t\tyou access to many familiar Amazon EC2 features.

\n\t\t

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. Amazon ECS eliminates\n\t\t\tthe need for you to operate your own cluster management and configuration management\n\t\t\tsystems or worry about scaling your management infrastructure.

", + "smithy.api#title": "Amazon EC2 Container Service", + "smithy.api#xmlNamespace": { + "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" + } + }, "version": "2014-11-13", "operations": [ { @@ -232,25 +250,7 @@ { "target": "com.amazonaws.ecs#UpdateTaskSet" } - ], - "traits": { - "aws.api#service": { - "sdkId": "ECS", - "arnNamespace": "ecs", - "cloudFormationName": "ECS", - "cloudTrailEventSource": "ecs.amazonaws.com", - "endpointPrefix": "ecs" - }, - "aws.auth#sigv4": { - "name": "ecs" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Elastic Container Service\n\t\t

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes\n\t\t\tit easy to run, stop, and manage Docker containers on a cluster. You can host your\n\t\t\tcluster on a serverless infrastructure that is managed by Amazon ECS by launching your\n\t\t\tservices or tasks on Fargate. For more control, you can host your tasks on a cluster\n\t\t\tof Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

\n\t\t

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls, allows you to get the state of your cluster from a centralized service, and gives\n\t\t\tyou access to many familiar Amazon EC2 features.

\n\t\t

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. Amazon ECS eliminates\n\t\t\tthe need for you to operate your own cluster management and configuration management\n\t\t\tsystems or worry about scaling your management infrastructure.

", - "smithy.api#title": "Amazon EC2 Container Service", - "smithy.api#xmlNamespace": { - "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" - } - } + ] }, "com.amazonaws.ecs#AssignPublicIp": { "type": "string", @@ -491,6 +491,21 @@ "smithy.api#box": {} } }, + "com.amazonaws.ecs#CPUArchitecture": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "X86_64", + "name": "X86_64" + }, + { + "value": "ARM64", + "name": "ARM64" + } + ] + } + }, "com.amazonaws.ecs#CapacityProvider": { "type": "structure", "members": { @@ -1190,19 +1205,19 @@ "dependsOn": { "target": "com.amazonaws.ecs#ContainerDependencies", "traits": { - "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n\t\t

For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

\n\t\t

For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later.

" + "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n\t\t

For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

\n\t\t

For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

\n\t\t " } }, "startTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it does not reach the desired status within that\n\t\t\ttime then containerA will give up and not start. This results in the task transitioning\n\t\t\tto a STOPPED state.

\n\t\t \n\t\t\t

When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it is enforced indendently from this start timeout value.

\n\t\t
\n\t\t

For tasks using the Fargate launch type, this parameter requires that\n\t\t\tthe task or service uses platform version 1.3.0 or later.

\n\t\t

For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it does not reach the desired status within that\n\t\t\ttime then containerA will give up and not start. This results in the task transitioning\n\t\t\tto a STOPPED state.

\n\t\t \n\t\t\t

When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it is enforced indendently from this start timeout value.

\n\t\t
\n\t\t

For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

\n\t\t \n\t\t

For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" } }, "stopTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

\n\t\t

For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the\n\t\t\tparameter is not specified, the default value of 30 seconds is used.

\n\t\t

For tasks using the EC2 launch type, if the stopTimeout\n\t\t\tparameter is not specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to enable a container stop\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

\n\t\t

For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

\n\t\t \n\t\t

The max stop timeout value is 120 seconds and if the\n\t\t\tparameter is not specified, the default value of 30 seconds is used.

\n\t\t

For tasks using the EC2 launch type, if the stopTimeout\n\t\t\tparameter is not specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to enable a container stop\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" } }, "hostname": { @@ -1355,7 +1370,7 @@ } }, "traits": { - "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n\t\t

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto enable container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

\n\t\t \n\t\t\t

For tasks using the Fargate launch type, this parameter requires\n\t\t\t\tthat the task or service uses platform version 1.3.0 or later.

\n\t\t
" + "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n\t\t

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto enable container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

\n\t\t \n\t\t\t

For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

\n\t\t\t \n\t\t
" } }, "com.amazonaws.ecs#ContainerInstance": { @@ -2544,6 +2559,12 @@ "smithy.api#documentation": "

The platform version on which your tasks in the service are running. A platform\n\t\t\tversion is only specified for tasks using the Fargate launch type. If one\n\t\t\tis not specified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

" } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The operating system that your tasks in the service, or tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

\n\t\t

All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

" + } + }, "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { @@ -3626,7 +3647,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information on the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

\n\t\t

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they are processed from the top down. It is recommended to use unique\n\t\t\tvariable names. For more information, see Specifying environment\n\t\t\t\tvariables in the Amazon Elastic Container Service Developer Guide.

\n\t\t

This field is only valid for containers in Fargate tasks that use\n\t\t\tplatform version 1.4.0 or later.

" + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information on the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

\n\t\t

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they are processed from the top down. It is recommended to use unique\n\t\t\tvariable names. For more information, see Specifying environment\n\t\t\t\tvariables in the Amazon Elastic Container Service Developer Guide.

\n\t\t

This parameter is only supported for tasks hosted on Fargate using the following platform versions:

\n\t\t " } }, "com.amazonaws.ecs#EnvironmentFileType": { @@ -3664,7 +3685,7 @@ } }, "traits": { - "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

\n\t\t \n\t\t\t

This parameter is only supported for tasks hosted on Fargate using platform\n\t\t\t\tversion 1.4.0 or later.

\n\t\t
" + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

\n\t\t \n\t\t\t

This parameter is only supported for tasks hosted on Fargate using the following platform versions:

\n\t\t\t \n\t\t
" } }, "com.amazonaws.ecs#ExecuteCommand": { @@ -3749,7 +3770,7 @@ "s3EncryptionEnabled": { "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

Whether or not to enable encryption on the CloudWatch logs. If not specified,\n\t\t\tencryption will be disabled.

" + "smithy.api#documentation": "

Whether or not to use encryption on the S3 logs. If not specified,\n\t\t\tencryption is not used.

" } }, "s3KeyPrefix": { @@ -5490,6 +5511,45 @@ "smithy.api#error": "client" } }, + "com.amazonaws.ecs#OSFamily": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WINDOWS_SERVER_2019_FULL", + "name": "WINDOWS_SERVER_2019_FULL" + }, + { + "value": "WINDOWS_SERVER_2019_CORE", + "name": "WINDOWS_SERVER_2019_CORE" + }, + { + "value": "WINDOWS_SERVER_2016_FULL", + "name": "WINDOWS_SERVER_2016_FULL" + }, + { + "value": "WINDOWS_SERVER_2004_CORE", + "name": "WINDOWS_SERVER_2004_CORE" + }, + { + "value": "WINDOWS_SERVER_2022_CORE", + "name": "WINDOWS_SERVER_2022_CORE" + }, + { + "value": "WINDOWS_SERVER_2022_FULL", + "name": "WINDOWS_SERVER_2022_FULL" + }, + { + "value": "WINDOWS_SERVER_20H2_CORE", + "name": "WINDOWS_SERVER_20H2_CORE" + }, + { + "value": "LINUX", + "name": "LINUX" + } + ] + } + }, "com.amazonaws.ecs#PidMode": { "type": "string", "traits": { @@ -6195,7 +6255,13 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

\n\t\t \n\t\t\t

This parameter is only supported for tasks hosted on Fargate using platform\n\t\t\t\tversion 1.4.0 or later.

\n\t\t
" + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

\n\t\t \n\t\t\t

This parameter is only supported for tasks hosted on Fargate using the following platform versions:

\n\t\t\t \n\t\t
" + } + }, + "runtimePlatform": { + "target": "com.amazonaws.ecs#RuntimePlatform", + "traits": { + "smithy.api#documentation": "

The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.

\n\t\t

When you specify a task definition in a service, this value must match the runtimePlatform value of the service.

" } } } @@ -6521,6 +6587,26 @@ } } }, + "com.amazonaws.ecs#RuntimePlatform": { + "type": "structure", + "members": { + "cpuArchitecture": { + "target": "com.amazonaws.ecs#CPUArchitecture", + "traits": { + "smithy.api#documentation": "

The CPU architecture.

" + } + }, + "operatingSystemFamily": { + "target": "com.amazonaws.ecs#OSFamily", + "traits": { + "smithy.api#documentation": "

The operating system.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the platform for the Amazon ECS service or task.

" + } + }, "com.amazonaws.ecs#Scale": { "type": "structure", "members": { @@ -6703,6 +6789,12 @@ "smithy.api#documentation": "

The platform version on which to run your service. A platform version is only\n\t\t\tspecified for tasks hosted on Fargate. If one is not specified, the\n\t\t\t\tLATEST platform version is used by default. For more information, see\n\t\t\t\tFargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

" } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The operating system that your tasks in the service are running on. A platform family is specified only for tasks using the Fargate launch type.

\n\t\t

All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX.

" + } + }, "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { @@ -7805,6 +7897,12 @@ "smithy.api#documentation": "

The platform version on which your task is running. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one is not\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

" } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The operating system that your tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

\n\t\t

All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

" + } + }, "pullStartedAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { @@ -7963,6 +8061,12 @@ "smithy.api#documentation": "

The task launch types the task definition validated against during task definition\n\t\t\tregistration. For more information, see Amazon ECS launch types\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, + "runtimePlatform": { + "target": "com.amazonaws.ecs#RuntimePlatform", + "traits": { + "smithy.api#documentation": "

The operating system that your task definitions are running on. A platform family is specified only for tasks using the Fargate launch type.

\n\t\t

When you specify a task in a service, this value must match the runtimePlatform value of the service.

" + } + }, "requiresCompatibilities": { "target": "com.amazonaws.ecs#CompatibilityList", "traits": { @@ -8181,7 +8285,7 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The ephemeral storage setting override for the task.

\n\t\t \n\t\t\t

This parameter is only supported for tasks hosted on Fargate using platform\n\t\t\t\tversion 1.4.0 or later.

\n\t\t
" + "smithy.api#documentation": "

The ephemeral storage setting override for the task.

\n\t\t \n\t\t\t

This parameter is only supported for tasks hosted on Fargate using the following platform versions:

\n\t\t\t \n\t\t
" } } }, @@ -8288,6 +8392,12 @@ "smithy.api#documentation": "

The Fargate platform version on which the tasks in the task set are running. A\n\t\t\tplatform version is only specified for tasks run on Fargate. For more information, see\n\t\t\t\tFargate platform\n\t\t\t\tversions in the Amazon Elastic Container Service Developer Guide.

" } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

The operating system that your tasks in the set are running on. A platform family is specified only for tasks using the Fargate launch type.

\n\t\t

All tasks in the set must have the same value.

" + } + }, "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { diff --git a/codegen/sdk-codegen/aws-models/eks.2017-11-01.json b/codegen/sdk-codegen/aws-models/eks.2017-11-01.json index 7f8cc12e57f..1d86fc97f21 100644 --- a/codegen/sdk-codegen/aws-models/eks.2017-11-01.json +++ b/codegen/sdk-codegen/aws-models/eks.2017-11-01.json @@ -48,12 +48,35 @@ { "value": "CUSTOM", "name": "CUSTOM" + }, + { + "value": "BOTTLEROCKET_ARM_64", + "name": "BOTTLEROCKET_ARM_64" + }, + { + "value": "BOTTLEROCKET_x86_64", + "name": "BOTTLEROCKET_x86_64" } ] } }, "com.amazonaws.eks#AWSWesleyFrontend": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "EKS", + "arnNamespace": "eks", + "cloudFormationName": "EKS", + "cloudTrailEventSource": "eks.amazonaws.com", + "endpointPrefix": "eks" + }, + "aws.auth#sigv4": { + "name": "eks" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on\n Amazon Web Services without needing to stand up or maintain your own Kubernetes control plane.\n Kubernetes is an open-source system for automating the deployment, scaling, and\n management of containerized applications.

\n

Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use\n all the existing plugins and tooling from the Kubernetes community. Applications running\n on Amazon EKS are fully compatible with applications running on any standard Kubernetes\n environment, whether running in on-premises data centers or public clouds. This means\n that you can easily migrate any standard Kubernetes application to Amazon EKS without any\n code modification required.

", + "smithy.api#title": "Amazon Elastic Kubernetes Service" + }, "version": "2017-11-01", "operations": [ { @@ -158,22 +181,7 @@ { "target": "com.amazonaws.eks#UpdateNodegroupVersion" } - ], - "traits": { - "aws.api#service": { - "sdkId": "EKS", - "arnNamespace": "eks", - "cloudFormationName": "EKS", - "cloudTrailEventSource": "eks.amazonaws.com", - "endpointPrefix": "eks" - }, - "aws.auth#sigv4": { - "name": "eks" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on\n Amazon Web Services without needing to stand up or maintain your own Kubernetes control plane.\n Kubernetes is an open-source system for automating the deployment, scaling, and\n management of containerized applications.

\n

Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use\n all the existing plugins and tooling from the Kubernetes community. Applications running\n on Amazon EKS are fully compatible with applications running on any standard Kubernetes\n environment, whether running in on-premises data centers or public clouds. This means\n that you can easily migrate any standard Kubernetes application to Amazon EKS without any\n code modification required.

", - "smithy.api#title": "Amazon Elastic Kubernetes Service" - } + ] }, "com.amazonaws.eks#Addon": { "type": "structure", diff --git a/codegen/sdk-codegen/aws-models/emrcontainers.2020-10-01.json b/codegen/sdk-codegen/aws-models/emrcontainers.2020-10-01.json index 5a6baef6e02..1ed30a44ccb 100644 --- a/codegen/sdk-codegen/aws-models/emrcontainers.2020-10-01.json +++ b/codegen/sdk-codegen/aws-models/emrcontainers.2020-10-01.json @@ -105,6 +105,16 @@ "smithy.api#title": "Amazon EMR Containers" } }, + "com.amazonaws.emrcontainers#Base64Encoded": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5000 + }, + "smithy.api#pattern": "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$" + } + }, "com.amazonaws.emrcontainers#CancelJobRun": { "type": "operation", "input": { @@ -168,6 +178,26 @@ } } }, + "com.amazonaws.emrcontainers#Certificate": { + "type": "structure", + "members": { + "certificateArn": { + "target": "com.amazonaws.emrcontainers#ACMCertArn", + "traits": { + "smithy.api#documentation": "

The ARN of the certificate generated for managed endpoint.

" + } + }, + "certificateData": { + "target": "com.amazonaws.emrcontainers#Base64Encoded", + "traits": { + "smithy.api#documentation": "

The base64 encoded PEM certificate data generated for managed endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The entity representing certificate data generated for managed endpoint.

" + } + }, "com.amazonaws.emrcontainers#ClientToken": { "type": "string", "traits": { @@ -391,8 +421,10 @@ "certificateArn": { "target": "com.amazonaws.emrcontainers#ACMCertArn", "traits": { - "smithy.api#documentation": "

The certificate ARN of the managed endpoint.

", - "smithy.api#required": {} + "smithy.api#deprecated": { + "message": "Customer provided certificate-arn is deprecated and would be removed in future." + }, + "smithy.api#documentation": "

The certificate ARN provided by users for the managed endpoint. This fiedd is under deprecation and will be removed in future releases.

" } }, "configurationOverrides": { @@ -885,7 +917,16 @@ "certificateArn": { "target": "com.amazonaws.emrcontainers#ACMCertArn", "traits": { - "smithy.api#documentation": "

The certificate ARN of the endpoint.

" + "smithy.api#deprecated": { + "message": "Customer provided certificate-arn is deprecated and would be removed in future." + }, + "smithy.api#documentation": "

The certificate ARN of the endpoint. This field is under deprecation and will be removed in future.

" + } + }, + "certificateAuthority": { + "target": "com.amazonaws.emrcontainers#Certificate", + "traits": { + "smithy.api#documentation": "

The certificate generated by emr control plane on customer behalf to secure the managed endpoint.

" } }, "configurationOverrides": { diff --git a/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json b/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json index 88a19646dac..e48579ce58e 100644 --- a/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json +++ b/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json @@ -156,19 +156,19 @@ "com.amazonaws.gamelift#AliasArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:alias\\/alias-\\S+" + "smithy.api#pattern": "^arn:.*:alias\\/alias-\\S+$" } }, "com.amazonaws.gamelift#AliasId": { "type": "string", "traits": { - "smithy.api#pattern": "^alias-\\S+" + "smithy.api#pattern": "^alias-\\S+$" } }, "com.amazonaws.gamelift#AliasIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^alias-\\S+|^arn:.*:alias\\/alias-\\S+" + "smithy.api#pattern": "^alias-\\S+|^arn:.*:alias\\/alias-\\S+$" } }, "com.amazonaws.gamelift#AliasList": { @@ -193,7 +193,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9:/-]+" + "smithy.api#pattern": "^[a-zA-Z0-9:/-]+$" } }, "com.amazonaws.gamelift#AttributeValue": { @@ -235,7 +235,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } }, "com.amazonaws.gamelift#AwsCredentials": { @@ -364,19 +364,19 @@ "com.amazonaws.gamelift#BuildArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:build\\/build-\\S+" + "smithy.api#pattern": "^arn:.*:build\\/build-\\S+$" } }, "com.amazonaws.gamelift#BuildId": { "type": "string", "traits": { - "smithy.api#pattern": "^build-\\S+" + "smithy.api#pattern": "^build-\\S+$" } }, "com.amazonaws.gamelift#BuildIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^build-\\S+|^arn:.*:build\\/build-\\S+" + "smithy.api#pattern": "^build-\\S+|^arn:.*:build\\/build-\\S+$" } }, "com.amazonaws.gamelift#BuildList": { @@ -738,6 +738,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -773,13 +776,13 @@ } }, "ServerLaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchPathStringModel", "traits": { "smithy.api#documentation": "

\n This parameter is no longer used. Specify a server\n launch path using the RuntimeConfiguration parameter. Requests that use\n this parameter instead continue to be valid.

" } }, "ServerLaunchParameters": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchParametersStringModel", "traits": { "smithy.api#documentation": "

\n This parameter is no longer used. Specify server\n launch parameters using the RuntimeConfiguration parameter. Requests that\n use this parameter instead continue to be valid.

" } @@ -897,6 +900,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -1126,6 +1132,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -2046,6 +2055,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -2658,6 +2670,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -2962,6 +2977,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3058,6 +3076,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3120,6 +3141,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3530,6 +3554,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3766,6 +3793,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3867,6 +3897,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -4317,6 +4350,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -5218,7 +5254,7 @@ "com.amazonaws.gamelift#FleetArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:fleet\\/fleet-\\S+" + "smithy.api#pattern": "^arn:.*:fleet\\/fleet-\\S+$" } }, "com.amazonaws.gamelift#FleetAttributes": { @@ -5303,13 +5339,13 @@ } }, "ServerLaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchPathStringModel", "traits": { "smithy.api#documentation": "

\n This parameter is no longer used. Server launch paths\n are now defined using the fleet's RuntimeConfiguration parameter.\n Requests that use this parameter instead continue to be valid.

" } }, "ServerLaunchParameters": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchParametersStringModel", "traits": { "smithy.api#documentation": "

\n This parameter is no longer used. Server launch\n parameters are now defined using the fleet's RuntimeConfiguration\n parameter. Requests that use this parameter instead continue to be valid.

" } @@ -5432,7 +5468,7 @@ "com.amazonaws.gamelift#FleetId": { "type": "string", "traits": { - "smithy.api#pattern": "^fleet-\\S+" + "smithy.api#pattern": "^fleet-\\S+$" } }, "com.amazonaws.gamelift#FleetIdList": { @@ -5449,7 +5485,7 @@ "com.amazonaws.gamelift#FleetIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^fleet-\\S+|^arn:.*:fleet\\/fleet-\\S+" + "smithy.api#pattern": "^fleet-\\S+|^arn:.*:fleet\\/fleet-\\S+$" } }, "com.amazonaws.gamelift#FleetIdOrArnList": { @@ -6051,7 +6087,7 @@ "min": 1, "max": 512 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.gamelift#GameServerData": { @@ -6061,7 +6097,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.gamelift#GameServerGroup": { @@ -6174,7 +6210,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#GameServerGroupAutoScalingPolicy": { @@ -6305,6 +6341,38 @@ "value": "c5a.24xlarge", "name": "c5a_24xlarge" }, + { + "value": "c6g.medium", + "name": "c6g_medium" + }, + { + "value": "c6g.large", + "name": "c6g_large" + }, + { + "value": "c6g.xlarge", + "name": "c6g_xlarge" + }, + { + "value": "c6g.2xlarge", + "name": "c6g_2xlarge" + }, + { + "value": "c6g.4xlarge", + "name": "c6g_4xlarge" + }, + { + "value": "c6g.8xlarge", + "name": "c6g_8xlarge" + }, + { + "value": "c6g.12xlarge", + "name": "c6g_12xlarge" + }, + { + "value": "c6g.16xlarge", + "name": "c6g_16xlarge" + }, { "value": "r4.large", "name": "r4_large" @@ -6393,6 +6461,38 @@ "value": "r5a.24xlarge", "name": "r5a_24xlarge" }, + { + "value": "r6g.medium", + "name": "r6g_medium" + }, + { + "value": "r6g.large", + "name": "r6g_large" + }, + { + "value": "r6g.xlarge", + "name": "r6g_xlarge" + }, + { + "value": "r6g.2xlarge", + "name": "r6g_2xlarge" + }, + { + "value": "r6g.4xlarge", + "name": "r6g_4xlarge" + }, + { + "value": "r6g.8xlarge", + "name": "r6g_8xlarge" + }, + { + "value": "r6g.12xlarge", + "name": "r6g_12xlarge" + }, + { + "value": "r6g.16xlarge", + "name": "r6g_16xlarge" + }, { "value": "m4.large", "name": "m4_large" @@ -6476,6 +6576,38 @@ { "value": "m5a.24xlarge", "name": "m5a_24xlarge" + }, + { + "value": "m6g.medium", + "name": "m6g_medium" + }, + { + "value": "m6g.large", + "name": "m6g_large" + }, + { + "value": "m6g.xlarge", + "name": "m6g_xlarge" + }, + { + "value": "m6g.2xlarge", + "name": "m6g_2xlarge" + }, + { + "value": "m6g.4xlarge", + "name": "m6g_4xlarge" + }, + { + "value": "m6g.8xlarge", + "name": "m6g_8xlarge" + }, + { + "value": "m6g.12xlarge", + "name": "m6g_12xlarge" + }, + { + "value": "m6g.16xlarge", + "name": "m6g_16xlarge" } ] } @@ -6487,7 +6619,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]+" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]+$" } }, "com.amazonaws.gamelift#GameServerGroupNameOrArn": { @@ -6497,7 +6629,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]+|^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]+" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]+|^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]+$" } }, "com.amazonaws.gamelift#GameServerGroupStatus": { @@ -6559,7 +6691,7 @@ "min": 3, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]+" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]+$" } }, "com.amazonaws.gamelift#GameServerInstance": { @@ -7112,7 +7244,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+" + "smithy.api#pattern": "^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#GameSessionQueueDestination": { @@ -7148,7 +7280,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-]+" + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#GameSessionQueueNameOrArn": { @@ -7158,7 +7290,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-]+|^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+" + "smithy.api#pattern": "^[a-zA-Z0-9-]+|^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#GameSessionQueueNameOrArnList": { @@ -7329,7 +7461,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^arn:.*:role\\/[\\w+=,.@-]+" + "smithy.api#pattern": "^arn:.*:role\\/[\\w+=,.@-]+$" } }, "com.amazonaws.gamelift#IdStringModel": { @@ -7339,7 +7471,7 @@ "min": 1, "max": 48 }, - "smithy.api#pattern": "[a-zA-Z0-9-]+" + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#IdempotentParameterMismatchException": { @@ -7517,7 +7649,7 @@ "com.amazonaws.gamelift#InstanceId": { "type": "string", "traits": { - "smithy.api#pattern": "[a-zA-Z0-9\\.-]+" + "smithy.api#pattern": "^[a-zA-Z0-9\\.-]+$" } }, "com.amazonaws.gamelift#InstanceList": { @@ -7597,7 +7729,14 @@ } }, "com.amazonaws.gamelift#IpAddress": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$" + } }, "com.amazonaws.gamelift#IpPermission": { "type": "structure", @@ -7680,6 +7819,26 @@ "target": "com.amazonaws.gamelift#PositiveInteger" } }, + "com.amazonaws.gamelift#LaunchParametersStringModel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+$" + } + }, + "com.amazonaws.gamelift#LaunchPathStringModel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[A-Za-z0-9_:.+\\/\\\\\\- ]+$" + } + }, "com.amazonaws.gamelift#LaunchTemplateId": { "type": "string", "traits": { @@ -7687,7 +7846,7 @@ "min": 1, "max": 255 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+$" } }, "com.amazonaws.gamelift#LaunchTemplateName": { @@ -7697,7 +7856,7 @@ "min": 3, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+" + "smithy.api#pattern": "^[a-zA-Z0-9\\(\\)\\.\\-/_]+$" } }, "com.amazonaws.gamelift#LaunchTemplateSpecification": { @@ -7733,7 +7892,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+$" } }, "com.amazonaws.gamelift#LimitExceededException": { @@ -8336,7 +8495,7 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": "^[a-z]+(-([a-z]+|\\d))*" + "smithy.api#pattern": "^[a-z]+(-([a-z]+|\\d))*$" } }, "com.amazonaws.gamelift#LocationUpdateStatus": { @@ -8509,7 +8668,7 @@ "type": "string", "traits": { "smithy.api#documentation": "Data type used for Matchmaking Configuration ARN.", - "smithy.api#pattern": "^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingConfigurationList": { @@ -8525,7 +8684,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingConfigurationNameList": { @@ -8586,7 +8745,7 @@ "min": 0, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingRequestTimeoutInteger": { @@ -8636,7 +8795,7 @@ "type": "string", "traits": { "smithy.api#documentation": "Data type used for Matchmaking RuleSet ARN.", - "smithy.api#pattern": "^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingRuleSetList": { @@ -8652,7 +8811,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingRuleSetNameList": { @@ -8836,13 +8995,13 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.gamelift#NonBlankString": { "type": "string", "traits": { - "smithy.api#pattern": "[^\\s]+" + "smithy.api#pattern": "^[^\\s]+$" } }, "com.amazonaws.gamelift#NonEmptyString": { @@ -9173,7 +9332,7 @@ "com.amazonaws.gamelift#PlayerSessionId": { "type": "string", "traits": { - "smithy.api#pattern": "^psess-\\S+" + "smithy.api#pattern": "^psess-\\S+$" } }, "com.amazonaws.gamelift#PlayerSessionList": { @@ -9442,7 +9601,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "[\\s\\S]*" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.gamelift#QueueSnsArnStringModel": { @@ -9452,7 +9611,7 @@ "min": 0, "max": 300 }, - "smithy.api#pattern": "[a-zA-Z0-9:_-]*(\\.fifo)?" + "smithy.api#pattern": "^[a-zA-Z0-9:_-]*(\\.fifo)?$" } }, "com.amazonaws.gamelift#RegisterGameServer": { @@ -10054,19 +10213,19 @@ "com.amazonaws.gamelift#ScriptArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:script\\/script-\\S+" + "smithy.api#pattern": "^arn:.*:script\\/script-\\S+$" } }, "com.amazonaws.gamelift#ScriptId": { "type": "string", "traits": { - "smithy.api#pattern": "^script-\\S+" + "smithy.api#pattern": "^script-\\S+$" } }, "com.amazonaws.gamelift#ScriptIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^script-\\S+|^arn:.*:script\\/script-\\S+" + "smithy.api#pattern": "^script-\\S+|^arn:.*:script\\/script-\\S+$" } }, "com.amazonaws.gamelift#ScriptList": { @@ -10098,6 +10257,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -10183,14 +10345,14 @@ "type": "structure", "members": { "LaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchPathStringModel", "traits": { "smithy.api#documentation": "

The location of a game build executable or the Realtime script file that contains the\n Init() function. Game builds and Realtime scripts are installed on\n instances at the root:

\n ", "smithy.api#required": {} } }, "Parameters": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchParametersStringModel", "traits": { "smithy.api#documentation": "

An optional list of parameters to pass to the server executable or Realtime script on\n launch.

" } @@ -10226,7 +10388,7 @@ "min": 0, "max": 300 }, - "smithy.api#pattern": "[a-zA-Z0-9:_/-]*(.fifo)?" + "smithy.api#pattern": "^[a-zA-Z0-9:_/-]*(.fifo)?$" } }, "com.amazonaws.gamelift#SortOrder": { @@ -10264,6 +10426,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -10579,6 +10744,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -11313,6 +11481,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { diff --git a/codegen/sdk-codegen/aws-models/lightsail.2016-11-28.json b/codegen/sdk-codegen/aws-models/lightsail.2016-11-28.json index fd23927b32b..efa8af27d19 100644 --- a/codegen/sdk-codegen/aws-models/lightsail.2016-11-28.json +++ b/codegen/sdk-codegen/aws-models/lightsail.2016-11-28.json @@ -1195,12 +1195,55 @@ "traits": { "smithy.api#documentation": "

An object that describes the state of the bucket.

" } + }, + "accessLogConfig": { + "target": "com.amazonaws.lightsail#BucketAccessLogConfig", + "traits": { + "smithy.api#documentation": "

An object that describes the access log configuration for the bucket.

" + } } }, "traits": { "smithy.api#documentation": "

Describes an Amazon Lightsail bucket.

" } }, + "com.amazonaws.lightsail#BucketAccessLogConfig": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.lightsail#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean value that indicates whether bucket access logging is enabled for the\n bucket.

", + "smithy.api#required": {} + } + }, + "destination": { + "target": "com.amazonaws.lightsail#BucketName", + "traits": { + "smithy.api#documentation": "

The name of the bucket where the access is saved. The destination can be a Lightsail\n bucket in the same account, and in the same AWS Region as the source bucket.

\n \n

This parameter is required when enabling the access log for a bucket, and should be\n omitted when disabling the access log.

\n
" + } + }, + "prefix": { + "target": "com.amazonaws.lightsail#BucketAccessLogPrefix", + "traits": { + "smithy.api#documentation": "

The optional object prefix for the bucket access log.

\n

The prefix is an optional addition to the object key that organizes your access log files\n in the destination bucket. For example, if you specify a logs/ prefix, then each\n log object will begin with the logs/ prefix in its key (for example,\n logs/2021-11-01-21-32-16-E568B2907131C0C0).

\n \n

This parameter can be optionally specified when enabling the access log for a bucket,\n and should be omitted when disabling the access log.

\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the access log configuration for a bucket in the Amazon Lightsail object storage\n service.

\n

For more information about bucket access logs, see Logging bucket requests using access logging in Amazon Lightsail in the\n Amazon Lightsail Developer Guide.

" + } + }, + "com.amazonaws.lightsail#BucketAccessLogPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[\\w/!.*')(-]+$" + } + }, "com.amazonaws.lightsail#BucketBundle": { "type": "structure", "members": { @@ -2020,7 +2063,7 @@ "image": { "target": "com.amazonaws.lightsail#string", "traits": { - "smithy.api#documentation": "

The name of the image used for the container.

\n\n

Container images sourced from your Lightsail container service, that are registered and\n stored on your service, start with a colon (:). For example,\n :container-service-1.mystaticwebsite.1. Container images sourced from a public\n registry like Docker Hub don't start with a colon. For example, nginx:latest or\n nginx.

" + "smithy.api#documentation": "

The name of the image used for the container.

\n \n

Container images sourced from your Lightsail container service, that are registered and\n stored on your service, start with a colon (:). For example, if your container\n service name is container-service-1, the container image label is\n mystaticsite, and you want to use the third (3) version of the\n registered container image, then you should specify\n :container-service-1.mystaticsite.3. To use the latest version of a container\n image, specify latest instead of a version number (for example,\n :container-service-1.mystaticsite.latest). Lightsail will automatically use\n the highest numbered version of the registered container image.

\n \n

Container images sourced from a public registry like Docker Hub don't start with a colon.\n For example, nginx:latest or nginx.

" } }, "command": { @@ -3370,7 +3413,7 @@ "tags": { "target": "com.amazonaws.lightsail#TagList", "traits": { - "smithy.api#documentation": "

The tag keys and optional values to add to the certificate during create.

\n

Use the TagResource action to tag a resource after it's created.

\n

For more information about tags in Lightsail, see the Amazon Lightsail Developer Guide.

" + "smithy.api#documentation": "

The tag keys and optional values to add to the container service during create.

\n

Use the TagResource action to tag a resource after it's created.

\n

For more information about tags in Lightsail, see the Amazon Lightsail Developer Guide.

" } }, "publicDomainNames": { @@ -5830,7 +5873,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a specific SSH key pair.

\n

The delete key pair operation supports tag-based access control via resource\n tags applied to the resource identified by key pair name. For more information,\n see the Amazon Lightsail Developer Guide.

", + "smithy.api#documentation": "

Deletes a specific SSH key pair.

\n \n\n

The delete key pair operation supports tag-based access control via resource\n tags applied to the resource identified by key pair name. For more information,\n see the Amazon Lightsail Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/ls/api/2016-11-28/DeleteKeyPair", @@ -13279,6 +13322,21 @@ }, "com.amazonaws.lightsail#Lightsail_20161128": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Lightsail", + "arnNamespace": "lightsail", + "cloudFormationName": "Lightsail", + "cloudTrailEventSource": "lightsail.amazonaws.com", + "endpointPrefix": "lightsail" + }, + "aws.auth#sigv4": { + "name": "lightsail" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) for developers\n who need to build websites or web applications. It includes everything you need to launch your\n project quickly - instances (virtual private servers), container services, storage buckets,\n managed databases, SSD-based block storage, static IP addresses, load balancers, content\n delivery network (CDN) distributions, DNS management of registered domains, and resource\n snapshots (backups) - for a low, predictable monthly price.

\n\n

You can manage your Lightsail resources using the Lightsail console, Lightsail API,\n AWS Command Line Interface (AWS CLI), or SDKs. For more information about Lightsail concepts\n and tasks, see the Amazon Lightsail Developer Guide.

\n\n

This API Reference provides detailed information about the actions, data types,\n parameters, and errors of the Lightsail service. For more information about the supported\n AWS Regions, endpoints, and service quotas of the Lightsail service, see Amazon Lightsail Endpoints and\n Quotas in the AWS General Reference.

", + "smithy.api#title": "Amazon Lightsail" + }, "version": "2016-11-28", "operations": [ { @@ -13740,22 +13798,7 @@ { "target": "com.amazonaws.lightsail#UpdateRelationalDatabaseParameters" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Lightsail", - "arnNamespace": "lightsail", - "cloudFormationName": "Lightsail", - "cloudTrailEventSource": "lightsail.amazonaws.com", - "endpointPrefix": "lightsail" - }, - "aws.auth#sigv4": { - "name": "lightsail" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) for developers\n who need to build websites or web applications. It includes everything you need to launch your\n project quickly - instances (virtual private servers), container services, storage buckets,\n managed databases, SSD-based block storage, static IP addresses, load balancers, content\n delivery network (CDN) distributions, DNS management of registered domains, and resource\n snapshots (backups) - for a low, predictable monthly price.

\n\n

You can manage your Lightsail resources using the Lightsail console, Lightsail API,\n AWS Command Line Interface (AWS CLI), or SDKs. For more information about Lightsail concepts\n and tasks, see the Amazon Lightsail Developer Guide.

\n\n

This API Reference provides detailed information about the actions, data types,\n parameters, and errors of the Lightsail service. For more information about the supported\n AWS Regions, endpoints, and service quotas of the Lightsail service, see Amazon Lightsail Endpoints and\n Quotas in the AWS General Reference.

", - "smithy.api#title": "Amazon Lightsail" - } + ] }, "com.amazonaws.lightsail#LoadBalancer": { "type": "structure", @@ -18347,6 +18390,12 @@ "traits": { "smithy.api#documentation": "

An array of strings to specify the AWS account IDs that can access the bucket.

\n\n

You can give a maximum of 10 AWS accounts access to a bucket.

" } + }, + "accessLogConfig": { + "target": "com.amazonaws.lightsail#BucketAccessLogConfig", + "traits": { + "smithy.api#documentation": "

An object that describes the access log configuration for the bucket.

" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/neptune.2014-10-31.json b/codegen/sdk-codegen/aws-models/neptune.2014-10-31.json index f9f1ca0b118..9046758655b 100644 --- a/codegen/sdk-codegen/aws-models/neptune.2014-10-31.json +++ b/codegen/sdk-codegen/aws-models/neptune.2014-10-31.json @@ -49,7 +49,7 @@ } ], "traits": { - "smithy.api#documentation": "

Associates an Identity and Access Management (IAM) role from an\n Neptune DB cluster.

" + "smithy.api#documentation": "

Associates an Identity and Access Management (IAM) role with an\n Neptune DB cluster.

" } }, "com.amazonaws.neptune#AddRoleToDBClusterMessage": { @@ -72,7 +72,7 @@ "FeatureName": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

The name of the feature for the Neptune DB cluster that the IAM role is to be associated with.\n For the list of supported feature names, see DBEngineVersion.

" + "smithy.api#documentation": "

The name of the feature for the Neptune DB cluster that the IAM role is to be associated with.\n For the list of supported feature names, see DBEngineVersion.

" } } } @@ -165,6 +165,24 @@ }, "com.amazonaws.neptune#AmazonRDSv19": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Neptune", + "arnNamespace": "rds", + "cloudFormationName": "Neptune", + "cloudTrailEventSource": "neptune.amazonaws.com", + "endpointPrefix": "rds" + }, + "aws.auth#sigv4": { + "name": "rds" + }, + "aws.protocols#awsQuery": {}, + "smithy.api#documentation": "Amazon Neptune\n

Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it\n easy to build and run applications that work with highly connected datasets. The core of\n Amazon Neptune is a purpose-built, high-performance graph database engine optimized for\n storing billions of relationships and querying the graph with milliseconds latency. Amazon\n Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query\n languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that\n efficiently navigate highly connected datasets. Neptune powers graph use cases such as\n recommendation engines, fraud detection, knowledge graphs, drug discovery, and network\n security.

\n\n

This interface reference for Amazon Neptune contains documentation for a programming or\n command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is\n asynchronous, which means that some interfaces might require techniques such as polling or\n callback functions to determine when a command has been applied. In this reference, the\n parameter descriptions indicate whether a command is applied immediately, on the next instance\n reboot, or during the maintenance window. The reference structure is as follows, and we list\n following some related topics from the user guide.

", + "smithy.api#title": "Amazon Neptune", + "smithy.api#xmlNamespace": { + "uri": "http://rds.amazonaws.com/doc/2014-10-31/" + } + }, "version": "2014-10-31", "operations": [ { @@ -356,25 +374,7 @@ { "target": "com.amazonaws.neptune#StopDBCluster" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Neptune", - "arnNamespace": "rds", - "cloudFormationName": "Neptune", - "cloudTrailEventSource": "neptune.amazonaws.com", - "endpointPrefix": "rds" - }, - "aws.auth#sigv4": { - "name": "rds" - }, - "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "Amazon Neptune\n

Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it\n easy to build and run applications that work with highly connected datasets. The core of\n Amazon Neptune is a purpose-built, high-performance graph database engine optimized for\n storing billions of relationships and querying the graph with milliseconds latency. Amazon\n Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query\n languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that\n efficiently navigate highly connected datasets. Neptune powers graph use cases such as\n recommendation engines, fraud detection, knowledge graphs, drug discovery, and network\n security.

\n\n

This interface reference for Amazon Neptune contains documentation for a programming or\n command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is\n asynchronous, which means that some interfaces might require techniques such as polling or\n callback functions to determine when a command has been applied. In this reference, the\n parameter descriptions indicate whether a command is applied immediately, on the next instance\n reboot, or during the maintenance window. The reference structure is as follows, and we list\n following some related topics from the user guide.

", - "smithy.api#title": "Amazon Neptune", - "smithy.api#xmlNamespace": { - "uri": "http://rds.amazonaws.com/doc/2014-10-31/" - } - } + ] }, "com.amazonaws.neptune#ApplyMethod": { "type": "string", @@ -2517,7 +2517,7 @@ "FeatureName": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

The name of the feature associated with the Amazon Identity and Access Management (IAM) role.\n For the list of supported feature names, see DBEngineVersion.\n

" + "smithy.api#documentation": "

The name of the feature associated with the Amazon Identity and Access Management (IAM) role.\n For the list of supported feature names, see DescribeDBEngineVersions.\n

" } } }, @@ -4482,7 +4482,7 @@ "SnapshotType": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

The type of DB cluster snapshots to be returned. You can specify one of the following\n values:

\n \n

If you don't specify a SnapshotType value, then both automated and manual DB\n cluster snapshots are returned. You can include shared DB cluster snapshots with these results\n by setting the IncludeShared parameter to true. You can include\n public DB cluster snapshots with these results by setting the IncludePublic\n parameter to true.

\n

The IncludeShared and IncludePublic parameters don't apply for\n SnapshotType values of manual or automated. The\n IncludePublic parameter doesn't apply when SnapshotType is set to\n shared. The IncludeShared parameter doesn't apply when\n SnapshotType is set to public.

" + "smithy.api#documentation": "

The type of DB cluster snapshots to be returned. You can specify one of the following\n values:

\n \n

If you don't specify a SnapshotType value, then both automated and manual DB\n cluster snapshots are returned. You can include shared DB cluster snapshots with these results\n by setting the IncludeShared parameter to true. You can include\n public DB cluster snapshots with these results by setting the IncludePublic\n parameter to true.

\n

The IncludeShared and IncludePublic parameters don't apply for\n SnapshotType values of manual or automated. The\n IncludePublic parameter doesn't apply when SnapshotType is set to\n shared. The IncludeShared parameter doesn't apply when\n SnapshotType is set to public.

" } }, "Filters": { @@ -4506,7 +4506,7 @@ "IncludeShared": { "target": "com.amazonaws.neptune#Boolean", "traits": { - "smithy.api#documentation": "

True to include shared manual DB cluster snapshots from other Amazon accounts that this AWS\n account has been given permission to copy or restore, and otherwise false. The default is\n false.

\n

You can give an Amazon account permission to restore a manual DB cluster snapshot from\n another Amazon account by the ModifyDBClusterSnapshotAttribute API\n action.

" + "smithy.api#documentation": "

True to include shared manual DB cluster snapshots from other Amazon accounts that this Amazon\n account has been given permission to copy or restore, and otherwise false. The default is\n false.

\n

You can give an Amazon account permission to restore a manual DB cluster snapshot from\n another Amazon account by the ModifyDBClusterSnapshotAttribute API\n action.

" } }, "IncludePublic": { @@ -4667,6 +4667,9 @@ "items": "DBInstances", "pageSize": "MaxRecords" }, + "smithy.api#suppress": [ + "WaitableTraitInvalidErrorType" + ], "smithy.waiters#waitable": { "DBInstanceAvailable": { "acceptors": [ @@ -4732,6 +4735,67 @@ } ], "minDelay": 30 + }, + "DBInstanceDeleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "DBInstances[].DBInstanceStatus", + "expected": "deleted", + "comparator": "allStringEquals" + } + } + }, + { + "state": "success", + "matcher": { + "errorType": "DBInstanceNotFound" + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "DBInstances[].DBInstanceStatus", + "expected": "creating", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "DBInstances[].DBInstanceStatus", + "expected": "modifying", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "DBInstances[].DBInstanceStatus", + "expected": "rebooting", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "DBInstances[].DBInstanceStatus", + "expected": "resetting-master-credentials", + "comparator": "anyStringEquals" + } + } + } + ], + "minDelay": 30 } } } @@ -6515,6 +6579,18 @@ "smithy.api#documentation": "

The version number of the database engine to which you want to upgrade. Changing this\n parameter results in an outage. The change is applied during the next maintenance window\n unless the ApplyImmediately parameter is set to true.

\n

For a list of valid engine versions, see Engine Releases for Amazon\n Neptune, or call DescribeDBEngineVersions.

" } }, + "AllowMajorVersionUpgrade": { + "target": "com.amazonaws.neptune#Boolean", + "traits": { + "smithy.api#documentation": "

A value that indicates whether upgrades between different major versions are allowed.

\n

Constraints: You must set the allow-major-version-upgrade flag when providing an\n EngineVersion parameter that uses a different major version than the DB cluster's current\n version.

" + } + }, + "DBInstanceParameterGroupName": { + "target": "com.amazonaws.neptune#String", + "traits": { + "smithy.api#documentation": "

The name of the DB parameter group to apply to all instances of the DB cluster.

\n \n

When you apply a parameter group using DBInstanceParameterGroupName,\n parameter changes aren't applied during the next maintenance window but instead are\n applied immediately.

\n
\n

Default: The existing name setting

\n

Constraints:

\n " + } + }, "DeletionProtection": { "target": "com.amazonaws.neptune#BooleanOptional", "traits": { @@ -6619,7 +6695,7 @@ "ValuesToAdd": { "target": "com.amazonaws.neptune#AttributeValueList", "traits": { - "smithy.api#documentation": "

A list of DB cluster snapshot attributes to add to the attribute specified by\n AttributeName.

\n

To authorize other Amazon accounts to copy or restore a manual DB cluster snapshot, set this\n list to include one or more Amazon account IDs, or all to make the manual DB cluster\n snapshot restorable by any Amazon account. Do not add the all value for any manual\n DB cluster snapshots that contain private information that you don't want available to all AWS\n accounts.

" + "smithy.api#documentation": "

A list of DB cluster snapshot attributes to add to the attribute specified by\n AttributeName.

\n

To authorize other Amazon accounts to copy or restore a manual DB cluster snapshot, set this\n list to include one or more Amazon account IDs, or all to make the manual DB cluster\n snapshot restorable by any Amazon account. Do not add the all value for any manual\n DB cluster snapshots that contain private information that you don't want available to all Amazon\n accounts.

" } }, "ValuesToRemove": { @@ -6719,7 +6795,7 @@ "DBInstanceClass": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

The new compute and memory capacity of the DB instance, for example,\n db.m4.large. Not all DB instance classes are available in all AWS\n Regions.

\n

If you modify the DB instance class, an outage occurs during the change. The change is\n applied during the next maintenance window, unless ApplyImmediately is specified\n as true for this request.

\n

Default: Uses existing setting

" + "smithy.api#documentation": "

The new compute and memory capacity of the DB instance, for example,\n db.m4.large. Not all DB instance classes are available in all Amazon\n Regions.

\n

If you modify the DB instance class, an outage occurs during the change. The change is\n applied during the next maintenance window, unless ApplyImmediately is specified\n as true for this request.

\n

Default: Uses existing setting

" } }, "DBSubnetGroupName": { @@ -7793,7 +7869,7 @@ "FeatureName": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

The name of the feature for the DB cluster that the IAM role is to be disassociated from.\n For the list of supported feature names, see DBEngineVersion.

" + "smithy.api#documentation": "

The name of the feature for the DB cluster that the IAM role is to be disassociated from.\n For the list of supported feature names, see DescribeDBEngineVersions.

" } } } @@ -8542,7 +8618,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts an Amazon Neptune DB cluster that was stopped using the AWS\n console, the Amazon CLI stop-db-cluster command, or the StopDBCluster API.

" + "smithy.api#documentation": "

Starts an Amazon Neptune DB cluster that was stopped using the Amazon\n console, the Amazon CLI stop-db-cluster command, or the StopDBCluster API.

" } }, "com.amazonaws.neptune#StartDBClusterMessage": { @@ -8808,13 +8884,13 @@ "Key": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

A key is the required name of the tag. The string value can be from 1 to 128 Unicode\n characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain\n only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java\n regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + "smithy.api#documentation": "

A key is the required name of the tag. The string value can be from 1 to 128 Unicode\n characters in length and can't be prefixed with aws: or rds:.\n The string can only contain the set of Unicode letters, digits, white-space,\n '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" } }, "Value": { "target": "com.amazonaws.neptune#String", "traits": { - "smithy.api#documentation": "

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode\n characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain\n only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java\n regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + "smithy.api#documentation": "

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode\n characters in length and can't be prefixed with aws: or rds:.\n The string can only contain the set of Unicode letters, digits, white-space,\n '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" } } }, diff --git a/codegen/sdk-codegen/aws-models/networkmanager.2019-07-05.json b/codegen/sdk-codegen/aws-models/networkmanager.2019-07-05.json index aaf998bc8ff..cff1f458777 100644 --- a/codegen/sdk-codegen/aws-models/networkmanager.2019-07-05.json +++ b/codegen/sdk-codegen/aws-models/networkmanager.2019-07-05.json @@ -35,18 +35,18 @@ "Zone": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Zone the device is located in. This can be the ID of an Availability Zone, Local Zone, Wavelength Zone, or an Outpost.

" + "smithy.api#documentation": "

The Zone that the device is located in. Specify the ID of an Availability Zone, Local\n Zone, Wavelength Zone, or an Outpost.

" } }, "SubnetArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the subnet the device is located in.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the subnet that the device is located in.

" } } }, "traits": { - "smithy.api#documentation": "

Specifies a location in AWS.

" + "smithy.api#documentation": "

Specifies a location in Amazon Web Services.

" } }, "com.amazonaws.networkmanager#AccessDeniedException": { @@ -111,7 +111,7 @@ "CustomerGatewayArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer gateway. For more information, see\n Resources Defined by Amazon EC2.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer gateway.

", "smithy.api#required": {} } }, @@ -331,6 +331,9 @@ "smithy.api#documentation": "

Describes bandwidth information.

" } }, + "com.amazonaws.networkmanager#Boolean": { + "type": "boolean" + }, "com.amazonaws.networkmanager#ConflictException": { "type": "structure", "members": { @@ -435,6 +438,32 @@ "smithy.api#documentation": "

Describes a connection.

" } }, + "com.amazonaws.networkmanager#ConnectionHealth": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.networkmanager#ConnectionType", + "traits": { + "smithy.api#documentation": "

The connection type.

" + } + }, + "Status": { + "target": "com.amazonaws.networkmanager#ConnectionStatus", + "traits": { + "smithy.api#documentation": "

The connection status.

" + } + }, + "Timestamp": { + "target": "com.amazonaws.networkmanager#DateTime", + "traits": { + "smithy.api#documentation": "

The time the status was last updated.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes connection health.

" + } + }, "com.amazonaws.networkmanager#ConnectionList": { "type": "list", "member": { @@ -464,6 +493,36 @@ ] } }, + "com.amazonaws.networkmanager#ConnectionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "UP", + "name": "UP" + }, + { + "value": "DOWN", + "name": "DOWN" + } + ] + } + }, + "com.amazonaws.networkmanager#ConnectionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "BGP", + "name": "BGP" + }, + { + "value": "IPSEC", + "name": "IPSEC" + } + ] + } + }, "com.amazonaws.networkmanager#CreateConnection": { "type": "operation", "input": { @@ -617,13 +676,13 @@ "AWSLocation": { "target": "com.amazonaws.networkmanager#AWSLocation", "traits": { - "smithy.api#documentation": "

The AWS location of the device.

" + "smithy.api#documentation": "

The Amazon Web Services location of the device, if applicable. For an on-premises device, you can omit this parameter.

" } }, "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of the device.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of the device.

\n

Constraints: Maximum length of 256 characters.

" } }, "Type": { @@ -635,19 +694,19 @@ "Vendor": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The vendor of the device.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The vendor of the device.

\n

Constraints: Maximum length of 128 characters.

" } }, "Model": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The model of the device.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The model of the device.

\n

Constraints: Maximum length of 128 characters.

" } }, "SerialNumber": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The serial number of the device.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The serial number of the device.

\n

Constraints: Maximum length of 128 characters.

" } }, "Location": { @@ -724,7 +783,7 @@ "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of the global network.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of the global network.

\n

Constraints: Maximum length of 256 characters.

" } }, "Tags": { @@ -800,13 +859,13 @@ "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of the link.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of the link.

\n

Constraints: Maximum length of 256 characters.

" } }, "Type": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The type of the link.

\n

Constraints: Cannot include the following characters: | \\ ^

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The type of the link.

\n

Constraints: Maximum length of 128 characters. Cannot include the following characters: | \\ ^

" } }, "Bandwidth": { @@ -819,7 +878,7 @@ "Provider": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The provider of the link.

\n

Constraints: Cannot include the following characters: | \\ ^

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The provider of the link.

\n

Constraints: Maximum length of 128 characters. Cannot include the following characters: | \\ ^

" } }, "SiteId": { @@ -902,7 +961,7 @@ "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of your site.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of your site.

\n

Constraints: Maximum length of 256 characters.

" } }, "Location": { @@ -1512,7 +1571,7 @@ "AWSLocation": { "target": "com.amazonaws.networkmanager#AWSLocation", "traits": { - "smithy.api#documentation": "

The AWS location of the device.

" + "smithy.api#documentation": "

The Amazon Web Services location of the device.

" } }, "Description": { @@ -1660,7 +1719,7 @@ "CustomerGatewayArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer gateway. For more information, see\n Resources Defined by Amazon EC2.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer gateway.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1824,6 +1883,56 @@ } } }, + "com.amazonaws.networkmanager#ExceptionContextKey": { + "type": "string" + }, + "com.amazonaws.networkmanager#ExceptionContextMap": { + "type": "map", + "key": { + "target": "com.amazonaws.networkmanager#ExceptionContextKey" + }, + "value": { + "target": "com.amazonaws.networkmanager#ExceptionContextValue" + } + }, + "com.amazonaws.networkmanager#ExceptionContextValue": { + "type": "string" + }, + "com.amazonaws.networkmanager#FilterMap": { + "type": "map", + "key": { + "target": "com.amazonaws.networkmanager#FilterName" + }, + "value": { + "target": "com.amazonaws.networkmanager#FilterValues" + } + }, + "com.amazonaws.networkmanager#FilterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#pattern": "^[0-9a-zA-Z\\.-]*$" + } + }, + "com.amazonaws.networkmanager#FilterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^[0-9a-zA-Z\\*\\.\\\\/\\?-]*$" + } + }, + "com.amazonaws.networkmanager#FilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#FilterValue" + } + }, "com.amazonaws.networkmanager#GetConnections": { "type": "operation", "input": { @@ -1977,7 +2086,7 @@ "CustomerGatewayArns": { "target": "com.amazonaws.networkmanager#StringList", "traits": { - "smithy.api#documentation": "

One or more customer gateway Amazon Resource Names (ARNs). For more information, see\n Resources Defined by Amazon EC2. The maximum is 10.

", + "smithy.api#documentation": "

One or more customer gateway Amazon Resource Names (ARNs). The maximum is 10.

", "smithy.api#httpQuery": "customerGatewayArns" } }, @@ -2319,13 +2428,13 @@ } } }, - "com.amazonaws.networkmanager#GetSites": { + "com.amazonaws.networkmanager#GetNetworkResourceCounts": { "type": "operation", "input": { - "target": "com.amazonaws.networkmanager#GetSitesRequest" + "target": "com.amazonaws.networkmanager#GetNetworkResourceCountsRequest" }, "output": { - "target": "com.amazonaws.networkmanager#GetSitesResponse" + "target": "com.amazonaws.networkmanager#GetNetworkResourceCountsResponse" }, "errors": [ { @@ -2334,9 +2443,6 @@ { "target": "com.amazonaws.networkmanager#InternalServerException" }, - { - "target": "com.amazonaws.networkmanager#ResourceNotFoundException" - }, { "target": "com.amazonaws.networkmanager#ThrottlingException" }, @@ -2345,10 +2451,10 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about one or more of your sites in a global network.

", + "smithy.api#documentation": "

Gets the count of network resources, by resource type, for the specified global network.

", "smithy.api#http": { "method": "GET", - "uri": "/global-networks/{GlobalNetworkId}/sites", + "uri": "/global-networks/{GlobalNetworkId}/network-resource-count", "code": 200 }, "smithy.api#paginated": { @@ -2358,7 +2464,7 @@ } } }, - "com.amazonaws.networkmanager#GetSitesRequest": { + "com.amazonaws.networkmanager#GetNetworkResourceCountsRequest": { "type": "structure", "members": { "GlobalNetworkId": { @@ -2369,11 +2475,11 @@ "smithy.api#required": {} } }, - "SiteIds": { - "target": "com.amazonaws.networkmanager#StringList", + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

One or more site IDs. The maximum is 10.

", - "smithy.api#httpQuery": "siteIds" + "smithy.api#documentation": "

The resource type.

\n

The following are the supported resource types for Direct Connect:

\n \n \n

The following are the supported resource types for Network Manager:

\n \n\n

The following are the supported resource types for Amazon VPC:

\n ", + "smithy.api#httpQuery": "resourceType" } }, "MaxResults": { @@ -2392,13 +2498,13 @@ } } }, - "com.amazonaws.networkmanager#GetSitesResponse": { + "com.amazonaws.networkmanager#GetNetworkResourceCountsResponse": { "type": "structure", "members": { - "Sites": { - "target": "com.amazonaws.networkmanager#SiteList", + "NetworkResourceCounts": { + "target": "com.amazonaws.networkmanager#NetworkResourceCountList", "traits": { - "smithy.api#documentation": "

The sites.

" + "smithy.api#documentation": "

The count of resources.

" } }, "NextToken": { @@ -2409,21 +2515,18 @@ } } }, - "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociations": { + "com.amazonaws.networkmanager#GetNetworkResourceRelationships": { "type": "operation", "input": { - "target": "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsRequest" + "target": "com.amazonaws.networkmanager#GetNetworkResourceRelationshipsRequest" }, "output": { - "target": "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsResponse" + "target": "com.amazonaws.networkmanager#GetNetworkResourceRelationshipsResponse" }, "errors": [ { "target": "com.amazonaws.networkmanager#AccessDeniedException" }, - { - "target": "com.amazonaws.networkmanager#ConflictException" - }, { "target": "com.amazonaws.networkmanager#InternalServerException" }, @@ -2438,10 +2541,10 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about one or more of your transit gateway Connect peer associations in a global network.

", + "smithy.api#documentation": "

Gets the network resource relationships for the specified global network.

", "smithy.api#http": { "method": "GET", - "uri": "/global-networks/{GlobalNetworkId}/transit-gateway-connect-peer-associations", + "uri": "/global-networks/{GlobalNetworkId}/network-resource-relationships", "code": 200 }, "smithy.api#paginated": { @@ -2451,7 +2554,7 @@ } } }, - "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsRequest": { + "com.amazonaws.networkmanager#GetNetworkResourceRelationshipsRequest": { "type": "structure", "members": { "GlobalNetworkId": { @@ -2462,11 +2565,39 @@ "smithy.api#required": {} } }, - "TransitGatewayConnectPeerArns": { - "target": "com.amazonaws.networkmanager#StringList", + "RegisteredGatewayArn": { + "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

One or more transit gateway Connect peer Amazon Resource Names (ARNs).

", - "smithy.api#httpQuery": "transitGatewayConnectPeerArns" + "smithy.api#documentation": "

The ARN of the registered gateway.

", + "smithy.api#httpQuery": "registeredGatewayArn" + } + }, + "AwsRegion": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region.

", + "smithy.api#httpQuery": "awsRegion" + } + }, + "AccountId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#httpQuery": "accountId" + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

\n

The following are the supported resource types for Direct Connect:

\n \n \n

The following are the supported resource types for Network Manager:

\n \n\n

The following are the supported resource types for Amazon VPC:

\n ", + "smithy.api#httpQuery": "resourceType" + } + }, + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the gateway.

", + "smithy.api#httpQuery": "resourceArn" } }, "MaxResults": { @@ -2485,30 +2616,30 @@ } } }, - "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsResponse": { + "com.amazonaws.networkmanager#GetNetworkResourceRelationshipsResponse": { "type": "structure", "members": { - "TransitGatewayConnectPeerAssociations": { - "target": "com.amazonaws.networkmanager#TransitGatewayConnectPeerAssociationList", + "Relationships": { + "target": "com.amazonaws.networkmanager#RelationshipList", "traits": { - "smithy.api#documentation": "

Information about the transit gateway Connect peer associations.

" + "smithy.api#documentation": "

The resource relationships.

" } }, "NextToken": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The token to use for the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } } } }, - "com.amazonaws.networkmanager#GetTransitGatewayRegistrations": { + "com.amazonaws.networkmanager#GetNetworkResources": { "type": "operation", "input": { - "target": "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsRequest" + "target": "com.amazonaws.networkmanager#GetNetworkResourcesRequest" }, "output": { - "target": "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsResponse" + "target": "com.amazonaws.networkmanager#GetNetworkResourcesResponse" }, "errors": [ { @@ -2528,10 +2659,10 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the transit gateway registrations in a specified\n global network.

", + "smithy.api#documentation": "

Describes the network resources for the specified global network.

\n

The results include information from the corresponding Describe call for the resource, minus any sensitive information such as pre-shared keys.

", "smithy.api#http": { "method": "GET", - "uri": "/global-networks/{GlobalNetworkId}/transit-gateway-registrations", + "uri": "/global-networks/{GlobalNetworkId}/network-resources", "code": 200 }, "smithy.api#paginated": { @@ -2541,7 +2672,7 @@ } } }, - "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsRequest": { + "com.amazonaws.networkmanager#GetNetworkResourcesRequest": { "type": "structure", "members": { "GlobalNetworkId": { @@ -2552,11 +2683,39 @@ "smithy.api#required": {} } }, - "TransitGatewayArns": { - "target": "com.amazonaws.networkmanager#StringList", + "RegisteredGatewayArn": { + "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum is\n 10.

", - "smithy.api#httpQuery": "transitGatewayArns" + "smithy.api#documentation": "

The ARN of the gateway.

", + "smithy.api#httpQuery": "registeredGatewayArn" + } + }, + "AwsRegion": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region.

", + "smithy.api#httpQuery": "awsRegion" + } + }, + "AccountId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#httpQuery": "accountId" + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

\n

The following are the supported resource types for Direct Connect:

\n \n \n

The following are the supported resource types for Network Manager:

\n \n \n

The following are the supported resource types for Amazon VPC:

\n ", + "smithy.api#httpQuery": "resourceType" + } + }, + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

", + "smithy.api#httpQuery": "resourceArn" } }, "MaxResults": { @@ -2575,13 +2734,13 @@ } } }, - "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsResponse": { + "com.amazonaws.networkmanager#GetNetworkResourcesResponse": { "type": "structure", "members": { - "TransitGatewayRegistrations": { - "target": "com.amazonaws.networkmanager#TransitGatewayRegistrationList", + "NetworkResources": { + "target": "com.amazonaws.networkmanager#NetworkResourceList", "traits": { - "smithy.api#documentation": "

The transit gateway registrations.

" + "smithy.api#documentation": "

The network resources.

" } }, "NextToken": { @@ -2592,279 +2751,262 @@ } } }, - "com.amazonaws.networkmanager#GlobalNetwork": { + "com.amazonaws.networkmanager#GetNetworkRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#GetNetworkRoutesRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#GetNetworkRoutesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkmanager#InternalServerException" + }, + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the network routes of the specified global network.

", + "smithy.api#http": { + "method": "POST", + "uri": "/global-networks/{GlobalNetworkId}/network-routes", + "code": 200 + } + } + }, + "com.amazonaws.networkmanager#GetNetworkRoutesRequest": { "type": "structure", "members": { "GlobalNetworkId": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The ID of the global network.

" + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "GlobalNetworkArn": { - "target": "com.amazonaws.networkmanager#String", + "RouteTableIdentifier": { + "target": "com.amazonaws.networkmanager#RouteTableIdentifier", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the global network.

" + "smithy.api#documentation": "

The ID of the route table.

", + "smithy.api#required": {} } }, - "Description": { - "target": "com.amazonaws.networkmanager#String", + "ExactCidrMatches": { + "target": "com.amazonaws.networkmanager#StringList", "traits": { - "smithy.api#documentation": "

The description of the global network.

" + "smithy.api#documentation": "

An exact CIDR block.

" } }, - "CreatedAt": { - "target": "com.amazonaws.networkmanager#DateTime", + "LongestPrefixMatches": { + "target": "com.amazonaws.networkmanager#StringList", "traits": { - "smithy.api#documentation": "

The date and time that the global network was created.

" + "smithy.api#documentation": "

The most specific route that matches the traffic (longest prefix match).

" } }, - "State": { - "target": "com.amazonaws.networkmanager#GlobalNetworkState", + "SubnetOfMatches": { + "target": "com.amazonaws.networkmanager#StringList", "traits": { - "smithy.api#documentation": "

The state of the global network.

" + "smithy.api#documentation": "

The routes with a subnet that match the specified CIDR filter.

" } }, - "Tags": { - "target": "com.amazonaws.networkmanager#TagList", + "SupernetOfMatches": { + "target": "com.amazonaws.networkmanager#StringList", "traits": { - "smithy.api#documentation": "

The tags for the global network.

" + "smithy.api#documentation": "

The routes with a CIDR that encompasses the CIDR filter. Example: If you specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

" + } + }, + "PrefixListIds": { + "target": "com.amazonaws.networkmanager#StringList", + "traits": { + "smithy.api#documentation": "

The IDs of the prefix lists.

" + } + }, + "States": { + "target": "com.amazonaws.networkmanager#RouteStateList", + "traits": { + "smithy.api#documentation": "

The route states.

" + } + }, + "Types": { + "target": "com.amazonaws.networkmanager#RouteTypeList", + "traits": { + "smithy.api#documentation": "

The route types.

" + } + }, + "DestinationFilters": { + "target": "com.amazonaws.networkmanager#FilterMap", + "traits": { + "smithy.api#documentation": "

Filter by route table destination. Possible Values: TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a global network.

" } }, - "com.amazonaws.networkmanager#GlobalNetworkList": { - "type": "list", - "member": { - "target": "com.amazonaws.networkmanager#GlobalNetwork" + "com.amazonaws.networkmanager#GetNetworkRoutesResponse": { + "type": "structure", + "members": { + "RouteTableArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the route table.

" + } + }, + "RouteTableType": { + "target": "com.amazonaws.networkmanager#RouteTableType", + "traits": { + "smithy.api#documentation": "

The route table type.

" + } + }, + "RouteTableTimestamp": { + "target": "com.amazonaws.networkmanager#DateTime", + "traits": { + "smithy.api#documentation": "

The route table creation time.

" + } + }, + "NetworkRoutes": { + "target": "com.amazonaws.networkmanager#NetworkRouteList", + "traits": { + "smithy.api#documentation": "

The network routes.

" + } + } } }, - "com.amazonaws.networkmanager#GlobalNetworkState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PENDING", - "name": "pending" - }, - { - "value": "AVAILABLE", - "name": "available" - }, - { - "value": "DELETING", - "name": "deleting" - }, - { - "value": "UPDATING", - "name": "updating" - } - ] - } - }, - "com.amazonaws.networkmanager#Integer": { - "type": "integer", - "traits": { - "smithy.api#box": {} - } - }, - "com.amazonaws.networkmanager#InternalServerException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.networkmanager#String", - "traits": { - "smithy.api#required": {} - } + "com.amazonaws.networkmanager#GetNetworkTelemetry": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#GetNetworkTelemetryRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#GetNetworkTelemetryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" }, - "RetryAfterSeconds": { - "target": "com.amazonaws.networkmanager#RetryAfterSeconds", - "traits": { - "smithy.api#documentation": "

Indicates when to retry the request.

", - "smithy.api#httpHeader": "Retry-After" - } + { + "target": "com.amazonaws.networkmanager#InternalServerException" + }, + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" } - }, + ], "traits": { - "smithy.api#documentation": "

The request has failed due to an internal error.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 + "smithy.api#documentation": "

Gets the network telemetry of the specified global network.

", + "smithy.api#http": { + "method": "GET", + "uri": "/global-networks/{GlobalNetworkId}/network-telemetry", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.networkmanager#Link": { + "com.amazonaws.networkmanager#GetNetworkTelemetryRequest": { "type": "structure", "members": { - "LinkId": { + "GlobalNetworkId": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The ID of the link.

" + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "LinkArn": { + "RegisteredGatewayArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the link.

" + "smithy.api#documentation": "

The ARN of the gateway.

", + "smithy.api#httpQuery": "registeredGatewayArn" } }, - "GlobalNetworkId": { + "AwsRegion": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The ID of the global network.

" + "smithy.api#documentation": "

The Amazon Web Services Region.

", + "smithy.api#httpQuery": "awsRegion" } }, - "SiteId": { + "AccountId": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The ID of the site.

" + "smithy.api#documentation": "

The Amazon Web Services account ID.

", + "smithy.api#httpQuery": "accountId" } }, - "Description": { + "ResourceType": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The description of the link.

" + "smithy.api#documentation": "

The resource type.

\n

The following are the supported resource types for Direct Connect:

\n \n \n

The following are the supported resource types for Network Manager:

\n \n\n

The following are the supported resource types for Amazon VPC:

\n ", + "smithy.api#httpQuery": "resourceType" } }, - "Type": { + "ResourceArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The type of the link.

" + "smithy.api#documentation": "

The ARN of the resource.

", + "smithy.api#httpQuery": "resourceArn" } }, - "Bandwidth": { - "target": "com.amazonaws.networkmanager#Bandwidth", + "MaxResults": { + "target": "com.amazonaws.networkmanager#MaxResults", "traits": { - "smithy.api#documentation": "

The bandwidth for the link.

" + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" } }, - "Provider": { + "NextToken": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The provider of the link.

" - } - }, - "CreatedAt": { - "target": "com.amazonaws.networkmanager#DateTime", - "traits": { - "smithy.api#documentation": "

The date and time that the link was created.

" - } - }, - "State": { - "target": "com.amazonaws.networkmanager#LinkState", - "traits": { - "smithy.api#documentation": "

The state of the link.

" - } - }, - "Tags": { - "target": "com.amazonaws.networkmanager#TagList", - "traits": { - "smithy.api#documentation": "

The tags for the link.

" + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" } } - }, - "traits": { - "smithy.api#documentation": "

Describes a link.

" } }, - "com.amazonaws.networkmanager#LinkAssociation": { + "com.amazonaws.networkmanager#GetNetworkTelemetryResponse": { "type": "structure", "members": { - "GlobalNetworkId": { - "target": "com.amazonaws.networkmanager#String", - "traits": { - "smithy.api#documentation": "

The ID of the global network.

" - } - }, - "DeviceId": { - "target": "com.amazonaws.networkmanager#String", + "NetworkTelemetry": { + "target": "com.amazonaws.networkmanager#NetworkTelemetryList", "traits": { - "smithy.api#documentation": "

The device ID for the link association.

" + "smithy.api#documentation": "

The network telemetry.

" } }, - "LinkId": { + "NextToken": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The ID of the link.

" - } - }, - "LinkAssociationState": { - "target": "com.amazonaws.networkmanager#LinkAssociationState", - "traits": { - "smithy.api#documentation": "

The state of the association.

" + "smithy.api#documentation": "

The token for the next page of results.

" } } - }, - "traits": { - "smithy.api#documentation": "

Describes the association between a device and a link.

" - } - }, - "com.amazonaws.networkmanager#LinkAssociationList": { - "type": "list", - "member": { - "target": "com.amazonaws.networkmanager#LinkAssociation" - } - }, - "com.amazonaws.networkmanager#LinkAssociationState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PENDING", - "name": "pending" - }, - { - "value": "AVAILABLE", - "name": "available" - }, - { - "value": "DELETING", - "name": "deleting" - }, - { - "value": "DELETED", - "name": "deleted" - } - ] - } - }, - "com.amazonaws.networkmanager#LinkList": { - "type": "list", - "member": { - "target": "com.amazonaws.networkmanager#Link" - } - }, - "com.amazonaws.networkmanager#LinkState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PENDING", - "name": "pending" - }, - { - "value": "AVAILABLE", - "name": "available" - }, - { - "value": "DELETING", - "name": "deleting" - }, - { - "value": "UPDATING", - "name": "updating" - } - ] } }, - "com.amazonaws.networkmanager#ListTagsForResource": { + "com.amazonaws.networkmanager#GetRouteAnalysis": { "type": "operation", "input": { - "target": "com.amazonaws.networkmanager#ListTagsForResourceRequest" + "target": "com.amazonaws.networkmanager#GetRouteAnalysisRequest" }, "output": { - "target": "com.amazonaws.networkmanager#ListTagsForResourceResponse" + "target": "com.amazonaws.networkmanager#GetRouteAnalysisResponse" }, "errors": [ { @@ -2884,216 +3026,241 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the tags for a specified resource.

", + "smithy.api#documentation": "

Gets information about the specified route analysis.

", "smithy.api#http": { "method": "GET", - "uri": "/tags/{ResourceArn}", + "uri": "/global-networks/{GlobalNetworkId}/route-analyses/{RouteAnalysisId}", "code": 200 } } }, - "com.amazonaws.networkmanager#ListTagsForResourceRequest": { + "com.amazonaws.networkmanager#GetRouteAnalysisRequest": { "type": "structure", "members": { - "ResourceArn": { - "target": "com.amazonaws.networkmanager#ResourceARN", + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RouteAnalysisId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the route analysis.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } } }, - "com.amazonaws.networkmanager#ListTagsForResourceResponse": { + "com.amazonaws.networkmanager#GetRouteAnalysisResponse": { "type": "structure", "members": { - "TagList": { - "target": "com.amazonaws.networkmanager#TagList", + "RouteAnalysis": { + "target": "com.amazonaws.networkmanager#RouteAnalysis", "traits": { - "smithy.api#documentation": "

The list of tags.

" + "smithy.api#documentation": "

The route analysis.

" } } } }, - "com.amazonaws.networkmanager#Location": { - "type": "structure", - "members": { - "Address": { - "target": "com.amazonaws.networkmanager#String", - "traits": { - "smithy.api#documentation": "

The physical address.

" - } + "com.amazonaws.networkmanager#GetSites": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#GetSitesRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#GetSitesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" }, - "Latitude": { - "target": "com.amazonaws.networkmanager#String", - "traits": { - "smithy.api#documentation": "

The latitude.

" - } + { + "target": "com.amazonaws.networkmanager#InternalServerException" }, - "Longitude": { - "target": "com.amazonaws.networkmanager#String", - "traits": { - "smithy.api#documentation": "

The longitude.

" - } + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" } - }, - "traits": { - "smithy.api#documentation": "

Describes a location.

", - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.networkmanager#MaxResults": { - "type": "integer", + ], "traits": { - "smithy.api#box": {}, - "smithy.api#range": { - "min": 1, - "max": 500 + "smithy.api#documentation": "

Gets information about one or more of your sites in a global network.

", + "smithy.api#http": { + "method": "GET", + "uri": "/global-networks/{GlobalNetworkId}/sites", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.networkmanager#NetworkManager": { - "type": "service", - "version": "2019-07-05", - "operations": [ - { - "target": "com.amazonaws.networkmanager#AssociateCustomerGateway" - }, - { - "target": "com.amazonaws.networkmanager#AssociateLink" - }, - { - "target": "com.amazonaws.networkmanager#AssociateTransitGatewayConnectPeer" - }, - { - "target": "com.amazonaws.networkmanager#CreateConnection" - }, - { - "target": "com.amazonaws.networkmanager#CreateDevice" - }, - { - "target": "com.amazonaws.networkmanager#CreateGlobalNetwork" - }, - { - "target": "com.amazonaws.networkmanager#CreateLink" - }, - { - "target": "com.amazonaws.networkmanager#CreateSite" - }, - { - "target": "com.amazonaws.networkmanager#DeleteConnection" - }, - { - "target": "com.amazonaws.networkmanager#DeleteDevice" - }, - { - "target": "com.amazonaws.networkmanager#DeleteGlobalNetwork" - }, - { - "target": "com.amazonaws.networkmanager#DeleteLink" - }, - { - "target": "com.amazonaws.networkmanager#DeleteSite" - }, - { - "target": "com.amazonaws.networkmanager#DeregisterTransitGateway" - }, - { - "target": "com.amazonaws.networkmanager#DescribeGlobalNetworks" - }, - { - "target": "com.amazonaws.networkmanager#DisassociateCustomerGateway" - }, - { - "target": "com.amazonaws.networkmanager#DisassociateLink" - }, - { - "target": "com.amazonaws.networkmanager#DisassociateTransitGatewayConnectPeer" - }, - { - "target": "com.amazonaws.networkmanager#GetConnections" - }, - { - "target": "com.amazonaws.networkmanager#GetCustomerGatewayAssociations" - }, - { - "target": "com.amazonaws.networkmanager#GetDevices" - }, - { - "target": "com.amazonaws.networkmanager#GetLinkAssociations" + "com.amazonaws.networkmanager#GetSitesRequest": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.networkmanager#GetLinks" + "SiteIds": { + "target": "com.amazonaws.networkmanager#StringList", + "traits": { + "smithy.api#documentation": "

One or more site IDs. The maximum is 10.

", + "smithy.api#httpQuery": "siteIds" + } }, - { - "target": "com.amazonaws.networkmanager#GetSites" + "MaxResults": { + "target": "com.amazonaws.networkmanager#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } }, - { - "target": "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociations" + "NextToken": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.networkmanager#GetSitesResponse": { + "type": "structure", + "members": { + "Sites": { + "target": "com.amazonaws.networkmanager#SiteList", + "traits": { + "smithy.api#documentation": "

The sites.

" + } }, + "NextToken": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + } + } + }, + "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsResponse" + }, + "errors": [ { - "target": "com.amazonaws.networkmanager#GetTransitGatewayRegistrations" + "target": "com.amazonaws.networkmanager#AccessDeniedException" }, { - "target": "com.amazonaws.networkmanager#ListTagsForResource" + "target": "com.amazonaws.networkmanager#ConflictException" }, { - "target": "com.amazonaws.networkmanager#RegisterTransitGateway" + "target": "com.amazonaws.networkmanager#InternalServerException" }, { - "target": "com.amazonaws.networkmanager#TagResource" + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" }, { - "target": "com.amazonaws.networkmanager#UntagResource" + "target": "com.amazonaws.networkmanager#ThrottlingException" }, { - "target": "com.amazonaws.networkmanager#UpdateConnection" + "target": "com.amazonaws.networkmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets information about one or more of your transit gateway Connect peer associations in a global network.

", + "smithy.api#http": { + "method": "GET", + "uri": "/global-networks/{GlobalNetworkId}/transit-gateway-connect-peer-associations", + "code": 200 }, - { - "target": "com.amazonaws.networkmanager#UpdateDevice" + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsRequest": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.networkmanager#UpdateGlobalNetwork" + "TransitGatewayConnectPeerArns": { + "target": "com.amazonaws.networkmanager#StringList", + "traits": { + "smithy.api#documentation": "

One or more transit gateway Connect peer Amazon Resource Names (ARNs).

", + "smithy.api#httpQuery": "transitGatewayConnectPeerArns" + } }, - { - "target": "com.amazonaws.networkmanager#UpdateLink" + "MaxResults": { + "target": "com.amazonaws.networkmanager#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } }, - { - "target": "com.amazonaws.networkmanager#UpdateSite" + "NextToken": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } } - ], - "traits": { - "aws.api#service": { - "sdkId": "NetworkManager", - "arnNamespace": "networkmanager", - "cloudFormationName": "NetworkManager", - "cloudTrailEventSource": "networkmanager.amazonaws.com", - "endpointPrefix": "networkmanager" - }, - "aws.auth#sigv4": { - "name": "networkmanager" + } + }, + "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociationsResponse": { + "type": "structure", + "members": { + "TransitGatewayConnectPeerAssociations": { + "target": "com.amazonaws.networkmanager#TransitGatewayConnectPeerAssociationList", + "traits": { + "smithy.api#documentation": "

Information about the transit gateway Connect peer associations.

" + } }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your\n AWS and on-premises networks that are built around transit gateways.

\n

The Network Manager APIs are supported in the US West (Oregon) Region only. You must specify the us-west-2 Region in all requests made to Network Manager.

", - "smithy.api#title": "AWS Network Manager" + "NextToken": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The token to use for the next page of results.

" + } + } } }, - "com.amazonaws.networkmanager#RegisterTransitGateway": { + "com.amazonaws.networkmanager#GetTransitGatewayRegistrations": { "type": "operation", "input": { - "target": "com.amazonaws.networkmanager#RegisterTransitGatewayRequest" + "target": "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsRequest" }, "output": { - "target": "com.amazonaws.networkmanager#RegisterTransitGatewayResponse" + "target": "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsResponse" }, "errors": [ { "target": "com.amazonaws.networkmanager#AccessDeniedException" }, - { - "target": "com.amazonaws.networkmanager#ConflictException" - }, { "target": "com.amazonaws.networkmanager#InternalServerException" }, @@ -3108,82 +3275,1377 @@ } ], "traits": { - "smithy.api#documentation": "

Registers a transit gateway in your global network. The transit gateway can be in any\n AWS Region, but it must be owned by the same AWS account that owns the global network.\n You cannot register a transit gateway in more than one global network.

", - "smithy.api#http": { - "method": "POST", - "uri": "/global-networks/{GlobalNetworkId}/transit-gateway-registrations", - "code": 200 - } + "smithy.api#documentation": "

Gets information about the transit gateway registrations in a specified\n global network.

", + "smithy.api#http": { + "method": "GET", + "uri": "/global-networks/{GlobalNetworkId}/transit-gateway-registrations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsRequest": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "TransitGatewayArns": { + "target": "com.amazonaws.networkmanager#StringList", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum is\n 10.

", + "smithy.api#httpQuery": "transitGatewayArns" + } + }, + "MaxResults": { + "target": "com.amazonaws.networkmanager#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.networkmanager#GetTransitGatewayRegistrationsResponse": { + "type": "structure", + "members": { + "TransitGatewayRegistrations": { + "target": "com.amazonaws.networkmanager#TransitGatewayRegistrationList", + "traits": { + "smithy.api#documentation": "

The transit gateway registrations.

" + } + }, + "NextToken": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + } + } + }, + "com.amazonaws.networkmanager#GlobalNetwork": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

" + } + }, + "GlobalNetworkArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the global network.

" + } + }, + "Description": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The description of the global network.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.networkmanager#DateTime", + "traits": { + "smithy.api#documentation": "

The date and time that the global network was created.

" + } + }, + "State": { + "target": "com.amazonaws.networkmanager#GlobalNetworkState", + "traits": { + "smithy.api#documentation": "

The state of the global network.

" + } + }, + "Tags": { + "target": "com.amazonaws.networkmanager#TagList", + "traits": { + "smithy.api#documentation": "

The tags for the global network.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a global network.

" + } + }, + "com.amazonaws.networkmanager#GlobalNetworkList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#GlobalNetwork" + } + }, + "com.amazonaws.networkmanager#GlobalNetworkState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING", + "name": "pending" + }, + { + "value": "AVAILABLE", + "name": "available" + }, + { + "value": "DELETING", + "name": "deleting" + }, + { + "value": "UPDATING", + "name": "updating" + } + ] + } + }, + "com.amazonaws.networkmanager#Integer": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.networkmanager#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#required": {} + } + }, + "RetryAfterSeconds": { + "target": "com.amazonaws.networkmanager#RetryAfterSeconds", + "traits": { + "smithy.api#documentation": "

Indicates when to retry the request.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request has failed due to an internal error.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.networkmanager#Link": { + "type": "structure", + "members": { + "LinkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the link.

" + } + }, + "LinkArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the link.

" + } + }, + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

" + } + }, + "SiteId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the site.

" + } + }, + "Description": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The description of the link.

" + } + }, + "Type": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The type of the link.

" + } + }, + "Bandwidth": { + "target": "com.amazonaws.networkmanager#Bandwidth", + "traits": { + "smithy.api#documentation": "

The bandwidth for the link.

" + } + }, + "Provider": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The provider of the link.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.networkmanager#DateTime", + "traits": { + "smithy.api#documentation": "

The date and time that the link was created.

" + } + }, + "State": { + "target": "com.amazonaws.networkmanager#LinkState", + "traits": { + "smithy.api#documentation": "

The state of the link.

" + } + }, + "Tags": { + "target": "com.amazonaws.networkmanager#TagList", + "traits": { + "smithy.api#documentation": "

The tags for the link.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a link.

" + } + }, + "com.amazonaws.networkmanager#LinkAssociation": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

" + } + }, + "DeviceId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The device ID for the link association.

" + } + }, + "LinkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the link.

" + } + }, + "LinkAssociationState": { + "target": "com.amazonaws.networkmanager#LinkAssociationState", + "traits": { + "smithy.api#documentation": "

The state of the association.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the association between a device and a link.

" + } + }, + "com.amazonaws.networkmanager#LinkAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#LinkAssociation" + } + }, + "com.amazonaws.networkmanager#LinkAssociationState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING", + "name": "pending" + }, + { + "value": "AVAILABLE", + "name": "available" + }, + { + "value": "DELETING", + "name": "deleting" + }, + { + "value": "DELETED", + "name": "deleted" + } + ] + } + }, + "com.amazonaws.networkmanager#LinkList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#Link" + } + }, + "com.amazonaws.networkmanager#LinkState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING", + "name": "pending" + }, + { + "value": "AVAILABLE", + "name": "available" + }, + { + "value": "DELETING", + "name": "deleting" + }, + { + "value": "UPDATING", + "name": "updating" + } + ] + } + }, + "com.amazonaws.networkmanager#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkmanager#InternalServerException" + }, + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the tags for a specified resource.

", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{ResourceArn}", + "code": 200 + } + } + }, + "com.amazonaws.networkmanager#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.networkmanager#ResourceARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.networkmanager#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "TagList": { + "target": "com.amazonaws.networkmanager#TagList", + "traits": { + "smithy.api#documentation": "

The list of tags.

" + } + } + } + }, + "com.amazonaws.networkmanager#Location": { + "type": "structure", + "members": { + "Address": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The physical address.

" + } + }, + "Latitude": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The latitude.

" + } + }, + "Longitude": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The longitude.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a location.

", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.networkmanager#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 500 + } + } + }, + "com.amazonaws.networkmanager#NetworkManager": { + "type": "service", + "version": "2019-07-05", + "operations": [ + { + "target": "com.amazonaws.networkmanager#AssociateCustomerGateway" + }, + { + "target": "com.amazonaws.networkmanager#AssociateLink" + }, + { + "target": "com.amazonaws.networkmanager#AssociateTransitGatewayConnectPeer" + }, + { + "target": "com.amazonaws.networkmanager#CreateConnection" + }, + { + "target": "com.amazonaws.networkmanager#CreateDevice" + }, + { + "target": "com.amazonaws.networkmanager#CreateGlobalNetwork" + }, + { + "target": "com.amazonaws.networkmanager#CreateLink" + }, + { + "target": "com.amazonaws.networkmanager#CreateSite" + }, + { + "target": "com.amazonaws.networkmanager#DeleteConnection" + }, + { + "target": "com.amazonaws.networkmanager#DeleteDevice" + }, + { + "target": "com.amazonaws.networkmanager#DeleteGlobalNetwork" + }, + { + "target": "com.amazonaws.networkmanager#DeleteLink" + }, + { + "target": "com.amazonaws.networkmanager#DeleteSite" + }, + { + "target": "com.amazonaws.networkmanager#DeregisterTransitGateway" + }, + { + "target": "com.amazonaws.networkmanager#DescribeGlobalNetworks" + }, + { + "target": "com.amazonaws.networkmanager#DisassociateCustomerGateway" + }, + { + "target": "com.amazonaws.networkmanager#DisassociateLink" + }, + { + "target": "com.amazonaws.networkmanager#DisassociateTransitGatewayConnectPeer" + }, + { + "target": "com.amazonaws.networkmanager#GetConnections" + }, + { + "target": "com.amazonaws.networkmanager#GetCustomerGatewayAssociations" + }, + { + "target": "com.amazonaws.networkmanager#GetDevices" + }, + { + "target": "com.amazonaws.networkmanager#GetLinkAssociations" + }, + { + "target": "com.amazonaws.networkmanager#GetLinks" + }, + { + "target": "com.amazonaws.networkmanager#GetNetworkResourceCounts" + }, + { + "target": "com.amazonaws.networkmanager#GetNetworkResourceRelationships" + }, + { + "target": "com.amazonaws.networkmanager#GetNetworkResources" + }, + { + "target": "com.amazonaws.networkmanager#GetNetworkRoutes" + }, + { + "target": "com.amazonaws.networkmanager#GetNetworkTelemetry" + }, + { + "target": "com.amazonaws.networkmanager#GetRouteAnalysis" + }, + { + "target": "com.amazonaws.networkmanager#GetSites" + }, + { + "target": "com.amazonaws.networkmanager#GetTransitGatewayConnectPeerAssociations" + }, + { + "target": "com.amazonaws.networkmanager#GetTransitGatewayRegistrations" + }, + { + "target": "com.amazonaws.networkmanager#ListTagsForResource" + }, + { + "target": "com.amazonaws.networkmanager#RegisterTransitGateway" + }, + { + "target": "com.amazonaws.networkmanager#StartRouteAnalysis" + }, + { + "target": "com.amazonaws.networkmanager#TagResource" + }, + { + "target": "com.amazonaws.networkmanager#UntagResource" + }, + { + "target": "com.amazonaws.networkmanager#UpdateConnection" + }, + { + "target": "com.amazonaws.networkmanager#UpdateDevice" + }, + { + "target": "com.amazonaws.networkmanager#UpdateGlobalNetwork" + }, + { + "target": "com.amazonaws.networkmanager#UpdateLink" + }, + { + "target": "com.amazonaws.networkmanager#UpdateNetworkResourceMetadata" + }, + { + "target": "com.amazonaws.networkmanager#UpdateSite" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "NetworkManager", + "arnNamespace": "networkmanager", + "cloudFormationName": "NetworkManager", + "cloudTrailEventSource": "networkmanager.amazonaws.com", + "endpointPrefix": "networkmanager" + }, + "aws.auth#sigv4": { + "name": "networkmanager" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your\n Amazon Web Services and on-premises networks that are built around transit gateways.

", + "smithy.api#title": "AWS Network Manager" + } + }, + "com.amazonaws.networkmanager#NetworkResource": { + "type": "structure", + "members": { + "RegisteredGatewayArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the gateway.

" + } + }, + "AwsRegion": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region.

" + } + }, + "AccountId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

\n

The following are the supported resource types for Direct Connect:

\n \n \n

The following are the supported resource types for Network Manager:

\n \n\n

The following are the supported resource types for Amazon VPC:

\n " + } + }, + "ResourceId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

" + } + }, + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

" + } + }, + "Definition": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

Information about the resource, in JSON format. Network Manager gets this information by describing the resource using its Describe API call.

" + } + }, + "DefinitionTimestamp": { + "target": "com.amazonaws.networkmanager#DateTime", + "traits": { + "smithy.api#documentation": "

The time that the resource definition was retrieved.

" + } + }, + "Tags": { + "target": "com.amazonaws.networkmanager#TagList", + "traits": { + "smithy.api#documentation": "

The tags.

" + } + }, + "Metadata": { + "target": "com.amazonaws.networkmanager#NetworkResourceMetadataMap", + "traits": { + "smithy.api#documentation": "

The resource metadata.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a network resource.

" + } + }, + "com.amazonaws.networkmanager#NetworkResourceCount": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

" + } + }, + "Count": { + "target": "com.amazonaws.networkmanager#Integer", + "traits": { + "smithy.api#documentation": "

The resource count.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a resource count.

" + } + }, + "com.amazonaws.networkmanager#NetworkResourceCountList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#NetworkResourceCount" + } + }, + "com.amazonaws.networkmanager#NetworkResourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#NetworkResource" + } + }, + "com.amazonaws.networkmanager#NetworkResourceMetadataKey": { + "type": "string" + }, + "com.amazonaws.networkmanager#NetworkResourceMetadataMap": { + "type": "map", + "key": { + "target": "com.amazonaws.networkmanager#NetworkResourceMetadataKey" + }, + "value": { + "target": "com.amazonaws.networkmanager#NetworkResourceMetadataValue" + } + }, + "com.amazonaws.networkmanager#NetworkResourceMetadataValue": { + "type": "string" + }, + "com.amazonaws.networkmanager#NetworkResourceSummary": { + "type": "structure", + "members": { + "RegisteredGatewayArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the gateway.

" + } + }, + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

" + } + }, + "Definition": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

Information about the resource, in JSON format. Network Manager gets this information by describing the resource using its Describe API call.

" + } + }, + "NameTag": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The value for the Name tag.

" + } + }, + "IsMiddlebox": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether this is a middlebox appliance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a network resource.

" + } + }, + "com.amazonaws.networkmanager#NetworkRoute": { + "type": "structure", + "members": { + "DestinationCidrBlock": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

A unique identifier for the route, such as a CIDR block.

" + } + }, + "Destinations": { + "target": "com.amazonaws.networkmanager#NetworkRouteDestinationList", + "traits": { + "smithy.api#documentation": "

The destinations.

" + } + }, + "PrefixListId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the prefix list.

" + } + }, + "State": { + "target": "com.amazonaws.networkmanager#RouteState", + "traits": { + "smithy.api#documentation": "

The route state. The possible values are active and blackhole.

" + } + }, + "Type": { + "target": "com.amazonaws.networkmanager#RouteType", + "traits": { + "smithy.api#documentation": "

The route type. The possible values are propagated and static.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a network route.

" + } + }, + "com.amazonaws.networkmanager#NetworkRouteDestination": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the transit gateway attachment.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

" + } + }, + "ResourceId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the destination of a network route.

" + } + }, + "com.amazonaws.networkmanager#NetworkRouteDestinationList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#NetworkRouteDestination" + } + }, + "com.amazonaws.networkmanager#NetworkRouteList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#NetworkRoute" + } + }, + "com.amazonaws.networkmanager#NetworkTelemetry": { + "type": "structure", + "members": { + "RegisteredGatewayArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the gateway.

" + } + }, + "AwsRegion": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region.

" + } + }, + "AccountId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

" + } + }, + "ResourceId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

" + } + }, + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

" + } + }, + "Address": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The address.

" + } + }, + "Health": { + "target": "com.amazonaws.networkmanager#ConnectionHealth", + "traits": { + "smithy.api#documentation": "

The connection health.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the telemetry information for a resource.

" + } + }, + "com.amazonaws.networkmanager#NetworkTelemetryList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#NetworkTelemetry" + } + }, + "com.amazonaws.networkmanager#PathComponent": { + "type": "structure", + "members": { + "Sequence": { + "target": "com.amazonaws.networkmanager#Integer", + "traits": { + "smithy.api#documentation": "

The sequence number in the path. The destination is 0.

" + } + }, + "Resource": { + "target": "com.amazonaws.networkmanager#NetworkResourceSummary", + "traits": { + "smithy.api#documentation": "

The resource.

" + } + }, + "DestinationCidrBlock": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The destination CIDR block in the route table.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a path component.

" + } + }, + "com.amazonaws.networkmanager#PathComponentList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#PathComponent" + } + }, + "com.amazonaws.networkmanager#ReasonContextKey": { + "type": "string" + }, + "com.amazonaws.networkmanager#ReasonContextMap": { + "type": "map", + "key": { + "target": "com.amazonaws.networkmanager#ReasonContextKey" + }, + "value": { + "target": "com.amazonaws.networkmanager#ReasonContextValue" + } + }, + "com.amazonaws.networkmanager#ReasonContextValue": { + "type": "string" + }, + "com.amazonaws.networkmanager#RegisterTransitGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#RegisterTransitGatewayRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#RegisterTransitGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkmanager#ConflictException" + }, + { + "target": "com.amazonaws.networkmanager#InternalServerException" + }, + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Registers a transit gateway in your global network. The transit gateway can be in any\n Amazon Web Services Region, but it must be owned by the same Amazon Web Services account that owns \n the global network. You cannot register a transit gateway in more than one global network.

", + "smithy.api#http": { + "method": "POST", + "uri": "/global-networks/{GlobalNetworkId}/transit-gateway-registrations", + "code": 200 + } + } + }, + "com.amazonaws.networkmanager#RegisterTransitGatewayRequest": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "TransitGatewayArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the transit gateway.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.networkmanager#RegisterTransitGatewayResponse": { + "type": "structure", + "members": { + "TransitGatewayRegistration": { + "target": "com.amazonaws.networkmanager#TransitGatewayRegistration", + "traits": { + "smithy.api#documentation": "

Information about the transit gateway registration.

" + } + } + } + }, + "com.amazonaws.networkmanager#Relationship": { + "type": "structure", + "members": { + "From": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

" + } + }, + "To": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a resource relationship.

" + } + }, + "com.amazonaws.networkmanager#RelationshipList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#Relationship" + } + }, + "com.amazonaws.networkmanager#ResourceARN": { + "type": "string" + }, + "com.amazonaws.networkmanager#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the resource.

", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The resource type.

", + "smithy.api#required": {} + } + }, + "Context": { + "target": "com.amazonaws.networkmanager#ExceptionContextMap" + } + }, + "traits": { + "smithy.api#documentation": "

The specified resource could not be found.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.networkmanager#RetryAfterSeconds": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.networkmanager#RouteAnalysis": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

" + } + }, + "OwnerAccountId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the AWS account that created the route analysis.

" + } + }, + "RouteAnalysisId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the route analysis.

" + } + }, + "StartTimestamp": { + "target": "com.amazonaws.networkmanager#DateTime", + "traits": { + "smithy.api#documentation": "

The time that the analysis started.

" + } + }, + "Status": { + "target": "com.amazonaws.networkmanager#RouteAnalysisStatus", + "traits": { + "smithy.api#documentation": "

The status of the route analysis.

" + } + }, + "Source": { + "target": "com.amazonaws.networkmanager#RouteAnalysisEndpointOptions", + "traits": { + "smithy.api#documentation": "

The source.

" + } + }, + "Destination": { + "target": "com.amazonaws.networkmanager#RouteAnalysisEndpointOptions", + "traits": { + "smithy.api#documentation": "

The destination.

" + } + }, + "IncludeReturnPath": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to analyze the return path. The return path is not analyzed if the forward path\n analysis does not succeed.

" + } + }, + "UseMiddleboxes": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to include the location of middlebox appliances in the route analysis.

" + } + }, + "ForwardPath": { + "target": "com.amazonaws.networkmanager#RouteAnalysisPath", + "traits": { + "smithy.api#documentation": "

The forward path.

" + } + }, + "ReturnPath": { + "target": "com.amazonaws.networkmanager#RouteAnalysisPath", + "traits": { + "smithy.api#documentation": "

The return path.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a route analysis.

" + } + }, + "com.amazonaws.networkmanager#RouteAnalysisCompletion": { + "type": "structure", + "members": { + "ResultCode": { + "target": "com.amazonaws.networkmanager#RouteAnalysisCompletionResultCode", + "traits": { + "smithy.api#documentation": "

The result of the analysis. If the status is NOT_CONNECTED, check the \n reason code.

" + } + }, + "ReasonCode": { + "target": "com.amazonaws.networkmanager#RouteAnalysisCompletionReasonCode", + "traits": { + "smithy.api#documentation": "

The reason code. Available only if a connection is not found.

\n " + } + }, + "ReasonContext": { + "target": "com.amazonaws.networkmanager#ReasonContextMap", + "traits": { + "smithy.api#documentation": "

Additional information about the path. Available only if a connection is not found.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the status of an analysis at completion.

" + } + }, + "com.amazonaws.networkmanager#RouteAnalysisCompletionReasonCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND", + "name": "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND" + }, + { + "value": "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY", + "name": "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY" + }, + { + "value": "CYCLIC_PATH_DETECTED", + "name": "CYCLIC_PATH_DETECTED" + }, + { + "value": "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND", + "name": "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND" + }, + { + "value": "ROUTE_NOT_FOUND", + "name": "ROUTE_NOT_FOUND" + }, + { + "value": "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND", + "name": "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND" + }, + { + "value": "INACTIVE_ROUTE_FOR_DESTINATION_FOUND", + "name": "INACTIVE_ROUTE_FOR_DESTINATION_FOUND" + }, + { + "value": "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH", + "name": "TRANSIT_GATEWAY_ATTACHMENT" + }, + { + "value": "MAX_HOPS_EXCEEDED", + "name": "MAX_HOPS_EXCEEDED" + }, + { + "value": "POSSIBLE_MIDDLEBOX", + "name": "POSSIBLE_MIDDLEBOX" + }, + { + "value": "NO_DESTINATION_ARN_PROVIDED", + "name": "NO_DESTINATION_ARN_PROVIDED" + } + ] + } + }, + "com.amazonaws.networkmanager#RouteAnalysisCompletionResultCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CONNECTED", + "name": "CONNECTED" + }, + { + "value": "NOT_CONNECTED", + "name": "NOT_CONNECTED" + } + ] } }, - "com.amazonaws.networkmanager#RegisterTransitGatewayRequest": { + "com.amazonaws.networkmanager#RouteAnalysisEndpointOptions": { "type": "structure", "members": { - "GlobalNetworkId": { + "TransitGatewayAttachmentArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The ID of the global network.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "

The ARN of the transit gateway attachment.

" } }, "TransitGatewayArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the transit gateway. For more information, see\n Resources Defined by Amazon EC2.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ARN of the transit gateway.

" + } + }, + "IpAddress": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The IP address.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a source or a destination.

" } }, - "com.amazonaws.networkmanager#RegisterTransitGatewayResponse": { + "com.amazonaws.networkmanager#RouteAnalysisEndpointOptionsSpecification": { "type": "structure", "members": { - "TransitGatewayRegistration": { - "target": "com.amazonaws.networkmanager#TransitGatewayRegistration", + "TransitGatewayAttachmentArn": { + "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

Information about the transit gateway registration.

" + "smithy.api#documentation": "

The ARN of the transit gateway attachment.

" + } + }, + "IpAddress": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The IP address.

" } } + }, + "traits": { + "smithy.api#documentation": "

Describes a source or a destination.

" } }, - "com.amazonaws.networkmanager#ResourceARN": { - "type": "string" - }, - "com.amazonaws.networkmanager#ResourceNotFoundException": { + "com.amazonaws.networkmanager#RouteAnalysisPath": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.networkmanager#String", + "CompletionStatus": { + "target": "com.amazonaws.networkmanager#RouteAnalysisCompletion", "traits": { - "smithy.api#required": {} + "smithy.api#documentation": "

The status of the analysis at completion.

" } }, - "ResourceId": { - "target": "com.amazonaws.networkmanager#String", + "Path": { + "target": "com.amazonaws.networkmanager#PathComponentList", "traits": { - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The route analysis path.

" } - }, - "ResourceType": { + } + }, + "traits": { + "smithy.api#documentation": "

Describes a route analysis path.

" + } + }, + "com.amazonaws.networkmanager#RouteAnalysisStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RUNNING", + "name": "running" + }, + { + "value": "COMPLETED", + "name": "completed" + }, + { + "value": "FAILED", + "name": "failed" + } + ] + } + }, + "com.amazonaws.networkmanager#RouteState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "BLACKHOLE", + "name": "BLACKHOLE" + } + ] + } + }, + "com.amazonaws.networkmanager#RouteStateList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#RouteState" + } + }, + "com.amazonaws.networkmanager#RouteTableIdentifier": { + "type": "structure", + "members": { + "TransitGatewayRouteTableArn": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The resource type.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ARN of the transit gateway route table.

" } } }, "traits": { - "smithy.api#documentation": "

The specified resource could not be found.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 + "smithy.api#documentation": "

Describes a route table.

" } }, - "com.amazonaws.networkmanager#RetryAfterSeconds": { - "type": "integer", + "com.amazonaws.networkmanager#RouteTableType": { + "type": "string", "traits": { - "smithy.api#box": {} + "smithy.api#enum": [ + { + "value": "TRANSIT_GATEWAY_ROUTE_TABLE", + "name": "TRANSIT_GATEWAY_ROUTE_TABLE" + } + ] + } + }, + "com.amazonaws.networkmanager#RouteType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PROPAGATED", + "name": "PROPAGATED" + }, + { + "value": "STATIC", + "name": "STATIC" + } + ] + } + }, + "com.amazonaws.networkmanager#RouteTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.networkmanager#RouteType" } }, "com.amazonaws.networkmanager#ServiceQuotaExceededException": { @@ -3314,6 +4776,93 @@ ] } }, + "com.amazonaws.networkmanager#StartRouteAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#StartRouteAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#StartRouteAnalysisResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkmanager#ConflictException" + }, + { + "target": "com.amazonaws.networkmanager#InternalServerException" + }, + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts analyzing the routing path between the specified source and destination. For more information, \n see Route Analyzer.

", + "smithy.api#http": { + "method": "POST", + "uri": "/global-networks/{GlobalNetworkId}/route-analyses", + "code": 200 + } + } + }, + "com.amazonaws.networkmanager#StartRouteAnalysisRequest": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Source": { + "target": "com.amazonaws.networkmanager#RouteAnalysisEndpointOptionsSpecification", + "traits": { + "smithy.api#documentation": "

The source from which traffic originates.

", + "smithy.api#required": {} + } + }, + "Destination": { + "target": "com.amazonaws.networkmanager#RouteAnalysisEndpointOptionsSpecification", + "traits": { + "smithy.api#documentation": "

The destination.

", + "smithy.api#required": {} + } + }, + "IncludeReturnPath": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to analyze the return path. The default is false.

" + } + }, + "UseMiddleboxes": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to include the location of middlebox appliances in the route analysis.\n The default is false.

" + } + } + } + }, + "com.amazonaws.networkmanager#StartRouteAnalysisResponse": { + "type": "structure", + "members": { + "RouteAnalysis": { + "target": "com.amazonaws.networkmanager#RouteAnalysis", + "traits": { + "smithy.api#documentation": "

The route analysis.

" + } + } + } + }, "com.amazonaws.networkmanager#String": { "type": "string" }, @@ -3329,13 +4878,13 @@ "Key": { "target": "com.amazonaws.networkmanager#TagKey", "traits": { - "smithy.api#documentation": "

The tag key.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The tag key.

\n

Constraints: Maximum length of 128 characters.

" } }, "Value": { "target": "com.amazonaws.networkmanager#TagValue", "traits": { - "smithy.api#documentation": "

The tag value.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

The tag value.

\n

Constraints: Maximum length of 256 characters.

" } } }, @@ -3802,13 +5351,13 @@ "AWSLocation": { "target": "com.amazonaws.networkmanager#AWSLocation", "traits": { - "smithy.api#documentation": "

The AWS location of the device.

" + "smithy.api#documentation": "

The Amazon Web Services location of the device, if applicable. For an on-premises device, you can omit this parameter.

" } }, "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of the device.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of the device.

\n

Constraints: Maximum length of 256 characters.

" } }, "Type": { @@ -3820,19 +5369,19 @@ "Vendor": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The vendor of the device.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The vendor of the device.

\n

Constraints: Maximum length of 128 characters.

" } }, "Model": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The model of the device.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The model of the device.

\n

Constraints: Maximum length of 128 characters.

" } }, "SerialNumber": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The serial number of the device.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The serial number of the device.

\n

Constraints: Maximum length of 128 characters.

" } }, "Location": { @@ -3908,7 +5457,7 @@ "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of the global network.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of the global network.

\n

Constraints: Maximum length of 256 characters.

" } } } @@ -3986,13 +5535,13 @@ "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of the link.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of the link.

\n

Constraints: Maximum length of 256 characters.

" } }, "Type": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The type of the link.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The type of the link.

\n

Constraints: Maximum length of 128 characters.

" } }, "Bandwidth": { @@ -4004,7 +5553,7 @@ "Provider": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

The provider of the link.

\n

Length Constraints: Maximum length of 128 characters.

" + "smithy.api#documentation": "

The provider of the link.

\n

Constraints: Maximum length of 128 characters.

" } } } @@ -4020,6 +5569,88 @@ } } }, + "com.amazonaws.networkmanager#UpdateNetworkResourceMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkmanager#UpdateNetworkResourceMetadataRequest" + }, + "output": { + "target": "com.amazonaws.networkmanager#UpdateNetworkResourceMetadataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.networkmanager#ConflictException" + }, + { + "target": "com.amazonaws.networkmanager#InternalServerException" + }, + { + "target": "com.amazonaws.networkmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkmanager#ThrottlingException" + }, + { + "target": "com.amazonaws.networkmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the resource metadata for the specified global network.

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/global-networks/{GlobalNetworkId}/network-resources/{ResourceArn}/metadata", + "code": 200 + } + } + }, + "com.amazonaws.networkmanager#UpdateNetworkResourceMetadataRequest": { + "type": "structure", + "members": { + "GlobalNetworkId": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ID of the global network.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Metadata": { + "target": "com.amazonaws.networkmanager#NetworkResourceMetadataMap", + "traits": { + "smithy.api#documentation": "

The resource metadata.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.networkmanager#UpdateNetworkResourceMetadataResponse": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.networkmanager#String", + "traits": { + "smithy.api#documentation": "

The ARN of the resource.

" + } + }, + "Metadata": { + "target": "com.amazonaws.networkmanager#NetworkResourceMetadataMap", + "traits": { + "smithy.api#documentation": "

The updated resource metadata.

" + } + } + } + }, "com.amazonaws.networkmanager#UpdateSite": { "type": "operation", "input": { @@ -4079,7 +5710,7 @@ "Description": { "target": "com.amazonaws.networkmanager#String", "traits": { - "smithy.api#documentation": "

A description of your site.

\n

Length Constraints: Maximum length of 256 characters.

" + "smithy.api#documentation": "

A description of your site.

\n

Constraints: Maximum length of 256 characters.

" } }, "Location": { diff --git a/codegen/sdk-codegen/aws-models/nimble.2020-08-01.json b/codegen/sdk-codegen/aws-models/nimble.2020-08-01.json index 843ff750b5c..19e9be4d10c 100644 --- a/codegen/sdk-codegen/aws-models/nimble.2020-08-01.json +++ b/codegen/sdk-codegen/aws-models/nimble.2020-08-01.json @@ -1,33 +1,5 @@ { "smithy": "1.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, "shapes": { "com.amazonaws.nimble#AcceptEulas": { "type": "operation", @@ -61,6 +33,7 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to accept EULAs", "smithy.api#documentation": "

Accept EULAs.

", "smithy.api#http": { "method": "POST", @@ -75,7 +48,7 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -83,21 +56,20 @@ "eulaIds": { "target": "com.amazonaws.nimble#EulaIdList", "traits": { - "smithy.api#documentation": "

The EULA ID.

", - "smithy.api#jsonName": "eulaIds" + "smithy.api#documentation": "

The EULA ID.

" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

A collection of EULA IDs.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A collection of EULA acceptances.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#AcceptEulasResponse": { @@ -106,38 +78,38 @@ "eulaAcceptances": { "target": "com.amazonaws.nimble#EulaAcceptanceList", "traits": { - "smithy.api#documentation": "

A collection of EULA acceptances.

", - "smithy.api#jsonName": "eulaAcceptances" + "smithy.api#documentation": "

A collection of EULA acceptances.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#AccessDeniedException": { "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

You are not authorized to perform this operation. Check your IAM policies, and ensure\n that you are using the correct access keys.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -148,20 +120,18 @@ "name": { "target": "com.amazonaws.nimble#ActiveDirectoryComputerAttributeName", "traits": { - "smithy.api#documentation": "

The name for the LDAP attribute.

", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

The name for the LDAP attribute.

" } }, "value": { "target": "com.amazonaws.nimble#ActiveDirectoryComputerAttributeValue", "traits": { - "smithy.api#documentation": "

The value for the LDAP attribute.

", - "smithy.api#jsonName": "value" + "smithy.api#documentation": "

The value for the LDAP attribute.

" } } }, "traits": { - "smithy.api#documentation": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value pair.

" + "smithy.api#documentation": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.

" } }, "com.amazonaws.nimble#ActiveDirectoryComputerAttributeList": { @@ -170,11 +140,12 @@ "target": "com.amazonaws.nimble#ActiveDirectoryComputerAttribute" }, "traits": { - "smithy.api#documentation": "

A collection of LDAP attributes to apply to Active Directory computer accounts that are created for streaming sessions.

", + "smithy.api#documentation": "

A collection of LDAP attributes to apply to Active Directory computer accounts that\n are created for streaming sessions.

", "smithy.api#length": { "min": 0, "max": 50 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#ActiveDirectoryComputerAttributeName": { @@ -203,31 +174,31 @@ "computerAttributes": { "target": "com.amazonaws.nimble#ActiveDirectoryComputerAttributeList", "traits": { - "smithy.api#documentation": "

A collection of custom attributes for an Active Directory computer.

", - "smithy.api#jsonName": "computerAttributes" + "smithy.api#documentation": "

A collection of custom attributes for an Active Directory computer.

" } }, "directoryId": { "target": "com.amazonaws.nimble#DirectoryId", "traits": { - "smithy.api#documentation": "

The directory ID of the Directory Service for Microsoft Active Directory to access using this studio component.

", - "smithy.api#jsonName": "directoryId" + "smithy.api#documentation": "

The directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.

" } }, "organizationalUnitDistinguishedName": { "target": "com.amazonaws.nimble#ActiveDirectoryOrganizationalUnitDistinguishedName", "traits": { - "smithy.api#documentation": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory computer.

", - "smithy.api#jsonName": "organizationalUnitDistinguishedName" + "smithy.api#documentation": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio resource.

" + "smithy.api#documentation": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.

" } }, "com.amazonaws.nimble#ActiveDirectoryDnsIpAddress": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#ActiveDirectoryDnsIpAddressList": { "type": "list", @@ -235,6 +206,7 @@ "target": "com.amazonaws.nimble#ActiveDirectoryDnsIpAddress" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 10 @@ -244,7 +216,7 @@ "com.amazonaws.nimble#ActiveDirectoryOrganizationalUnitDistinguishedName": { "type": "string", "traits": { - "smithy.api#documentation": "

The fully-qualified distinguished name of the organizational unit to place the computer account in.

", + "smithy.api#documentation": "

The fully-qualified distinguished name of the organizational unit to place the\n computer account in.

", "smithy.api#length": { "min": 1, "max": 2000 @@ -264,17 +236,16 @@ "type": "structure", "members": { "activeDirectoryUser": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The name of an Active Directory user that is used on ComputeFarm worker instances.

", - "smithy.api#jsonName": "activeDirectoryUser" + "smithy.api#documentation": "

The name of an Active Directory user that is used on ComputeFarm worker\n instances.

" } }, "endpoint": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The endpoint of the ComputeFarm that is accessed by the studio component resource.

", - "smithy.api#jsonName": "endpoint" + "smithy.api#documentation": "

The endpoint of the ComputeFarm that is accessed by the studio component\n resource.

", + "smithy.api#sensitive": {} } } }, @@ -286,28 +257,26 @@ "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

Another operation is in progress.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -344,6 +313,11 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a launch profile", + "aws.iam#requiredActions": [ + "ec2:CreateNetworkInterface", + "ec2:RunInstances" + ], "smithy.api#documentation": "

Create a launch profile.

", "smithy.api#http": { "method": "POST", @@ -358,7 +332,8 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -366,22 +341,21 @@ "description": { "target": "com.amazonaws.nimble#LaunchProfileDescription", "traits": { - "smithy.api#documentation": "

The description.

", - "smithy.api#jsonName": "description" + "smithy.api#documentation": "

The description.

" } }, "ec2SubnetIds": { "target": "com.amazonaws.nimble#EC2SubnetIdList", "traits": { - "smithy.api#jsonName": "ec2SubnetIds", + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types.

", "smithy.api#required": {} } }, "launchProfileProtocolVersions": { "target": "com.amazonaws.nimble#LaunchProfileProtocolVersionList", "traits": { - "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", - "smithy.api#jsonName": "launchProfileProtocolVersions", + "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", "smithy.api#required": {} } }, @@ -389,30 +363,29 @@ "target": "com.amazonaws.nimble#LaunchProfileName", "traits": { "smithy.api#documentation": "

The name for the launch profile.

", - "smithy.api#jsonName": "name", "smithy.api#required": {} } }, "streamConfiguration": { "target": "com.amazonaws.nimble#StreamConfigurationCreate", "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, "smithy.api#documentation": "

A configuration for a streaming session.

", - "smithy.api#jsonName": "streamConfiguration", "smithy.api#required": {} } }, "studioComponentIds": { "target": "com.amazonaws.nimble#LaunchProfileStudioComponentIdList", "traits": { - "smithy.api#documentation": "

Unique identifiers for a collection of studio components that can be used with this launch profile.

", - "smithy.api#jsonName": "studioComponentIds", + "smithy.api#documentation": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

", "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -420,13 +393,17 @@ "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } } }, "traits": { - "smithy.api#documentation": "

A collection of launch profiles.

" + "smithy.api#documentation": "", + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StudioResource" + } + ] } }, "com.amazonaws.nimble#CreateLaunchProfileResponse": { @@ -435,10 +412,12 @@ "launchProfile": { "target": "com.amazonaws.nimble#LaunchProfile", "traits": { - "smithy.api#documentation": "

The launch profile.

", - "smithy.api#jsonName": "launchProfile" + "smithy.api#documentation": "

The launch profile.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#CreateStreamingImage": { @@ -473,6 +452,14 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a streaming image", + "aws.iam#requiredActions": [ + "ec2:ModifyInstanceAttribute", + "ec2:ModifySnapshotAttribute", + "ec2:RegisterImage", + "ec2:DescribeImages", + "ec2:DescribeSnapshots" + ], "smithy.api#documentation": "

Creates a streaming image resource in a studio.

", "smithy.api#http": { "method": "POST", @@ -487,7 +474,8 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -496,14 +484,13 @@ "target": "com.amazonaws.nimble#StreamingImageDescription", "traits": { "smithy.api#documentation": "

A human-readable description of the streaming image.

", - "smithy.api#jsonName": "description" + "smithy.api#sensitive": {} } }, "ec2ImageId": { "target": "com.amazonaws.nimble#EC2ImageId", "traits": { "smithy.api#documentation": "

The ID of an EC2 machine image with which to create this streaming image.

", - "smithy.api#jsonName": "ec2ImageId", "smithy.api#required": {} } }, @@ -511,14 +498,15 @@ "target": "com.amazonaws.nimble#StreamingImageName", "traits": { "smithy.api#documentation": "

A friendly name for a streaming image resource.

", - "smithy.api#jsonName": "name", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#sensitive": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -526,13 +514,18 @@ "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } } }, "traits": { - "smithy.api#documentation": "

A collection of streaming images.

" + "smithy.api#documentation": "", + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StudioResource" + } + ] } }, "com.amazonaws.nimble#CreateStreamingImageResponse": { @@ -541,9 +534,12 @@ "streamingImage": { "target": "com.amazonaws.nimble#StreamingImage", "traits": { - "smithy.api#jsonName": "streamingImage" + "smithy.api#documentation": "

The streaming image.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#CreateStreamingSession": { @@ -578,7 +574,15 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a streaming session in a studio.

After invoking this operation, you must poll GetStreamingSession until the streaming session is in state READY.

", + "aws.iam#actionPermissionDescription": "Grants permission to create a streaming session", + "aws.iam#requiredActions": [ + "ec2:CreateNetworkInterface", + "ec2:CreateNetworkInterfacePermission", + "nimble:GetLaunchProfileInitialization", + "nimble:GetLaunchProfile", + "nimble:ListEulaAcceptances" + ], + "smithy.api#documentation": "

Creates a streaming session in a studio.

\n

After invoking this operation, you must poll GetStreamingSession until the streaming\n session is in state READY.

", "smithy.api#http": { "method": "POST", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions", @@ -592,7 +596,7 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -600,35 +604,31 @@ "ec2InstanceType": { "target": "com.amazonaws.nimble#StreamingInstanceType", "traits": { - "smithy.api#documentation": "

The EC2 Instance type used for the streaming session.

", - "smithy.api#jsonName": "ec2InstanceType" + "smithy.api#documentation": "

The EC2 Instance type used for the streaming session.

" } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", - "smithy.api#jsonName": "launchProfileId" + "smithy.api#documentation": "

The launch profile ID.

" } }, "ownedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

", - "smithy.api#jsonName": "ownedBy" + "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

" } }, "streamingImageId": { "target": "com.amazonaws.nimble#StreamingImageId", "traits": { - "smithy.api#documentation": "

The ID of the streaming image.

", - "smithy.api#jsonName": "streamingImageId" + "smithy.api#documentation": "

The ID of the streaming image.

" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -636,13 +636,17 @@ "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } } }, "traits": { - "smithy.api#documentation": "

A collection of streaming sessions.

" + "smithy.api#documentation": "", + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#LaunchProfileResource" + } + ] } }, "com.amazonaws.nimble#CreateStreamingSessionResponse": { @@ -651,10 +655,12 @@ "session": { "target": "com.amazonaws.nimble#StreamingSession", "traits": { - "smithy.api#documentation": "

The session.

", - "smithy.api#jsonName": "session" + "smithy.api#documentation": "

The session.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#CreateStreamingSessionStream": { @@ -689,12 +695,14 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a streaming session stream for a streaming session.

After invoking this API, invoke GetStreamingSessionStream with the returned streamId to poll the resource until it is in state READY.

", + "aws.iam#actionPermissionDescription": "Grants permission to create a streaming session stream", + "smithy.api#documentation": "

Creates a streaming session stream for a streaming session.

\n

After invoking this API, invoke GetStreamingSessionStream with the returned streamId\n to poll the resource until it is in state READY.

", "smithy.api#http": { "method": "POST", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#CreateStreamingSessionStreamRequest": { @@ -703,7 +711,7 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -711,29 +719,33 @@ "expirationInSeconds": { "target": "com.amazonaws.nimble#StreamingSessionStreamExpirationInSeconds", "traits": { - "smithy.api#documentation": "

The expiration time in seconds.

", - "smithy.api#jsonName": "expirationInSeconds" + "smithy.api#documentation": "

The expiration time in seconds.

" } }, "sessionId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The session ID.

", + "smithy.api#documentation": "

The streaming session ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A list collection streams.

" + "smithy.api#documentation": "", + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StreamingSessionResource" + } + ] } }, "com.amazonaws.nimble#CreateStreamingSessionStreamResponse": { @@ -742,10 +754,12 @@ "stream": { "target": "com.amazonaws.nimble#StreamingSessionStream", "traits": { - "smithy.api#documentation": "

The stream.

", - "smithy.api#jsonName": "stream" + "smithy.api#documentation": "

The stream.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#CreateStudio": { @@ -780,7 +794,12 @@ } ], "traits": { - "smithy.api#documentation": "

Create a new Studio.

When creating a Studio, two IAM roles must be provided: the admin role and the user Role. These roles are assumed by your users when they log in to the Nimble Studio portal.

The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly.

The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

You may optionally specify a KMS key in the StudioEncryptionConfiguration.

In Nimble Studio, resource names, descriptions, initialization scripts, and other data you provide are always encrypted at rest using an KMS key. By default, this key is owned by Amazon Web Services and managed on your behalf. You may provide your own KMS key when calling CreateStudio to encrypt this data using a key you own and manage.

When providing an KMS key during studio creation, Nimble Studio creates KMS grants in your account to provide your studio user and admin roles access to these KMS keys.

If you delete this grant, the studio will no longer be accessible to your portal users.

If you delete the studio KMS key, your studio will no longer be accessible.

", + "aws.iam#actionPermissionDescription": "Grants permission to create a studio", + "aws.iam#requiredActions": [ + "sso:CreateManagedApplicationInstance", + "iam:PassRole" + ], + "smithy.api#documentation": "

Create a new Studio.

\n

When creating a Studio, two IAM roles must be provided: the admin role and the user\n Role. These roles are assumed by your users when they log in to the Nimble Studio\n portal.

\n

The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for\n the portal to function properly.

\n

The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy attached\n for the portal to function properly.

\n

You may optionally specify a KMS key in the StudioEncryptionConfiguration.

\n

In Nimble Studio, resource names, descriptions, initialization scripts, and other\n data you provide are always encrypted at rest using an KMS key. By default, this key is\n owned by Amazon Web Services and managed on your behalf. You may provide your own KMS\n key when calling CreateStudio to encrypt this data using a key you own and\n manage.

\n

When providing an KMS key during studio creation, Nimble Studio creates KMS\n grants in your account to provide your studio user and admin roles access to these KMS\n keys.

\n

If you delete this grant, the studio will no longer be accessible to your portal\n users.

\n

If you delete the studio KMS key, your studio will no longer be accessible.

", "smithy.api#http": { "method": "POST", "uri": "/2020-08-01/studios", @@ -820,6 +839,12 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a studio component. A studio component designates a network resource to which a launch profile will provide access", + "aws.iam#requiredActions": [ + "ec2:DescribeSecurityGroups", + "fsx:DescribeFileSystems", + "ds:DescribeDirectories" + ], "smithy.api#documentation": "

Creates a studio component resource.

", "smithy.api#http": { "method": "POST", @@ -834,7 +859,8 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -842,50 +868,45 @@ "configuration": { "target": "com.amazonaws.nimble#StudioComponentConfiguration", "traits": { - "smithy.api#documentation": "

The configuration of the studio component, based on component type.

", - "smithy.api#jsonName": "configuration" + "smithy.api#documentation": "

The configuration of the studio component, based on component type.

" } }, "description": { "target": "com.amazonaws.nimble#StudioComponentDescription", "traits": { - "smithy.api#documentation": "

The description.

", - "smithy.api#jsonName": "description" + "smithy.api#documentation": "

The description.

" } }, "ec2SecurityGroupIds": { "target": "com.amazonaws.nimble#StudioComponentSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

", - "smithy.api#jsonName": "ec2SecurityGroupIds" + "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

" } }, "initializationScripts": { "target": "com.amazonaws.nimble#StudioComponentInitializationScriptList", "traits": { - "smithy.api#documentation": "

Initialization scripts for studio components.

", - "smithy.api#jsonName": "initializationScripts" + "smithy.api#documentation": "

Initialization scripts for studio components.

" } }, "name": { "target": "com.amazonaws.nimble#StudioComponentName", "traits": { "smithy.api#documentation": "

The name for the studio component.

", - "smithy.api#jsonName": "name", "smithy.api#required": {} } }, "scriptParameters": { "target": "com.amazonaws.nimble#StudioComponentScriptParameterKeyValueList", "traits": { - "smithy.api#documentation": "

Parameters for the studio component scripts.

", - "smithy.api#jsonName": "scriptParameters" + "smithy.api#documentation": "

Parameters for the studio component scripts.

" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -893,28 +914,32 @@ "subtype": { "target": "com.amazonaws.nimble#StudioComponentSubtype", "traits": { - "smithy.api#documentation": "

The specific subtype of a studio component.

", - "smithy.api#jsonName": "subtype" + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The specific subtype of a studio component.

" } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } }, "type": { "target": "com.amazonaws.nimble#StudioComponentType", "traits": { "smithy.api#documentation": "

The type of the studio component.

", - "smithy.api#jsonName": "type", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The studio components.

" + "smithy.api#documentation": "", + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StudioResource" + } + ] } }, "com.amazonaws.nimble#CreateStudioComponentResponse": { @@ -923,27 +948,29 @@ "studioComponent": { "target": "com.amazonaws.nimble#StudioComponent", "traits": { - "smithy.api#documentation": "

Information about the studio component.

", - "smithy.api#jsonName": "studioComponent" + "smithy.api#documentation": "

Information about the studio component.

" } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#CreateStudioRequest": { "type": "structure", "members": { "adminRoleArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

", - "smithy.api#jsonName": "adminRoleArn", + "smithy.api#documentation": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio\n portal.

", "smithy.api#required": {} } }, "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -951,44 +978,43 @@ "displayName": { "target": "com.amazonaws.nimble#StudioDisplayName", "traits": { + "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "

A friendly name for the studio.

", - "smithy.api#jsonName": "displayName", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#sensitive": {} } }, "studioEncryptionConfiguration": { "target": "com.amazonaws.nimble#StudioEncryptionConfiguration", "traits": { - "smithy.api#documentation": "

The studio encryption configuration.

", - "smithy.api#jsonName": "studioEncryptionConfiguration" + "smithy.api#documentation": "

The studio encryption configuration.

" } }, "studioName": { "target": "com.amazonaws.nimble#StudioName", "traits": { - "smithy.api#documentation": "

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

", - "smithy.api#jsonName": "studioName", + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The studio name that is used in the URL of the Nimble Studio portal when accessed\n by Nimble Studio users.

", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } }, "userRoleArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

", - "smithy.api#jsonName": "userRoleArn", + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio\n portal.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A collection of studio resources.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#CreateStudioResponse": { @@ -997,10 +1023,12 @@ "studio": { "target": "com.amazonaws.nimble#Studio", "traits": { - "smithy.api#documentation": "

Information about a studio.

", - "smithy.api#jsonName": "studio" + "smithy.api#documentation": "

Information about a studio.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#DeleteLaunchProfile": { @@ -1035,12 +1063,14 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a launch profile", "smithy.api#documentation": "

Permanently delete a launch profile.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteLaunchProfileMember": { @@ -1075,12 +1105,14 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a launch profile member", "smithy.api#documentation": "

Delete a user from launch profile membership.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteLaunchProfileMemberRequest": { @@ -1089,31 +1121,31 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", + "smithy.api#documentation": "

The principal ID. This currently supports a Amazon Web Services SSO UserId.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1122,7 +1154,10 @@ }, "com.amazonaws.nimble#DeleteLaunchProfileMemberResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#DeleteLaunchProfileRequest": { "type": "structure", @@ -1130,23 +1165,24 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1159,10 +1195,12 @@ "launchProfile": { "target": "com.amazonaws.nimble#LaunchProfile", "traits": { - "smithy.api#documentation": "

The launch profile.

", - "smithy.api#jsonName": "launchProfile" + "smithy.api#documentation": "

The launch profile.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#DeleteStreamingImage": { @@ -1197,12 +1235,20 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a streaming image", + "aws.iam#requiredActions": [ + "ec2:ModifyInstanceAttribute", + "ec2:ModifySnapshotAttribute", + "ec2:DeregisterImage", + "ec2:DeleteSnapshot" + ], "smithy.api#documentation": "

Delete streaming image.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteStreamingImageRequest": { @@ -1211,13 +1257,14 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "streamingImageId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The streaming image ID.

", "smithy.api#httpLabel": {}, @@ -1225,9 +1272,9 @@ } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1240,10 +1287,12 @@ "streamingImage": { "target": "com.amazonaws.nimble#StreamingImage", "traits": { - "smithy.api#documentation": "

The streaming image.

", - "smithy.api#jsonName": "streamingImage" + "smithy.api#documentation": "

The streaming image.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#DeleteStreamingSession": { @@ -1278,12 +1327,17 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes streaming session resource.

After invoking this operation, use GetStreamingSession to poll the resource until it transitions to a DELETED state.

A streaming session will count against your streaming session quota until it is marked DELETED.

", + "aws.iam#actionPermissionDescription": "Grants permission to delete a streaming session", + "aws.iam#requiredActions": [ + "ec2:DeleteNetworkInterface" + ], + "smithy.api#documentation": "

Deletes streaming session resource.

\n

After invoking this operation, use GetStreamingSession to poll the resource until it\n transitions to a DELETED state.

\n

A streaming session will count against your streaming session quota until it is marked\n DELETED.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteStreamingSessionRequest": { @@ -1292,23 +1346,23 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "sessionId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The session ID.

", + "smithy.api#documentation": "

The streaming session ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1321,10 +1375,12 @@ "session": { "target": "com.amazonaws.nimble#StreamingSession", "traits": { - "smithy.api#documentation": "

The session.

", - "smithy.api#jsonName": "session" + "smithy.api#documentation": "

The session.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#DeleteStudio": { @@ -1359,12 +1415,17 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a studio", + "aws.iam#requiredActions": [ + "sso:DeleteManagedApplicationInstance" + ], "smithy.api#documentation": "

Delete a studio resource.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteStudioComponent": { @@ -1399,12 +1460,14 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a studio component", "smithy.api#documentation": "

Deletes a studio component resource.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteStudioComponentRequest": { @@ -1413,13 +1476,14 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "studioComponentId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The studio component ID.

", "smithy.api#httpLabel": {}, @@ -1427,9 +1491,9 @@ } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1442,10 +1506,12 @@ "studioComponent": { "target": "com.amazonaws.nimble#StudioComponent", "traits": { - "smithy.api#documentation": "

Information about the studio component.

", - "smithy.api#jsonName": "studioComponent" + "smithy.api#documentation": "

Information about the studio component.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#DeleteStudioMember": { @@ -1480,12 +1546,14 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a studio member", "smithy.api#documentation": "

Delete a user from studio membership.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/studios/{studioId}/membership/{principalId}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#DeleteStudioMemberRequest": { @@ -1494,23 +1562,23 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", + "smithy.api#documentation": "

The principal ID. This currently supports a Amazon Web Services SSO UserId.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1519,7 +1587,10 @@ }, "com.amazonaws.nimble#DeleteStudioMemberResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#DeleteStudioRequest": { "type": "structure", @@ -1527,15 +1598,15 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1549,22 +1620,32 @@ "target": "com.amazonaws.nimble#Studio", "traits": { "smithy.api#documentation": "

Information about a studio.

", - "smithy.api#jsonName": "studio" + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#DirectoryId": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#EC2ImageId": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#pattern": "^ami-[0-9A-z]+$" } }, "com.amazonaws.nimble#EC2SubnetId": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#EC2SubnetIdList": { "type": "list", @@ -1572,6 +1653,7 @@ "target": "com.amazonaws.nimble#EC2SubnetId" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 6 @@ -1582,38 +1664,33 @@ "type": "structure", "members": { "content": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The EULA content.

", - "smithy.api#jsonName": "content" + "smithy.api#documentation": "

The EULA content.

" } }, "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "eulaId": { "target": "com.amazonaws.nimble#EulaId", "traits": { - "smithy.api#documentation": "

The EULA ID.

", - "smithy.api#jsonName": "eulaId" + "smithy.api#documentation": "

The EULA ID.

" } }, "name": { "target": "com.amazonaws.nimble#EulaName", "traits": { - "smithy.api#documentation": "

The name for the EULA.

", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

The name for the EULA.

" } }, "updatedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

", - "smithy.api#jsonName": "updatedAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

" } } }, @@ -1627,38 +1704,36 @@ "acceptedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the EULA was accepted.

", - "smithy.api#jsonName": "acceptedAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the EULA was accepted.

" } }, "acceptedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ID of the person who accepted the EULA.

", - "smithy.api#jsonName": "acceptedBy" + "smithy.api#documentation": "

The ID of the person who accepted the EULA.

" } }, "accepteeId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ID of the acceptee.

", - "smithy.api#jsonName": "accepteeId" + "smithy.api#documentation": "

The ID of the acceptee.

" } }, "eulaAcceptanceId": { "target": "com.amazonaws.nimble#EulaAcceptanceId", "traits": { - "smithy.api#documentation": "

The EULA acceptance ID.

", - "smithy.api#jsonName": "eulaAcceptanceId" + "smithy.api#documentation": "

The EULA acceptance ID.

" } }, "eulaId": { "target": "com.amazonaws.nimble#EulaId", "traits": { - "smithy.api#documentation": "

The EULA ID.

", - "smithy.api#jsonName": "eulaId" + "smithy.api#documentation": "

The EULA ID.

" } } + }, + "traits": { + "smithy.api#documentation": "

The acceptance of a EULA, required to use Amazon-provided streaming images.

" } }, "com.amazonaws.nimble#EulaAcceptanceId": { @@ -1676,6 +1751,39 @@ "type": "list", "member": { "target": "com.amazonaws.nimble#EulaAcceptance" + }, + "traits": { + "smithy.api#documentation": "" + } + }, + "com.amazonaws.nimble#EulaAcceptanceResource": { + "type": "resource", + "identifiers": { + "eulaAcceptanceId": { + "target": "com.amazonaws.nimble#EulaAcceptanceId" + } + }, + "create": { + "target": "com.amazonaws.nimble#AcceptEulas" + }, + "list": { + "target": "com.amazonaws.nimble#ListEulaAcceptances" + }, + "traits": { + "aws.api#arn": { + "template": "eula-acceptance/{eulaAcceptanceId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys", + "nimble:studioId" + ], + "aws.iam#disableConditionKeyInference": {}, + "smithy.api#documentation": "Represents the acceptance of a EULA, specific to a studio" } }, "com.amazonaws.nimble#EulaId": { @@ -1692,34 +1800,70 @@ "com.amazonaws.nimble#EulaIdList": { "type": "list", "member": { - "target": "com.amazonaws.nimble#__string" + "target": "com.amazonaws.nimble#String" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#EulaList": { "type": "list", "member": { "target": "com.amazonaws.nimble#Eula" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#EulaName": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 64 } } }, + "com.amazonaws.nimble#EulaResource": { + "type": "resource", + "identifiers": { + "eulaId": { + "target": "com.amazonaws.nimble#String" + } + }, + "read": { + "target": "com.amazonaws.nimble#GetEula" + }, + "list": { + "target": "com.amazonaws.nimble#ListEulas" + }, + "traits": { + "aws.api#arn": { + "template": "eula/{eulaId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#disableConditionKeyInference": {}, + "smithy.api#documentation": "Represents a EULA" + } + }, "com.amazonaws.nimble#ExceptionContext": { "type": "map", "key": { - "target": "com.amazonaws.nimble#__string" + "target": "com.amazonaws.nimble#String" }, "value": { - "target": "com.amazonaws.nimble#__string" + "target": "com.amazonaws.nimble#String" }, "traits": { - "smithy.api#documentation": "

ExceptionContext is a set of key-value pairs that provide you with more information about the error that occurred. For example, when the service returns a 404 ResourceNotFound error, ExceptionContext will contain the key `resourceId` with the value of resource that was not found.

ExceptionContext enables scripts and other programmatic clients to provide for better error handling.

" + "smithy.api#documentation": "

ExceptionContext is a set of key-value pairs that provide you with more information\n about the error that occurred. For example, when the service returns a 404\n ResourceNotFound error, ExceptionContext will contain the key `resourceId` with the\n value of resource that was not found.

\n

ExceptionContext enables scripts and other programmatic clients to provide for better\n error handling.

" } }, "com.amazonaws.nimble#GetEula": { @@ -1754,19 +1898,21 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a EULA", "smithy.api#documentation": "

Get Eula.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/eulas/{eulaId}", "code": 200 - } + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#GetEulaRequest": { "type": "structure", "members": { "eulaId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The EULA ID.

", "smithy.api#httpLabel": {}, @@ -1781,10 +1927,12 @@ "eula": { "target": "com.amazonaws.nimble#Eula", "traits": { - "smithy.api#documentation": "

The EULA.

", - "smithy.api#jsonName": "eula" + "smithy.api#documentation": "

The EULA.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetLaunchProfile": { @@ -1819,11 +1967,79 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a launch profile", "smithy.api#documentation": "

Get a launch profile.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "LaunchProfileReady": { + "documentation": "Wait until a LaunchProfile is Ready. Use this after invoking CreateLaunchProfile or UpdateLaunchProfile", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "launchProfile.state", + "expected": "READY", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "launchProfile.state", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "launchProfile.state", + "expected": "UPDATE_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 5, + "maxDelay": 750 + }, + "LaunchProfileDeleted": { + "documentation": "Wait until a LaunchProfile is Deleted. Use this after invoking DeleteLaunchProfile", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "launchProfile.state", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "launchProfile.state", + "expected": "DELETE_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 5, + "maxDelay": 750 + } } } }, @@ -1859,29 +2075,31 @@ } ], "traits": { - "smithy.api#documentation": "

Launch profile details include the launch profile resource and summary information of resources that are used by, or available to, the launch profile. This includes the name and description of all studio components used by the launch profiles, and the name and description of streaming images that can be used with this launch profile.

", + "aws.iam#actionPermissionDescription": "Grants permission to get a launch profile's details, which includes the summary of studio components and streaming images used by the launch profile", + "smithy.api#documentation": "

Launch profile details include the launch profile resource and summary information of\n resources that are used by, or available to, the launch profile. This includes the name\n and description of all studio components used by the launch profiles, and the name and\n description of streaming images that can be used with this launch profile.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/details", "code": 200 - } + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#GetLaunchProfileDetailsRequest": { "type": "structure", "members": { "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1894,24 +2112,24 @@ "launchProfile": { "target": "com.amazonaws.nimble#LaunchProfile", "traits": { - "smithy.api#documentation": "

The launch profile.

", - "smithy.api#jsonName": "launchProfile" + "smithy.api#documentation": "

The launch profile.

" } }, "streamingImages": { "target": "com.amazonaws.nimble#StreamingImageList", "traits": { - "smithy.api#documentation": "

A collection of streaming images.

", - "smithy.api#jsonName": "streamingImages" + "smithy.api#documentation": "

A collection of streaming images.

" } }, "studioComponentSummaries": { "target": "com.amazonaws.nimble#StudioComponentSummaryList", "traits": { - "smithy.api#documentation": "

A collection of studio component summaries.

", - "smithy.api#jsonName": "studioComponentSummaries" + "smithy.api#documentation": "

A collection of studio component summaries.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetLaunchProfileInitialization": { @@ -1946,35 +2164,42 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a launch profile initialization. A launch profile initialization is a dereferenced version of a launch profile, including attached studio component connection information", + "aws.iam#requiredActions": [ + "ec2:DescribeSecurityGroups", + "fsx:DescribeFileSystems", + "ds:DescribeDirectories" + ], "smithy.api#documentation": "

Get a launch profile initialization.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/init", "code": 200 - } + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#GetLaunchProfileInitializationRequest": { "type": "structure", "members": { "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "launchProfileProtocolVersions": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

A collection of launch profile protocol versions.

", + "smithy.api#documentation": "

The launch profile protocol versions supported by the client.

", "smithy.api#httpQuery": "launchProfileProtocolVersions", "smithy.api#required": {} } }, "launchPurpose": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The launch purpose.

", "smithy.api#httpQuery": "launchPurpose", @@ -1982,17 +2207,17 @@ } }, "platform": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The platform.

", + "smithy.api#documentation": "

The platform where this Launch Profile will be used, either WINDOWS or LINUX.

", "smithy.api#httpQuery": "platform", "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2005,10 +2230,12 @@ "launchProfileInitialization": { "target": "com.amazonaws.nimble#LaunchProfileInitialization", "traits": { - "smithy.api#documentation": "

The launch profile initialization.

", - "smithy.api#jsonName": "launchProfileInitialization" + "smithy.api#documentation": "

The launch profile initialization.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetLaunchProfileMember": { @@ -2043,37 +2270,39 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a launch profile member", "smithy.api#documentation": "

Get a user persona in launch profile membership.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", "code": 200 - } + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#GetLaunchProfileMemberRequest": { "type": "structure", "members": { "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", + "smithy.api#documentation": "

The principal ID. This currently supports a Amazon Web Services SSO UserId.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2086,27 +2315,29 @@ "member": { "target": "com.amazonaws.nimble#LaunchProfileMembership", "traits": { - "smithy.api#documentation": "

The member.

", - "smithy.api#jsonName": "member" + "smithy.api#documentation": "

The member.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetLaunchProfileRequest": { "type": "structure", "members": { "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2119,10 +2350,13 @@ "launchProfile": { "target": "com.amazonaws.nimble#LaunchProfile", "traits": { - "smithy.api#documentation": "

The launch profile.

", - "smithy.api#jsonName": "launchProfile" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The launch profile.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetStreamingImage": { @@ -2157,11 +2391,75 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a streaming image", "smithy.api#documentation": "

Get streaming image.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "StreamingImageReady": { + "documentation": "Wait until a StreamingImage is Ready. Use this after invoking CreateStreamingImage or UpdateStreamingImage", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "streamingImage.state", + "expected": "READY", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "streamingImage.state", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "streamingImage.state", + "expected": "UPDATE_FAILED", + "comparator": "stringEquals" + } + } + } + ] + }, + "StreamingImageDeleted": { + "documentation": "Wait until a StreamingImage Deleted. Use this after invoking DeleteStreamingImage", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "streamingImage.state", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "streamingImage.state", + "expected": "DELETE_FAILED", + "comparator": "stringEquals" + } + } + } + ] + } } } }, @@ -2169,7 +2467,7 @@ "type": "structure", "members": { "streamingImageId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The streaming image ID.

", "smithy.api#httpLabel": {}, @@ -2177,9 +2475,9 @@ } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2192,10 +2490,13 @@ "streamingImage": { "target": "com.amazonaws.nimble#StreamingImage", "traits": { - "smithy.api#documentation": "

The streaming image.

", - "smithy.api#jsonName": "streamingImage" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The streaming image.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetStreamingSession": { @@ -2230,11 +2531,106 @@ } ], "traits": { - "smithy.api#documentation": "

Gets StreamingSession resource.

Invoke this operation to poll for a streaming session state while creating or deleting a session.

", + "aws.iam#actionPermissionDescription": "Grants permission to get a streaming session", + "smithy.api#documentation": "

Gets StreamingSession resource.

\n

anvoke this operation to poll for a streaming session state while creating or deleting\n a session.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}", "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "StreamingSessionReady": { + "documentation": "Wait until a StreamingSession is ready. Use this after invoking CreateStreamingSession, StartStreamingSession", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "session.state", + "expected": "READY", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "session.state", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "session.state", + "expected": "START_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 10, + "maxDelay": 1800 + }, + "StreamingSessionStopped": { + "documentation": "Wait until a StreamingSessionStopped. Use this after invoking StopStreamingSession", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "session.state", + "expected": "STOPPED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "session.state", + "expected": "STOP_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 5, + "maxDelay": 900 + }, + "StreamingSessionDeleted": { + "documentation": "Wait until a StreamingSessionDeleted. Use this after invoking Deletesession", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "session.state", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "session.state", + "expected": "DELETE_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 5, + "maxDelay": 900 + } } } }, @@ -2242,17 +2638,17 @@ "type": "structure", "members": { "sessionId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The session ID.

", + "smithy.api#documentation": "

The streaming session ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2265,10 +2661,12 @@ "session": { "target": "com.amazonaws.nimble#StreamingSession", "traits": { - "smithy.api#documentation": "

The session.

", - "smithy.api#jsonName": "session" + "smithy.api#documentation": "

The session.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetStreamingSessionStream": { @@ -2303,11 +2701,42 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a StreamingSessionStream for a streaming session.

Invoke this operation to poll the resource after invoking CreateStreamingSessionStream.

After the StreamingSessionStream changes to the state READY, the url property will contain a stream to be used with the DCV streaming client.

", + "aws.iam#actionPermissionDescription": "Grants permission to get a streaming session", + "smithy.api#documentation": "

Gets a StreamingSessionStream for a streaming session.

\n

Invoke this operation to poll the resource after invoking\n CreateStreamingSessionStream.

\n

After the StreamingSessionStream changes to the state READY, the url property will\n contain a stream to be used with the DCV streaming client.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams/{streamId}", "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "StreamingSessionStreamReady": { + "documentation": "Wait until a StreamingSessionStream is ready. Use this after invoking CreateStreamingSessionStream", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "stream.state", + "expected": "READY", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "stream.state", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 5, + "maxDelay": 150 + } } } }, @@ -2315,25 +2744,25 @@ "type": "structure", "members": { "sessionId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The session ID.

", + "smithy.api#documentation": "

The streaming session ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "streamId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The stream ID.

", + "smithy.api#documentation": "

The streaming session stream ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2346,10 +2775,12 @@ "stream": { "target": "com.amazonaws.nimble#StreamingSessionStream", "traits": { - "smithy.api#documentation": "

The stream.

", - "smithy.api#jsonName": "stream" + "smithy.api#documentation": "

The stream.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetStudio": { @@ -2384,11 +2815,75 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a studio", "smithy.api#documentation": "

Get a Studio resource.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}", "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "StudioReady": { + "documentation": "Wait until a Studio is Ready. Use this after invoking CreateStudio, UpdateStudio, or StartStudioSSOConfigurationRepair", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "studio.state", + "expected": "READY", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "studio.state", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "studio.state", + "expected": "UPDATE_FAILED", + "comparator": "stringEquals" + } + } + } + ] + }, + "StudioDeleted": { + "documentation": "Wait until a Studio is Deleted. Use this after invoking DeleteStudio.", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "studio.state", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "studio.state", + "expected": "DELETE_FAILED", + "comparator": "stringEquals" + } + } + } + ] + } } } }, @@ -2424,11 +2919,76 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to get a studio component", "smithy.api#documentation": "

Gets a studio component resource.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "StudioComponentReady": { + "documentation": "Wait until a StudioComponent is Ready. Use this after invoking CreateStudioComponent or UpdateStudioComponent", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "studioComponent.state", + "expected": "READY", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "studioComponent.state", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "studioComponent.state", + "expected": "UPDATE_FAILED", + "comparator": "stringEquals" + } + } + } + ] + }, + "StudioComponentDeleted": { + "documentation": "Wait until a StudioComponent Deleted. Use this after invoking DeleteStudioComponent", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "studioComponent.state", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "studioComponent.state", + "expected": "DELETE_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 1 + } } } }, @@ -2436,7 +2996,7 @@ "type": "structure", "members": { "studioComponentId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The studio component ID.

", "smithy.api#httpLabel": {}, @@ -2444,9 +3004,9 @@ } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2459,10 +3019,13 @@ "studioComponent": { "target": "com.amazonaws.nimble#StudioComponent", "traits": { - "smithy.api#documentation": "

Information about the studio component.

", - "smithy.api#jsonName": "studioComponent" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Information about the studio component.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetStudioMember": { @@ -2497,29 +3060,31 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete a studio member", "smithy.api#documentation": "

Get a user's membership in a studio.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/membership/{principalId}", "code": 200 - } + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#GetStudioMemberRequest": { "type": "structure", "members": { "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", + "smithy.api#documentation": "

The principal ID. This currently supports a Amazon Web Services SSO UserId.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2532,19 +3097,21 @@ "member": { "target": "com.amazonaws.nimble#StudioMembership", "traits": { - "smithy.api#documentation": "

The member.

", - "smithy.api#jsonName": "member" + "smithy.api#documentation": "

The member.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#GetStudioRequest": { "type": "structure", "members": { "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2557,171 +3124,179 @@ "studio": { "target": "com.amazonaws.nimble#Studio", "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, "smithy.api#documentation": "

Information about a studio.

", - "smithy.api#jsonName": "studio" + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#InternalServerErrorException": { "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

An internal error has occurred. Please retry your request.

", "smithy.api#error": "server", - "smithy.api#httpError": 500 + "smithy.api#httpError": 500, + "smithy.api#retryable": {} } }, "com.amazonaws.nimble#LaunchProfile": { "type": "structure", "members": { "arn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#jsonName": "arn" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The ARN of the resource.

" } }, "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "createdBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that created the launch profile.

", - "smithy.api#jsonName": "createdBy" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The user ID of the user that created the launch profile.

" } }, "description": { "target": "com.amazonaws.nimble#LaunchProfileDescription", "traits": { - "smithy.api#documentation": "

A human-readable description of the launch profile.

", - "smithy.api#jsonName": "description" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

A human-readable description of the launch profile.

" } }, "ec2SubnetIds": { "target": "com.amazonaws.nimble#EC2SubnetIdList", "traits": { - "smithy.api#documentation": "

Unique identifiers for a collection of EC2 subnets.

", - "smithy.api#jsonName": "ec2SubnetIds" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

Unique identifiers for a collection of EC2 subnets.

" } }, "launchProfileId": { "target": "com.amazonaws.nimble#LaunchProfileId", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", - "smithy.api#jsonName": "launchProfileId" + "smithy.api#documentation": "

The launch profile ID.

" } }, "launchProfileProtocolVersions": { "target": "com.amazonaws.nimble#LaunchProfileProtocolVersionList", "traits": { - "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", - "smithy.api#jsonName": "launchProfileProtocolVersions" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

" } }, "name": { "target": "com.amazonaws.nimble#LaunchProfileName", "traits": { - "smithy.api#documentation": "

A friendly name for the launch profile.

", - "smithy.api#jsonName": "name" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

A friendly name for the launch profile.

" } }, "state": { "target": "com.amazonaws.nimble#LaunchProfileState", "traits": { - "smithy.api#documentation": "

The current state.

", - "smithy.api#jsonName": "state" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The current state.

" } }, "statusCode": { "target": "com.amazonaws.nimble#LaunchProfileStatusCode", "traits": { - "smithy.api#documentation": "

The status code.

", - "smithy.api#jsonName": "statusCode" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The status code.

" } }, "statusMessage": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The status message for the launch profile.

", - "smithy.api#jsonName": "statusMessage" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The status message for the launch profile.

" } }, "streamConfiguration": { "target": "com.amazonaws.nimble#StreamConfiguration", "traits": { - "smithy.api#documentation": "

A configuration for a streaming session.

", - "smithy.api#jsonName": "streamConfiguration" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

A configuration for a streaming session.

" } }, "studioComponentIds": { "target": "com.amazonaws.nimble#LaunchProfileStudioComponentIdList", "traits": { - "smithy.api#documentation": "

Unique identifiers for a collection of studio components that can be used with this launch profile.

", - "smithy.api#jsonName": "studioComponentIds" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

" } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } }, "updatedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

", - "smithy.api#jsonName": "updatedAt" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

" } }, "updatedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

", - "smithy.api#jsonName": "updatedBy" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

" } } + }, + "traits": { + "smithy.api#documentation": "

A launch profile controls your artist workforce’s access to studio components, like\n compute farms, shared file systems, managed file systems, and license server\n configurations, as well as instance types and Amazon Machine Images (AMIs).

\n\n

Studio administrators create launch profiles in the Nimble Studio console.\n Artists can use their launch profiles to launch an instance from the Nimble Studio\n portal. Each user’s launch profile defines how they can launch a streaming session. By\n default, studio admins can use all launch profiles.

" } }, "com.amazonaws.nimble#LaunchProfileDescription": { "type": "string", "traits": { + "smithy.api#documentation": "

A human-readable description of the launch profile.

", "smithy.api#length": { "min": 0, "max": 256 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#LaunchProfileId": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 22 @@ -2735,66 +3310,60 @@ "activeDirectory": { "target": "com.amazonaws.nimble#LaunchProfileInitializationActiveDirectory", "traits": { - "smithy.api#documentation": "

A LaunchProfileInitializationActiveDirectory resource.

", - "smithy.api#jsonName": "activeDirectory" + "smithy.api#documentation": "

A LaunchProfileInitializationActiveDirectory resource.

" } }, "ec2SecurityGroupIds": { "target": "com.amazonaws.nimble#LaunchProfileSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

", - "smithy.api#jsonName": "ec2SecurityGroupIds" + "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

" } }, "launchProfileId": { "target": "com.amazonaws.nimble#LaunchProfileId", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", - "smithy.api#jsonName": "launchProfileId" + "smithy.api#documentation": "

The launch profile ID.

" } }, "launchProfileProtocolVersion": { "target": "com.amazonaws.nimble#LaunchProfileProtocolVersion", "traits": { - "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", - "smithy.api#jsonName": "launchProfileProtocolVersion" + "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

" } }, "launchPurpose": { "target": "com.amazonaws.nimble#LaunchPurpose", "traits": { - "smithy.api#documentation": "

The launch purpose.

", - "smithy.api#jsonName": "launchPurpose" + "smithy.api#documentation": "

The launch purpose.

" } }, "name": { "target": "com.amazonaws.nimble#LaunchProfileName", "traits": { - "smithy.api#documentation": "

The name for the launch profile.

", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

The name for the launch profile.

" } }, "platform": { "target": "com.amazonaws.nimble#LaunchProfilePlatform", "traits": { - "smithy.api#documentation": "

The platform of the launch platform, either WINDOWS or LINUX.

", - "smithy.api#jsonName": "platform" + "smithy.api#documentation": "

The platform of the launch platform, either WINDOWS or LINUX.

" } }, "systemInitializationScripts": { "target": "com.amazonaws.nimble#LaunchProfileInitializationScriptList", "traits": { - "smithy.api#documentation": "

The system initializtion scripts.

", - "smithy.api#jsonName": "systemInitializationScripts" + "smithy.api#documentation": "

The system initializtion scripts.

" } }, "userInitializationScripts": { "target": "com.amazonaws.nimble#LaunchProfileInitializationScriptList", "traits": { - "smithy.api#documentation": "

The user initializtion scripts.

", - "smithy.api#jsonName": "userInitializationScripts" + "smithy.api#documentation": "

The user initializtion scripts.

" } } + }, + "traits": { + "smithy.api#documentation": "

A Launch Profile Initialization contains information required for a workstation or\n server to connect to a launch profile

\n

This includes scripts, endpoints, security groups, subnets, and other\n configuration.

" } }, "com.amazonaws.nimble#LaunchProfileInitializationActiveDirectory": { @@ -2803,52 +3372,48 @@ "computerAttributes": { "target": "com.amazonaws.nimble#ActiveDirectoryComputerAttributeList", "traits": { - "smithy.api#documentation": "

A collection of custom attributes for an Active Directory computer.

", - "smithy.api#jsonName": "computerAttributes" + "smithy.api#documentation": "

A collection of custom attributes for an Active Directory computer.

" } }, "directoryId": { "target": "com.amazonaws.nimble#DirectoryId", "traits": { - "smithy.api#documentation": "

The directory ID of the Directory Service for Microsoft Active Directory to access using this launch profile.

", - "smithy.api#jsonName": "directoryId" + "smithy.api#documentation": "

The directory ID of the Directory Service for Microsoft Active Directory to access\n using this launch profile.

" } }, "directoryName": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The directory name.

", - "smithy.api#jsonName": "directoryName" + "smithy.api#documentation": "

The directory name.

" } }, "dnsIpAddresses": { "target": "com.amazonaws.nimble#ActiveDirectoryDnsIpAddressList", "traits": { - "smithy.api#documentation": "

The DNS IP address.

", - "smithy.api#jsonName": "dnsIpAddresses" + "smithy.api#documentation": "

The DNS IP address.

" } }, "organizationalUnitDistinguishedName": { "target": "com.amazonaws.nimble#ActiveDirectoryOrganizationalUnitDistinguishedName", "traits": { - "smithy.api#documentation": "

The name for the organizational unit distinguished name.

", - "smithy.api#jsonName": "organizationalUnitDistinguishedName" + "smithy.api#documentation": "

The name for the organizational unit distinguished name.

" } }, "studioComponentId": { "target": "com.amazonaws.nimble#StudioComponentId", "traits": { - "smithy.api#documentation": "

The unique identifier for a studio component resource.

", - "smithy.api#jsonName": "studioComponentId" + "smithy.api#documentation": "

The unique identifier for a studio component resource.

" } }, "studioComponentName": { "target": "com.amazonaws.nimble#StudioComponentName", "traits": { - "smithy.api#documentation": "

The name for the studio component.

", - "smithy.api#jsonName": "studioComponentName" + "smithy.api#documentation": "

The name for the studio component.

" } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#LaunchProfileInitializationScript": { @@ -2857,62 +3422,74 @@ "script": { "target": "com.amazonaws.nimble#StudioComponentInitializationScriptContent", "traits": { - "smithy.api#documentation": "

The initialization script.

", - "smithy.api#jsonName": "script" + "smithy.api#documentation": "

The initialization script.

" } }, "studioComponentId": { "target": "com.amazonaws.nimble#StudioComponentId", "traits": { - "smithy.api#documentation": "

The unique identifier for a studio component resource.

", - "smithy.api#jsonName": "studioComponentId" + "smithy.api#documentation": "

The unique identifier for a studio component resource.

" } }, "studioComponentName": { "target": "com.amazonaws.nimble#StudioComponentName", "traits": { - "smithy.api#documentation": "

The name for the studio component.

", - "smithy.api#jsonName": "studioComponentName" + "smithy.api#documentation": "

The name for the studio component.

" } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#LaunchProfileInitializationScriptList": { "type": "list", "member": { "target": "com.amazonaws.nimble#LaunchProfileInitializationScript" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#LaunchProfileList": { "type": "list", "member": { "target": "com.amazonaws.nimble#LaunchProfile" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#LaunchProfileMembership": { "type": "structure", "members": { "identityStoreId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ID of the identity store.

", - "smithy.api#jsonName": "identityStoreId" + "smithy.api#documentation": "

The ID of the identity store.

" } }, "persona": { "target": "com.amazonaws.nimble#LaunchProfilePersona", "traits": { - "smithy.api#documentation": "

The persona.

", - "smithy.api#jsonName": "persona" + "smithy.api#documentation": "

The persona.

" } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", - "smithy.api#jsonName": "principalId" + "smithy.api#documentation": "

The principal ID.

" + } + }, + "sid": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The Active Directory Security Identifier for this user, if available.

" } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#LaunchProfileMembershipList": { @@ -2921,7 +3498,7 @@ "target": "com.amazonaws.nimble#LaunchProfileMembership" }, "traits": { - "smithy.api#documentation": "

", + "smithy.api#documentation": "

", "smithy.api#length": { "min": 0, "max": 20 @@ -2931,15 +3508,18 @@ "com.amazonaws.nimble#LaunchProfileName": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { - "min": 0, + "min": 1, "max": 64 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#LaunchProfilePersona": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "USER", @@ -2951,6 +3531,7 @@ "com.amazonaws.nimble#LaunchProfilePlatform": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "LINUX", @@ -2966,7 +3547,7 @@ "com.amazonaws.nimble#LaunchProfileProtocolVersion": { "type": "string", "traits": { - "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", + "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", "smithy.api#length": { "min": 0, "max": 10 @@ -2978,6 +3559,80 @@ "type": "list", "member": { "target": "com.amazonaws.nimble#LaunchProfileProtocolVersion" + }, + "traits": { + "smithy.api#documentation": "" + } + }, + "com.amazonaws.nimble#LaunchProfileResource": { + "type": "resource", + "identifiers": { + "launchProfileId": { + "target": "com.amazonaws.nimble#String" + } + }, + "create": { + "target": "com.amazonaws.nimble#CreateLaunchProfile" + }, + "read": { + "target": "com.amazonaws.nimble#GetLaunchProfile" + }, + "update": { + "target": "com.amazonaws.nimble#UpdateLaunchProfile" + }, + "delete": { + "target": "com.amazonaws.nimble#DeleteLaunchProfile" + }, + "list": { + "target": "com.amazonaws.nimble#ListLaunchProfiles" + }, + "operations": [ + { + "target": "com.amazonaws.nimble#DeleteLaunchProfileMember" + }, + { + "target": "com.amazonaws.nimble#GetLaunchProfileDetails" + }, + { + "target": "com.amazonaws.nimble#GetLaunchProfileInitialization" + }, + { + "target": "com.amazonaws.nimble#GetLaunchProfileMember" + }, + { + "target": "com.amazonaws.nimble#ListLaunchProfileMembers" + }, + { + "target": "com.amazonaws.nimble#PutLaunchProfileMembers" + }, + { + "target": "com.amazonaws.nimble#UpdateLaunchProfileMember" + } + ], + "traits": { + "aws.api#arn": { + "template": "launch-profile/{launchProfileId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.cloudformation#cfnResource": { + "additionalSchemas": [ + "com.amazonaws.nimble#LaunchProfile" + ], + "name": "LaunchProfile" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys", + "nimble:studioId" + ], + "aws.iam#disableConditionKeyInference": {}, + "smithy.api#documentation": "Represents a launch profile which delegates access to a collection of studio components to studio users", + "smithy.api#externalDocumentation": { + "CFNSourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio" + } } }, "com.amazonaws.nimble#LaunchProfileSecurityGroupIdList": { @@ -2986,6 +3641,7 @@ "target": "com.amazonaws.nimble#SecurityGroupId" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 1 } @@ -2994,6 +3650,7 @@ "com.amazonaws.nimble#LaunchProfileState": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "CREATE_IN_PROGRESS", @@ -3033,6 +3690,7 @@ "com.amazonaws.nimble#LaunchProfileStatusCode": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "LAUNCH_PROFILE_CREATED", @@ -3092,9 +3750,10 @@ "com.amazonaws.nimble#LaunchProfileStudioComponentIdList": { "type": "list", "member": { - "target": "com.amazonaws.nimble#__string" + "target": "com.amazonaws.nimble#String" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 1, "max": 100 @@ -3116,25 +3775,27 @@ "type": "structure", "members": { "endpoint": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The endpoint of the license service that is accessed by the studio component resource.

", - "smithy.api#jsonName": "endpoint" + "smithy.api#documentation": "

The endpoint of the license service that is accessed by the studio component\n resource.

", + "smithy.api#sensitive": {} } } }, "traits": { - "smithy.api#documentation": "

The configuration for a license service that is associated with a studio resource.

" + "smithy.api#documentation": "

The configuration for a license service that is associated with a studio\n resource.

" } }, "com.amazonaws.nimble#LinuxMountPoint": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 128 }, - "smithy.api#pattern": "^(/?|(\\$HOME)?(/[^/\\n\\s\\\\]+)*)$" + "smithy.api#pattern": "^(/?|(\\$HOME)?(/[^/\\n\\s\\\\]+)*)$", + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#ListEulaAcceptances": { @@ -3169,35 +3830,42 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list EULA acceptances", "smithy.api#documentation": "

List Eula Acceptances.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/eula-acceptances", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "eulaAcceptances" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListEulaAcceptancesRequest": { "type": "structure", "members": { "eulaIds": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

A collection of EULA IDs.

", + "smithy.api#documentation": "

The list of EULA IDs that have been previously accepted.

", "smithy.api#httpQuery": "eulaIds" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3210,17 +3878,18 @@ "eulaAcceptances": { "target": "com.amazonaws.nimble#EulaAcceptanceList", "traits": { - "smithy.api#documentation": "

A collection of EULA acceptances.

", - "smithy.api#jsonName": "eulaAcceptances" + "smithy.api#documentation": "

A collection of EULA acceptances.

" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#ListEulas": { @@ -3255,28 +3924,35 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list EULAs", "smithy.api#documentation": "

List Eulas.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/eulas", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "eulas" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListEulasRequest": { "type": "structure", "members": { "eulaIds": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

A collection of EULA IDs.

", + "smithy.api#documentation": "

The list of EULA IDs that should be returned

", "smithy.api#httpQuery": "eulaIds" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } } @@ -3288,17 +3964,18 @@ "eulas": { "target": "com.amazonaws.nimble#EulaList", "traits": { - "smithy.api#documentation": "

A collection of EULA resources.

", - "smithy.api#jsonName": "eulas" + "smithy.api#documentation": "

A collection of EULA resources.

" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListLaunchProfileMembers": { @@ -3333,21 +4010,29 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list launch profile members", "smithy.api#documentation": "

Get all users in a given launch profile membership.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "members", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListLaunchProfileMembersRequest": { "type": "structure", "members": { "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3355,21 +4040,21 @@ "maxResults": { "target": "com.amazonaws.nimble#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to be returned per request.

", + "smithy.api#documentation": "

The max number of results to return in the response.

", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3382,17 +4067,18 @@ "members": { "target": "com.amazonaws.nimble#LaunchProfileMembershipList", "traits": { - "smithy.api#documentation": "

A list of members.

", - "smithy.api#jsonName": "members" + "smithy.api#documentation": "

A list of members.

" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListLaunchProfiles": { @@ -3427,13 +4113,21 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list launch profiles", "smithy.api#documentation": "

List all the launch profiles a studio.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/launch-profiles", "code": 200 - } - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "launchProfiles", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } }, "com.amazonaws.nimble#ListLaunchProfilesRequest": { "type": "structure", @@ -3441,35 +4135,35 @@ "maxResults": { "target": "com.amazonaws.nimble#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to be returned per request.

", + "smithy.api#documentation": "

The max number of results to return in the response.

", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", + "smithy.api#documentation": "

The principal ID. This currently supports a Amazon Web Services SSO UserId.

", "smithy.api#httpQuery": "principalId" } }, "states": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

A list of states.

", + "smithy.api#documentation": "

Filter this request to launch profiles in any of the given states.

", "smithy.api#httpQuery": "states" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3482,17 +4176,18 @@ "launchProfiles": { "target": "com.amazonaws.nimble#LaunchProfileList", "traits": { - "smithy.api#documentation": "

A collection of launch profiles.

", - "smithy.api#jsonName": "launchProfiles" + "smithy.api#documentation": "

A collection of launch profiles.

" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListStreamingImages": { @@ -3527,35 +4222,42 @@ } ], "traits": { - "smithy.api#documentation": "

List the streaming image resources available to this studio.

This list will contain both images provided by Amazon Web Services, as well as streaming images that you have created in your studio.

", + "aws.iam#actionPermissionDescription": "Grants permission to list streaming images", + "smithy.api#documentation": "

List the streaming image resources available to this studio.

\n

This list will contain both images provided by Amazon Web Services, as well as\n streaming images that you have created in your studio.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/streaming-images", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "streamingImages" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListStreamingImagesRequest": { "type": "structure", "members": { "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "owner": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The owner.

", + "smithy.api#documentation": "

Filter this request to streaming images with the given owner

", "smithy.api#httpQuery": "owner" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3566,19 +4268,20 @@ "type": "structure", "members": { "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } }, "streamingImages": { "target": "com.amazonaws.nimble#StreamingImageList", "traits": { - "smithy.api#documentation": "

A collection of streaming images.

", - "smithy.api#jsonName": "streamingImages" + "smithy.api#documentation": "

A collection of streaming images.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListStreamingSessions": { @@ -3613,49 +4316,60 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list streaming sessions", + "aws.iam#conditionKeys": [ + "nimble:createdBy", + "nimble:ownedBy" + ], "smithy.api#documentation": "

Lists the streaming image resources in a studio.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/streaming-sessions", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "sessions" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListStreamingSessionsRequest": { "type": "structure", "members": { "createdBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that created the streaming session.

", + "smithy.api#documentation": "

Filters the request to streaming sessions created by the given user.

", "smithy.api#httpQuery": "createdBy" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "ownedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

", + "smithy.api#documentation": "

Filters the request to streaming session owned by the given user

", "smithy.api#httpQuery": "ownedBy" } }, "sessionIds": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A collection of session IDs.

", + "smithy.api#documentation": "

Filters the request to only the provided session IDs.

", "smithy.api#httpQuery": "sessionIds" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3666,19 +4380,20 @@ "type": "structure", "members": { "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } }, "sessions": { "target": "com.amazonaws.nimble#StreamingSessionList", "traits": { - "smithy.api#documentation": "

A collection of streaming sessions.

", - "smithy.api#jsonName": "sessions" + "smithy.api#documentation": "

A collection of streaming sessions.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListStudioComponents": { @@ -3713,12 +4428,20 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list studio components", "smithy.api#documentation": "

Lists the StudioComponents in a studio.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/studio-components", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "studioComponents", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListStudioComponentsRequest": { @@ -3727,36 +4450,36 @@ "maxResults": { "target": "com.amazonaws.nimble#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to be returned per request.

", + "smithy.api#documentation": "

The max number of results to return in the response.

", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "states": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

A list of states.

", + "smithy.api#documentation": "

Filters the request to studio components that are in one of the given states.

", "smithy.api#httpQuery": "states" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "types": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

The types.

", + "smithy.api#documentation": "

Filters the request to studio components that are of one of the given types.

", "smithy.api#httpQuery": "types" } } @@ -3766,19 +4489,20 @@ "type": "structure", "members": { "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } }, "studioComponents": { "target": "com.amazonaws.nimble#StudioComponentList", "traits": { - "smithy.api#documentation": "

A collection of studio components.

", - "smithy.api#jsonName": "studioComponents" + "smithy.api#documentation": "

A collection of studio components.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListStudioMembers": { @@ -3813,12 +4537,20 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to list studio members", "smithy.api#documentation": "

Get all users in a given studio membership.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios/{studioId}/membership", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "members", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListStudioMembersRequest": { @@ -3827,21 +4559,21 @@ "maxResults": { "target": "com.amazonaws.nimble#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to be returned per request.

", + "smithy.api#documentation": "

The max number of results to return in the response.

", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3854,17 +4586,18 @@ "members": { "target": "com.amazonaws.nimble#StudioMembershipList", "traits": { - "smithy.api#documentation": "

A list of members.

", - "smithy.api#jsonName": "members" + "smithy.api#documentation": "

A list of members.

" } }, "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListStudios": { @@ -3899,21 +4632,28 @@ } ], "traits": { - "smithy.api#documentation": "

List studios in your Amazon Web Services account in the requested Amazon Web Services Region.

", + "aws.iam#actionPermissionDescription": "Grants permission to list studios", + "smithy.api#documentation": "

List studios in your Amazon Web Services account in the requested Amazon Web Services\n Region.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/studios", "code": 200 - } + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "studios" + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListStudiosRequest": { "type": "structure", "members": { "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", + "smithy.api#documentation": "

The token to request the next page of results.

", "smithy.api#httpQuery": "nextToken" } } @@ -3923,19 +4663,21 @@ "type": "structure", "members": { "nextToken": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "

The token for the next set of results, or null if there are no more results.

" } }, "studios": { "target": "com.amazonaws.nimble#StudioList", "traits": { "smithy.api#documentation": "

A collection of studios.

", - "smithy.api#jsonName": "studios" + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ListTagsForResource": { @@ -3970,25 +4712,61 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the tags for a resource, given its Amazon Resource Names (ARN).

This operation supports ARNs for all resource types in Nimble Studio that support tags, including studio, studio component, launch profile, streaming image, and streaming session. All resources that can be tagged will contain an ARN property, so you do not have to create this ARN yourself.

", + "aws.iam#actionPermissionDescription": "Grants permission to list all tags on a Nimble Studio resource", + "smithy.api#documentation": "

Gets the tags for a resource, given its Amazon Resource Names (ARN).

\n

This operation supports ARNs for all resource types in Nimble Studio that support\n tags, including studio, studio component, launch profile, streaming image, and streaming\n session. All resources that can be tagged will contain an ARN property, so you do not\n have to create this ARN yourself.

", "smithy.api#http": { "method": "GET", "uri": "/2020-08-01/tags/{resourceArn}", "code": 200 - } + }, + "smithy.api#readonly": {} } }, "com.amazonaws.nimble#ListTagsForResourceRequest": { "type": "structure", "members": { "resourceArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the target resource for tagging operations.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to list tags.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StudioResource", + "ids": { + "studioId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StudioComponentResource", + "ids": { + "studioComponentId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#LaunchProfileResource", + "ids": { + "launchProfileId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StreamingSessionResource", + "ids": { + "sessionId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StreamingImageResource", + "ids": { + "streamingImageId": "resourceArn" + } + } + ] } }, "com.amazonaws.nimble#ListTagsForResourceResponse": { @@ -3997,10 +4775,12 @@ "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#MaxResults": { @@ -4019,18 +4799,19 @@ "target": "com.amazonaws.nimble#LaunchProfilePersona", "traits": { "smithy.api#documentation": "

The persona.

", - "smithy.api#jsonName": "persona", "smithy.api#required": {} } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The principal ID.

", - "smithy.api#jsonName": "principalId", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#NewLaunchProfileMemberList": { @@ -4039,6 +4820,7 @@ "target": "com.amazonaws.nimble#NewLaunchProfileMember" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 1, "max": 20 @@ -4052,18 +4834,19 @@ "target": "com.amazonaws.nimble#StudioPersona", "traits": { "smithy.api#documentation": "

The persona.

", - "smithy.api#jsonName": "persona", "smithy.api#required": {} } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The principal ID.

", - "smithy.api#jsonName": "principalId", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#NewStudioMemberList": { @@ -4072,6 +4855,7 @@ "target": "com.amazonaws.nimble#NewStudioMember" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 1, "max": 20 @@ -4110,6 +4894,10 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to add/update launch profile members", + "aws.iam#requiredActions": [ + "sso-directory:DescribeUsers" + ], "smithy.api#documentation": "

Add/update users with given persona to launch profile membership.

", "smithy.api#http": { "method": "POST", @@ -4124,23 +4912,22 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "identityStoreId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The ID of the identity store.

", - "smithy.api#jsonName": "identityStoreId", "smithy.api#required": {} } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4149,21 +4936,20 @@ "target": "com.amazonaws.nimble#NewLaunchProfileMemberList", "traits": { "smithy.api#documentation": "

A list of members.

", - "smithy.api#jsonName": "members", "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about a launch profile membership.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#PutLaunchProfileMembersResponse": { @@ -4202,6 +4988,10 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to add/update studio members", + "aws.iam#requiredActions": [ + "sso-directory:DescribeUsers" + ], "smithy.api#documentation": "

Add/update users with given persona to studio membership.

", "smithy.api#http": { "method": "POST", @@ -4216,16 +5006,15 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "identityStoreId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The ID of the identity store.

", - "smithy.api#jsonName": "identityStoreId", "smithy.api#required": {} } }, @@ -4233,63 +5022,64 @@ "target": "com.amazonaws.nimble#NewStudioMemberList", "traits": { "smithy.api#documentation": "

A list of members.

", - "smithy.api#jsonName": "members", "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A launch profile membership collection.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#PutStudioMembersResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#Region": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 50 }, - "smithy.api#pattern": "^[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]$" + "smithy.api#pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]" } }, "com.amazonaws.nimble#ResourceNotFoundException": { "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

The specified resource could not be found.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -4311,15 +5101,13 @@ "key": { "target": "com.amazonaws.nimble#ScriptParameterKey", "traits": { - "smithy.api#documentation": "

A script parameter key.

", - "smithy.api#jsonName": "key" + "smithy.api#documentation": "

A script parameter key.

" } }, "value": { "target": "com.amazonaws.nimble#ScriptParameterValue", "traits": { - "smithy.api#documentation": "

A script parameter value.

", - "smithy.api#jsonName": "value" + "smithy.api#documentation": "

A script parameter value.

" } } }, @@ -4338,34 +5126,35 @@ } }, "com.amazonaws.nimble#SecurityGroupId": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#ServiceQuotaExceededException": { "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

Your current quota does not allow you to perform the request action. You can request\n increases for some quotas, and other quotas cannot be increased.

\n

Please use AWS Service Quotas to request an increase.

", "smithy.api#error": "client", "smithy.api#httpError": 402 } @@ -4374,43 +5163,126 @@ "type": "structure", "members": { "endpoint": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The endpoint of the shared file system that is accessed by the studio component resource.

", - "smithy.api#jsonName": "endpoint" + "smithy.api#documentation": "

The endpoint of the shared file system that is accessed by the studio component\n resource.

", + "smithy.api#sensitive": {} } }, "fileSystemId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The unique identifier for a file system.

", - "smithy.api#jsonName": "fileSystemId" + "smithy.api#documentation": "

The unique identifier for a file system.

" } }, "linuxMountPoint": { "target": "com.amazonaws.nimble#LinuxMountPoint", "traits": { - "smithy.api#documentation": "

The mount location for a shared file system on a Linux virtual workstation.

", - "smithy.api#jsonName": "linuxMountPoint" + "smithy.api#documentation": "

The mount location for a shared file system on a Linux virtual workstation.

" } }, "shareName": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The name of the file share.

", - "smithy.api#jsonName": "shareName" + "smithy.api#sensitive": {} } }, "windowsMountDrive": { "target": "com.amazonaws.nimble#WindowsMountDrive", "traits": { - "smithy.api#documentation": "

The mount location for a shared file system on a Windows virtual workstation.

", - "smithy.api#jsonName": "windowsMountDrive" + "smithy.api#documentation": "

The mount location for a shared file system on a Windows virtual workstation.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration for a shared file storage system that is associated with a studio resource.

" + "smithy.api#documentation": "

The configuration for a shared file storage system that is associated with a studio\n resource.

" + } + }, + "com.amazonaws.nimble#StartStreamingSession": { + "type": "operation", + "input": { + "target": "com.amazonaws.nimble#StartStreamingSessionRequest" + }, + "output": { + "target": "com.amazonaws.nimble#StartStreamingSessionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.nimble#AccessDeniedException" + }, + { + "target": "com.amazonaws.nimble#ConflictException" + }, + { + "target": "com.amazonaws.nimble#InternalServerErrorException" + }, + { + "target": "com.amazonaws.nimble#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.nimble#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.nimble#ThrottlingException" + }, + { + "target": "com.amazonaws.nimble#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to start a streaming session", + "aws.iam#requiredActions": [ + "nimble:GetLaunchProfile", + "nimble:GetLaunchProfileMember" + ], + "smithy.api#documentation": "

Transitions sessions from the STOPPED state into the READY state. The\n START_IN_PROGRESS state is the intermediate state between the STOPPED and READY\n states.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/start", + "code": 200 + }, + "smithy.api#idempotent": {}, + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } + }, + "com.amazonaws.nimble#StartStreamingSessionRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.nimble#ClientToken", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", + "smithy.api#httpHeader": "X-Amz-Client-Token", + "smithy.api#idempotencyToken": {} + } + }, + "sessionId": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The streaming session ID for the StartStreamingSessionRequest.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "studioId": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The studio ID for the StartStreamingSessionRequest.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.nimble#StartStreamingSessionResponse": { + "type": "structure", + "members": { + "session": { + "target": "com.amazonaws.nimble#StreamingSession" + } } }, "com.amazonaws.nimble#StartStudioSSOConfigurationRepair": { @@ -4445,12 +5317,18 @@ } ], "traits": { - "smithy.api#documentation": "

Repairs the SSO configuration for a given studio.

If the studio has a valid Amazon Web Services SSO configuration currently associated with it, this operation will fail with a validation error.

If the studio does not have a valid Amazon Web Services SSO configuration currently associated with it, then a new Amazon Web Services SSO application is created for the studio and the studio is changed to the READY state.

After the Amazon Web Services SSO application is repaired, you must use the Amazon Nimble Studio console to add administrators and users to your studio.

", + "aws.iam#actionPermissionDescription": "Grants permission to repair the studio's AWS SSO configuration", + "aws.iam#requiredActions": [ + "sso:CreateManagedApplicationInstance", + "sso:GetManagedApplicationInstance" + ], + "smithy.api#documentation": "

Repairs the Amazon Web Services SSO configuration for a given studio.

\n

If the studio has a valid Amazon Web Services SSO configuration currently associated with\n it, this operation will fail with a validation error.

\n

If the studio does not have a valid Amazon Web Services SSO configuration currently\n associated with it, then a new Amazon Web Services SSO application is created for the studio\n and the studio is changed to the READY state.

\n

After the Amazon Web Services SSO application is repaired, you must use the Amazon Nimble Studio console to add administrators and users to your studio.

", "smithy.api#http": { "method": "PUT", "uri": "/2020-08-01/studios/{studioId}/sso-configuration", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#StartStudioSSOConfigurationRepairRequest": { @@ -4459,15 +5337,15 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4481,40 +5359,136 @@ "target": "com.amazonaws.nimble#Studio", "traits": { "smithy.api#documentation": "

Information about a studio.

", - "smithy.api#jsonName": "studio" + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "" + } + }, + "com.amazonaws.nimble#StopStreamingSession": { + "type": "operation", + "input": { + "target": "com.amazonaws.nimble#StopStreamingSessionRequest" + }, + "output": { + "target": "com.amazonaws.nimble#StopStreamingSessionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.nimble#AccessDeniedException" + }, + { + "target": "com.amazonaws.nimble#ConflictException" + }, + { + "target": "com.amazonaws.nimble#InternalServerErrorException" + }, + { + "target": "com.amazonaws.nimble#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.nimble#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.nimble#ThrottlingException" + }, + { + "target": "com.amazonaws.nimble#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to stop a streaming session", + "aws.iam#requiredActions": [ + "nimble:GetLaunchProfile" + ], + "smithy.api#documentation": "

Transitions sessions from the READY state into the STOPPED state. The STOP_IN_PROGRESS\n state is the intermediate state between the READY and STOPPED states.

", + "smithy.api#http": { + "method": "POST", + "uri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/stop", + "code": 200 + }, + "smithy.api#idempotent": {}, + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } + }, + "com.amazonaws.nimble#StopStreamingSessionRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.nimble#ClientToken", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", + "smithy.api#httpHeader": "X-Amz-Client-Token", + "smithy.api#idempotencyToken": {} + } + }, + "sessionId": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The streaming session ID for the StopStreamingSessionRequest.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "studioId": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The studioId for the StopStreamingSessionRequest.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } } }, + "com.amazonaws.nimble#StopStreamingSessionResponse": { + "type": "structure", + "members": { + "session": { + "target": "com.amazonaws.nimble#StreamingSession" + } + } + }, "com.amazonaws.nimble#StreamConfiguration": { "type": "structure", "members": { "clipboardMode": { "target": "com.amazonaws.nimble#StreamingClipboardMode", "traits": { - "smithy.api#documentation": "

Enable or disable the use of the system clipboard to copy and paste between the streaming session and streaming client.

", - "smithy.api#jsonName": "clipboardMode" + "smithy.api#documentation": "

Enable or disable the use of the system clipboard to copy and paste between the\n streaming session and streaming client.

", + "smithy.api#required": {} } }, "ec2InstanceTypes": { "target": "com.amazonaws.nimble#StreamingInstanceTypeList", "traits": { - "smithy.api#documentation": "

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

", - "smithy.api#jsonName": "ec2InstanceTypes" + "smithy.api#documentation": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

", + "smithy.api#required": {} } }, "maxSessionLengthInMinutes": { "target": "com.amazonaws.nimble#StreamConfigurationMaxSessionLengthInMinutes", "traits": { - "smithy.api#documentation": "

The length of time, in minutes, that a streaming session can run. After this point, Nimble Studio automatically terminates the session.

", - "smithy.api#jsonName": "maxSessionLengthInMinutes" + "smithy.api#documentation": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates\n or stops the session. The default length of time is 690 minutes, and the maximum length\n of time is 30 days.

" } }, "streamingImageIds": { "target": "com.amazonaws.nimble#StreamingImageIdList", "traits": { - "smithy.api#documentation": "

The streaming images that users can select from when launching a streaming session with this launch profile.

", - "smithy.api#jsonName": "streamingImageIds" + "smithy.api#documentation": "

The streaming images that users can select from when launching a streaming session\n with this launch profile.

", + "smithy.api#required": {} + } + }, + "maxStoppedSessionLengthInMinutes": { + "target": "com.amazonaws.nimble#StreamConfigurationMaxStoppedSessionLengthInMinutes", + "traits": { + "smithy.api#documentation": "

Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is 5760.

\n

If the value is missing or set to 0, your sessions can’t be stopped. If you then call\n StopStreamingSession, the session fails. If the time that a session stays in the READY\n state exceeds the maxSessionLengthInMinutes value, the session will automatically be\n terminated by AWS (instead of stopped).

\n

If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession to stop sessions in the READY state. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will\n automatically be stopped by AWS (instead of terminated).

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] } } }, @@ -4528,48 +5502,67 @@ "clipboardMode": { "target": "com.amazonaws.nimble#StreamingClipboardMode", "traits": { - "smithy.api#documentation": "

Enable or disable the use of the system clipboard to copy and paste between the streaming session and streaming client.

", - "smithy.api#jsonName": "clipboardMode", + "smithy.api#documentation": "

Enable or disable the use of the system clipboard to copy and paste between the\n streaming session and streaming client.

", "smithy.api#required": {} } }, "ec2InstanceTypes": { "target": "com.amazonaws.nimble#StreamingInstanceTypeList", "traits": { - "smithy.api#documentation": "

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

", - "smithy.api#jsonName": "ec2InstanceTypes", + "smithy.api#documentation": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

", "smithy.api#required": {} } }, "maxSessionLengthInMinutes": { "target": "com.amazonaws.nimble#StreamConfigurationMaxSessionLengthInMinutes", "traits": { - "smithy.api#documentation": "

The length of time, in minutes, that a streaming session can run. After this point, Nimble Studio automatically terminates the session.

", - "smithy.api#jsonName": "maxSessionLengthInMinutes" + "smithy.api#documentation": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates\n or stops the session. The default length of time is 690 minutes, and the maximum length\n of time is 30 days.

" } }, "streamingImageIds": { "target": "com.amazonaws.nimble#StreamingImageIdList", "traits": { - "smithy.api#documentation": "

The streaming images that users can select from when launching a streaming session with this launch profile.

", - "smithy.api#jsonName": "streamingImageIds", + "smithy.api#documentation": "

The streaming images that users can select from when launching a streaming session\n with this launch profile.

", "smithy.api#required": {} } + }, + "maxStoppedSessionLengthInMinutes": { + "target": "com.amazonaws.nimble#StreamConfigurationMaxStoppedSessionLengthInMinutes", + "traits": { + "smithy.api#documentation": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } } + }, + "traits": { + "smithy.api#documentation": "

Configuration for streaming workstations created using this launch profile.

" } }, "com.amazonaws.nimble#StreamConfigurationMaxSessionLengthInMinutes": { "type": "integer", "traits": { + "smithy.api#documentation": "", "smithy.api#range": { "min": 1, - "max": 690 + "max": 43200 + } + } + }, + "com.amazonaws.nimble#StreamConfigurationMaxStoppedSessionLengthInMinutes": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 5760 } } }, "com.amazonaws.nimble#StreamingClipboardMode": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "ENABLED", @@ -4586,96 +5579,100 @@ "type": "structure", "members": { "arn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#jsonName": "arn" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The ARN of the resource.

" } }, "description": { "target": "com.amazonaws.nimble#StreamingImageDescription", "traits": { + "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "

A human-readable description of the streaming image.

", - "smithy.api#jsonName": "description" + "smithy.api#sensitive": {} } }, "ec2ImageId": { "target": "com.amazonaws.nimble#EC2ImageId", "traits": { - "smithy.api#documentation": "

The ID of an EC2 machine image with which to create the streaming image.

", - "smithy.api#jsonName": "ec2ImageId" + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

The ID of an EC2 machine image with which to create the streaming image.

" } }, "encryptionConfiguration": { "target": "com.amazonaws.nimble#StreamingImageEncryptionConfiguration", "traits": { - "smithy.api#documentation": "

The encryption configuration.

", - "smithy.api#jsonName": "encryptionConfiguration" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The encryption configuration.

" } }, "eulaIds": { "target": "com.amazonaws.nimble#EulaIdList", "traits": { - "smithy.api#documentation": "

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

", - "smithy.api#jsonName": "eulaIds" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The list of EULAs that must be accepted before a Streaming Session can be started\n using this streaming image.

" } }, "name": { "target": "com.amazonaws.nimble#StreamingImageName", "traits": { + "aws.cloudformation#cfnMutability": "full", "smithy.api#documentation": "

A friendly name for a streaming image resource.

", - "smithy.api#jsonName": "name" + "smithy.api#sensitive": {} } }, "owner": { "target": "com.amazonaws.nimble#StreamingImageOwner", "traits": { - "smithy.api#documentation": "

The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.

", - "smithy.api#jsonName": "owner" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The owner of the streaming image, either the studioId that contains the streaming\n image, or 'amazon' for images that are provided by Amazon Nimble Studio.

" } }, "platform": { "target": "com.amazonaws.nimble#StreamingImagePlatform", "traits": { - "smithy.api#documentation": "

The platform of the streaming image, either WINDOWS or LINUX.

", - "smithy.api#jsonName": "platform" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The platform of the streaming image, either WINDOWS or LINUX.

" } }, "state": { "target": "com.amazonaws.nimble#StreamingImageState", "traits": { - "smithy.api#documentation": "

The current state.

", - "smithy.api#jsonName": "state" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The current state.

" } }, "statusCode": { "target": "com.amazonaws.nimble#StreamingImageStatusCode", "traits": { - "smithy.api#documentation": "

The status code.

", - "smithy.api#jsonName": "statusCode" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The status code.

" } }, "statusMessage": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The status message for the streaming image.

", - "smithy.api#jsonName": "statusMessage" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The status message for the streaming image.

" } }, "streamingImageId": { "target": "com.amazonaws.nimble#StreamingImageId", "traits": { - "smithy.api#documentation": "

The ID of the streaming image.

", - "smithy.api#jsonName": "streamingImageId" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The ID of the streaming image.

" } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } } + }, + "traits": { + "smithy.api#documentation": "

Represents a streaming image resource.

\n

Streaming images are used by studio users to select which operating system and\n software they want to use in a Nimble Studio streaming session.

\n

Amazon provides a number of streaming images that include popular 3rd-party\n software.

\n

You can create your own streaming images using an Amazon Elastic Compute Cloud (Amazon\n EC2) machine image that you create for this purpose. You can also include software that\n your users require.

" } }, "com.amazonaws.nimble#StreamingImageDescription": { @@ -4694,33 +5691,35 @@ "keyArn": { "target": "com.amazonaws.nimble#StreamingImageEncryptionConfigurationKeyArn", "traits": { - "smithy.api#documentation": "

The ARN for a KMS key that is used to encrypt studio data.

", - "smithy.api#jsonName": "keyArn" + "smithy.api#documentation": "

The ARN for a KMS key that is used to encrypt studio data.

" } }, "keyType": { "target": "com.amazonaws.nimble#StreamingImageEncryptionConfigurationKeyType", "traits": { "smithy.api#documentation": "

The type of KMS key that is used to encrypt studio data.

", - "smithy.api#jsonName": "keyType", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "

Specifies how a streaming image is encrypted.

" } }, "com.amazonaws.nimble#StreamingImageEncryptionConfigurationKeyArn": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 4 }, - "smithy.api#pattern": "^arn:" + "smithy.api#pattern": "^arn:.*" } }, "com.amazonaws.nimble#StreamingImageEncryptionConfigurationKeyType": { "type": "string", "traits": { - "smithy.api#documentation": "

", + "smithy.api#documentation": "

", "smithy.api#enum": [ { "value": "CUSTOMER_MANAGED_KEY", @@ -4732,6 +5731,7 @@ "com.amazonaws.nimble#StreamingImageId": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 22 @@ -4745,9 +5745,9 @@ "target": "com.amazonaws.nimble#StreamingImageId" }, "traits": { - "smithy.api#documentation": "

A list of streaming image IDs that users can select from when launching a streaming session with this launch profile.

", + "smithy.api#documentation": "

A list of streaming image IDs that users can select from when launching a streaming\n session with this launch profile.

", "smithy.api#length": { - "min": 0, + "min": 1, "max": 20 } } @@ -4756,6 +5756,9 @@ "type": "list", "member": { "target": "com.amazonaws.nimble#StreamingImage" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#StreamingImageName": { @@ -4771,7 +5774,7 @@ "com.amazonaws.nimble#StreamingImageOwner": { "type": "string", "traits": { - "smithy.api#documentation": "

StreamingImageOwner is the owner of a particular streaming image.

This string is either the studioId that contains the streaming image, or the word 'AMAZON' for images provided by Nimble Studio.

" + "smithy.api#documentation": "

StreamingImageOwner is the owner of a particular streaming image.

\n

This string is either the studioId that contains the streaming image, or the word\n 'AMAZON' for images provided by Nimble Studio.

" } }, "com.amazonaws.nimble#StreamingImagePlatform": { @@ -4781,9 +5784,58 @@ "smithy.api#pattern": "^[a-zA-Z]*$" } }, + "com.amazonaws.nimble#StreamingImageResource": { + "type": "resource", + "identifiers": { + "streamingImageId": { + "target": "com.amazonaws.nimble#String" + } + }, + "create": { + "target": "com.amazonaws.nimble#CreateStreamingImage" + }, + "read": { + "target": "com.amazonaws.nimble#GetStreamingImage" + }, + "update": { + "target": "com.amazonaws.nimble#UpdateStreamingImage" + }, + "delete": { + "target": "com.amazonaws.nimble#DeleteStreamingImage" + }, + "list": { + "target": "com.amazonaws.nimble#ListStreamingImages" + }, + "traits": { + "aws.api#arn": { + "template": "streaming-image/{streamingImageId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.cloudformation#cfnResource": { + "additionalSchemas": [ + "com.amazonaws.nimble#StreamingImage" + ], + "name": "StreamingImage" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys", + "nimble:studioId" + ], + "aws.iam#disableConditionKeyInference": {}, + "smithy.api#documentation": "Represents a streaming session machine image that can be used to launch a streaming session", + "smithy.api#externalDocumentation": { + "CFNSourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio" + } + } + }, "com.amazonaws.nimble#StreamingImageState": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "CREATE_IN_PROGRESS", @@ -4855,6 +5907,7 @@ "com.amazonaws.nimble#StreamingInstanceType": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "g4dn.xlarge", @@ -4889,7 +5942,7 @@ "target": "com.amazonaws.nimble#StreamingInstanceType" }, "traits": { - "smithy.api#documentation": "

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

", + "smithy.api#documentation": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

", "smithy.api#length": { "min": 1, "max": 30 @@ -4900,119 +5953,207 @@ "type": "structure", "members": { "arn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#jsonName": "arn" + "smithy.api#documentation": "

The ARN of the resource.

" } }, "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "createdBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that created the streaming session.

", - "smithy.api#jsonName": "createdBy" + "smithy.api#documentation": "

The user ID of the user that created the streaming session.

" } }, "ec2InstanceType": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The EC2 Instance type used for the streaming session.

", - "smithy.api#jsonName": "ec2InstanceType" + "smithy.api#documentation": "

The EC2 Instance type used for the streaming session.

" } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ID of the launch profile used to control access from the streaming session.

", - "smithy.api#jsonName": "launchProfileId" + "smithy.api#documentation": "

The ID of the launch profile used to control access from the streaming session.

" } }, "ownedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

", - "smithy.api#jsonName": "ownedBy" + "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

" } }, "sessionId": { "target": "com.amazonaws.nimble#StreamingSessionId", "traits": { - "smithy.api#documentation": "

The session ID.

", - "smithy.api#jsonName": "sessionId" + "smithy.api#documentation": "

The session ID.

" } }, "state": { "target": "com.amazonaws.nimble#StreamingSessionState", "traits": { - "smithy.api#documentation": "

The current state.

", - "smithy.api#jsonName": "state" + "smithy.api#documentation": "

The current state.

" } }, "statusCode": { "target": "com.amazonaws.nimble#StreamingSessionStatusCode", "traits": { - "smithy.api#documentation": "

The status code.

", - "smithy.api#jsonName": "statusCode" + "smithy.api#documentation": "

The status code.

" } }, "statusMessage": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The status message for the streaming session.

", - "smithy.api#jsonName": "statusMessage" + "smithy.api#documentation": "

The status message for the streaming session.

" } }, "streamingImageId": { "target": "com.amazonaws.nimble#StreamingImageId", "traits": { - "smithy.api#documentation": "

The ID of the streaming image.

", - "smithy.api#jsonName": "streamingImageId" + "smithy.api#documentation": "

The ID of the streaming image.

" } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } }, "terminateAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The time the streaming session will automatically terminate if not terminated by the user.

", - "smithy.api#jsonName": "terminateAt" + "smithy.api#documentation": "

The time the streaming session will automatically terminate if not terminated by the\n user.

" } }, "updatedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

", - "smithy.api#jsonName": "updatedAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

" } }, "updatedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

" + } + }, + "stoppedAt": { + "target": "com.amazonaws.nimble#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the session entered STOP_IN_PROGRESS state.

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } + }, + "stoppedBy": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The user ID of the user that stopped the streaming session.

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } + }, + "startedAt": { + "target": "com.amazonaws.nimble#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the session entered START_IN_PROGRESS state.

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } + }, + "startedBy": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The user ID of the user that started the streaming session.

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] + } + }, + "stopAt": { + "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

", - "smithy.api#jsonName": "updatedBy" + "smithy.api#documentation": "

The time the streaming session will automatically be stopped if the user doesn’t stop\n the session themselves.

", + "smithy.api#tags": [ + "stop_start_streaming_session" + ] } } + }, + "traits": { + "smithy.api#documentation": "

A streaming session is a virtual workstation created using a particular launch\n profile.

" } }, "com.amazonaws.nimble#StreamingSessionId": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#documentation": "" + } }, "com.amazonaws.nimble#StreamingSessionList": { "type": "list", "member": { "target": "com.amazonaws.nimble#StreamingSession" + }, + "traits": { + "smithy.api#documentation": "" + } + }, + "com.amazonaws.nimble#StreamingSessionResource": { + "type": "resource", + "identifiers": { + "sessionId": { + "target": "com.amazonaws.nimble#String" + } + }, + "create": { + "target": "com.amazonaws.nimble#CreateStreamingSession" + }, + "read": { + "target": "com.amazonaws.nimble#GetStreamingSession" + }, + "delete": { + "target": "com.amazonaws.nimble#DeleteStreamingSession" + }, + "list": { + "target": "com.amazonaws.nimble#ListStreamingSessions" + }, + "operations": [ + { + "target": "com.amazonaws.nimble#CreateStreamingSessionStream" + }, + { + "target": "com.amazonaws.nimble#GetStreamingSessionStream" + }, + { + "target": "com.amazonaws.nimble#StartStreamingSession" + }, + { + "target": "com.amazonaws.nimble#StopStreamingSession" + } + ], + "traits": { + "aws.api#arn": { + "template": "streaming-session/{sessionId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "nimble:createdBy", + "nimble:ownedBy" + ], + "aws.iam#disableConditionKeyInference": {} } }, "com.amazonaws.nimble#StreamingSessionState": { @@ -5043,6 +6184,26 @@ { "value": "DELETE_FAILED", "name": "DELETE_FAILED" + }, + { + "value": "STOP_IN_PROGRESS", + "name": "STOP_IN_PROGRESS" + }, + { + "value": "START_IN_PROGRESS", + "name": "START_IN_PROGRESS" + }, + { + "value": "STOPPED", + "name": "STOPPED" + }, + { + "value": "STOP_FAILED", + "name": "STOP_FAILED" + }, + { + "value": "START_FAILED", + "name": "START_FAILED" } ] } @@ -5050,6 +6211,7 @@ "com.amazonaws.nimble#StreamingSessionStatusCode": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "STREAMING_SESSION_READY", @@ -5094,6 +6256,22 @@ { "value": "NETWORK_INTERFACE_ERROR", "name": "NETWORK_INTERFACE_ERROR" + }, + { + "value": "STREAMING_SESSION_STOPPED", + "name": "STREAMING_SESSION_STOPPED" + }, + { + "value": "STREAMING_SESSION_STARTED", + "name": "STREAMING_SESSION_STARTED" + }, + { + "value": "STREAMING_SESSION_STOP_IN_PROGRESS", + "name": "STREAMING_SESSION_STOP_IN_PROGRESS" + }, + { + "value": "STREAMING_SESSION_START_IN_PROGRESS", + "name": "STREAMING_SESSION_START_IN_PROGRESS" } ] } @@ -5104,64 +6282,61 @@ "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "createdBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that created the streaming session stream.

", - "smithy.api#jsonName": "createdBy" + "smithy.api#documentation": "

The user ID of the user that created the streaming session stream.

" } }, "expiresAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource expires.

", - "smithy.api#jsonName": "expiresAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource expires.

" } }, "ownedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

", - "smithy.api#jsonName": "ownedBy" + "smithy.api#documentation": "

The user ID of the user that owns the streaming session.

" } }, "state": { "target": "com.amazonaws.nimble#StreamingSessionStreamState", "traits": { - "smithy.api#documentation": "

The current state.

", - "smithy.api#jsonName": "state" + "smithy.api#documentation": "

The current state.

" } }, "statusCode": { "target": "com.amazonaws.nimble#StreamingSessionStreamStatusCode", "traits": { - "smithy.api#documentation": "

The streaming session stream status code.

", - "smithy.api#jsonName": "statusCode" + "smithy.api#documentation": "

The streaming session stream status code.

" } }, "streamId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The stream ID.

", - "smithy.api#jsonName": "streamId" + "smithy.api#documentation": "

The stream ID.

" } }, "url": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The URL to connect to this stream using the DCV client.

", - "smithy.api#jsonName": "url" + "smithy.api#sensitive": {} } } + }, + "traits": { + "smithy.api#documentation": "

A stream is an active connection to a streaming session, enabling a studio user to\n control the streaming session using a compatible client. Streaming session streams are\n compatible with the NICE DCV web client, included in the Nimble Studio portal, or\n the NICE DCV desktop client.

" } }, "com.amazonaws.nimble#StreamingSessionStreamExpirationInSeconds": { "type": "integer", "traits": { + "smithy.api#documentation": "", "smithy.api#range": { "min": 60, "max": 3600 @@ -5171,6 +6346,7 @@ "com.amazonaws.nimble#StreamingSessionStreamState": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "READY", @@ -5202,6 +6378,7 @@ "com.amazonaws.nimble#StreamingSessionStreamStatusCode": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "STREAM_CREATE_IN_PROGRESS", @@ -5230,286 +6407,290 @@ ] } }, + "com.amazonaws.nimble#String": { + "type": "string" + }, + "com.amazonaws.nimble#StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.nimble#String" + } + }, "com.amazonaws.nimble#Studio": { "type": "structure", "members": { "adminRoleArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The IAM role that studio admins assume when logging in to the Nimble Studio portal.

", - "smithy.api#jsonName": "adminRoleArn" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The IAM role that studio admins assume when logging in to the Nimble Studio\n portal.

" } }, "arn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

", - "smithy.api#jsonName": "arn" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely\n identifies it. ARNs are unique across all Regions.

" } }, "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "displayName": { "target": "com.amazonaws.nimble#StudioDisplayName", "traits": { "smithy.api#documentation": "

A friendly name for the studio.

", - "smithy.api#jsonName": "displayName" + "smithy.api#sensitive": {} } }, "homeRegion": { "target": "com.amazonaws.nimble#Region", "traits": { - "smithy.api#documentation": "

The Amazon Web Services Region where the studio resource is located.

", - "smithy.api#jsonName": "homeRegion" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The Amazon Web Services Region where the studio resource is located.

" } }, "ssoClientId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble portal.

", - "smithy.api#jsonName": "ssoClientId" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO\n to enable Amazon Web Services SSO users to log in to Nimble Studio portal.

" } }, "state": { "target": "com.amazonaws.nimble#StudioState", "traits": { - "smithy.api#documentation": "

The current state of the studio resource.

", - "smithy.api#jsonName": "state" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The current state of the studio resource.

" } }, "statusCode": { "target": "com.amazonaws.nimble#StudioStatusCode", "traits": { - "smithy.api#documentation": "

Status codes that provide additional detail on the studio state.

", - "smithy.api#jsonName": "statusCode" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Status codes that provide additional detail on the studio state.

" } }, "statusMessage": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

Additional detail on the studio state.

", - "smithy.api#jsonName": "statusMessage" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Additional detail on the studio state.

" } }, "studioEncryptionConfiguration": { "target": "com.amazonaws.nimble#StudioEncryptionConfiguration", "traits": { - "smithy.api#documentation": "

Configuration of the encryption method that is used for the studio.

", - "smithy.api#jsonName": "studioEncryptionConfiguration" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

Configuration of the encryption method that is used for the studio.

" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.

", - "smithy.api#jsonName": "studioId" + "smithy.api#documentation": "

The unique identifier for a studio resource. In Nimble Studio, all other\n resources are contained in a studio resource.

" } }, "studioName": { "target": "com.amazonaws.nimble#StudioName", "traits": { - "smithy.api#documentation": "

The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.

", - "smithy.api#jsonName": "studioName" + "smithy.api#documentation": "

The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.

" } }, "studioUrl": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The address of the web page for the studio.

", - "smithy.api#jsonName": "studioUrl" + "aws.cloudformation#cfnMutability": "read", + "smithy.api#documentation": "

The address of the web page for the studio.

" } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "aws.cloudformation#cfnMutability": "create-and-read", + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } }, "updatedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

", - "smithy.api#jsonName": "updatedAt" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

" } }, "userRoleArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The IAM role that studio users assume when logging in to the Nimble Studio portal.

", - "smithy.api#jsonName": "userRoleArn" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The IAM role that studio users assume when logging in to the Nimble Studio\n portal.

" } } + }, + "traits": { + "smithy.api#documentation": "

Represents a studio resource.

\n

A studio is the core resource used with Nimble Studio. You must create a studio\n first, before any other resource type can be created. All other resources you create and\n manage in Nimble Studio are contained within a studio.

\n

When creating a studio, you must provides two IAM roles for use with the Nimble Studio portal. These roles are assumed by your users when they log in to the\n Nimble Studio portal via Amazon Web Services SSO and your identity source.

\n

The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for\n the portal to function properly.

\n

The admin role must have the AmazonNimbleStudio-StudioAdmin managed policy attached\n for the portal to function properly.

\n

Your studio roles must trust the identity.nimble.amazonaws.com service principal to\n function properly.

" } }, "com.amazonaws.nimble#StudioComponent": { "type": "structure", "members": { "arn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#jsonName": "arn" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The ARN of the resource.

" } }, "configuration": { "target": "com.amazonaws.nimble#StudioComponentConfiguration", "traits": { - "smithy.api#documentation": "

The configuration of the studio component, based on component type.

", - "smithy.api#jsonName": "configuration" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The configuration of the studio component, based on component type.

" } }, "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "createdBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that created the studio component.

", - "smithy.api#jsonName": "createdBy" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The user ID of the user that created the studio component.

" } }, "description": { "target": "com.amazonaws.nimble#StudioComponentDescription", "traits": { - "smithy.api#documentation": "

A human-readable description for the studio component resource.

", - "smithy.api#jsonName": "description" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

A human-readable description for the studio component resource.

" } }, "ec2SecurityGroupIds": { "target": "com.amazonaws.nimble#StudioComponentSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

", - "smithy.api#jsonName": "ec2SecurityGroupIds" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

" } }, "initializationScripts": { "target": "com.amazonaws.nimble#StudioComponentInitializationScriptList", "traits": { - "smithy.api#documentation": "

Initialization scripts for studio components.

", - "smithy.api#jsonName": "initializationScripts" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

Initialization scripts for studio components.

" } }, "name": { "target": "com.amazonaws.nimble#StudioComponentName", "traits": { - "smithy.api#documentation": "

A friendly name for the studio component resource.

", - "smithy.api#jsonName": "name" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

A friendly name for the studio component resource.

" } }, "scriptParameters": { "target": "com.amazonaws.nimble#StudioComponentScriptParameterKeyValueList", "traits": { - "smithy.api#documentation": "

Parameters for the studio component scripts.

", - "smithy.api#jsonName": "scriptParameters" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

Parameters for the studio component scripts.

" } }, "state": { "target": "com.amazonaws.nimble#StudioComponentState", "traits": { - "smithy.api#documentation": "

The current state.

", - "smithy.api#jsonName": "state" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The current state.

" } }, "statusCode": { "target": "com.amazonaws.nimble#StudioComponentStatusCode", "traits": { - "smithy.api#documentation": "

The status code.

", - "smithy.api#jsonName": "statusCode" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The status code.

" } }, "statusMessage": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The status message for the studio component.

", - "smithy.api#jsonName": "statusMessage" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The status message for the studio component.

" } }, "studioComponentId": { "target": "com.amazonaws.nimble#StudioComponentId", "traits": { - "smithy.api#documentation": "

The unique identifier for a studio component resource.

", - "smithy.api#jsonName": "studioComponentId" + "smithy.api#documentation": "

The unique identifier for a studio component resource.

" } }, "subtype": { "target": "com.amazonaws.nimble#StudioComponentSubtype", "traits": { - "smithy.api#documentation": "

The specific subtype of a studio component.

", - "smithy.api#jsonName": "subtype" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The specific subtype of a studio component.

" } }, "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } }, "type": { "target": "com.amazonaws.nimble#StudioComponentType", "traits": { - "smithy.api#documentation": "

The type of the studio component.

", - "smithy.api#jsonName": "type" + "aws.cloudformation#cfnMutability": "full", + "smithy.api#documentation": "

The type of the studio component.

" } }, "updatedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

", - "smithy.api#jsonName": "updatedAt" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

" } }, "updatedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

", - "smithy.api#jsonName": "updatedBy" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

" } } }, "traits": { - "smithy.api#documentation": "

A network that is used by a studio’s users and workflows, including render farm, Active Directory, licensing, and file system.

" + "smithy.api#documentation": "

A studio component represents a network resource to be used by a studio's users and\n workflows. A typical studio contains studio components for each of the following: render\n farm, Active Directory, licensing, and file system.

\n

Access to a studio component is managed by specifying security groups for the\n resource, as well as its endpoint.

\n

A studio component also has a set of initialization scripts that are returned by\n GetLaunchProfileInitialization. These initialization scripts run on\n streaming sessions when they start. They provide users with flexibility in controlling\n how the studio resources are configured on a streaming session.

" } }, "com.amazonaws.nimble#StudioComponentConfiguration": { - "type": "structure", + "type": "union", "members": { "activeDirectoryConfiguration": { "target": "com.amazonaws.nimble#ActiveDirectoryConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio resource.

", - "smithy.api#jsonName": "activeDirectoryConfiguration" + "smithy.api#documentation": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.

" } }, "computeFarmConfiguration": { "target": "com.amazonaws.nimble#ComputeFarmConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for a render farm that is associated with a studio resource.

", - "smithy.api#jsonName": "computeFarmConfiguration" + "smithy.api#documentation": "

The configuration for a render farm that is associated with a studio resource.

" } }, "licenseServiceConfiguration": { "target": "com.amazonaws.nimble#LicenseServiceConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for a license service that is associated with a studio resource.

", - "smithy.api#jsonName": "licenseServiceConfiguration" + "smithy.api#documentation": "

The configuration for a license service that is associated with a studio\n resource.

" } }, "sharedFileSystemConfiguration": { "target": "com.amazonaws.nimble#SharedFileSystemConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for a shared file storage system that is associated with a studio resource.

", - "smithy.api#jsonName": "sharedFileSystemConfiguration" + "smithy.api#documentation": "

The configuration for a shared file storage system that is associated with a studio\n resource.

" } } }, @@ -5520,15 +6701,18 @@ "com.amazonaws.nimble#StudioComponentDescription": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 256 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#StudioComponentId": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 22 @@ -5542,29 +6726,25 @@ "launchProfileProtocolVersion": { "target": "com.amazonaws.nimble#LaunchProfileProtocolVersion", "traits": { - "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", - "smithy.api#jsonName": "launchProfileProtocolVersion" + "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

" } }, "platform": { "target": "com.amazonaws.nimble#LaunchProfilePlatform", "traits": { - "smithy.api#documentation": "

The platform of the initialization script, either WINDOWS or LINUX.

", - "smithy.api#jsonName": "platform" + "smithy.api#documentation": "

The platform of the initialization script, either WINDOWS or LINUX.

" } }, "runContext": { "target": "com.amazonaws.nimble#StudioComponentInitializationScriptRunContext", "traits": { - "smithy.api#documentation": "

The method to use when running the initialization script.

", - "smithy.api#jsonName": "runContext" + "smithy.api#documentation": "

The method to use when running the initialization script.

" } }, "script": { "target": "com.amazonaws.nimble#StudioComponentInitializationScriptContent", "traits": { - "smithy.api#documentation": "

The initialization script.

", - "smithy.api#jsonName": "script" + "smithy.api#documentation": "

The initialization script.

" } } }, @@ -5575,21 +6755,27 @@ "com.amazonaws.nimble#StudioComponentInitializationScriptContent": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 1, "max": 5120 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#StudioComponentInitializationScriptList": { "type": "list", "member": { "target": "com.amazonaws.nimble#StudioComponentInitializationScript" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#StudioComponentInitializationScriptRunContext": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "SYSTEM_INITIALIZATION", @@ -5608,6 +6794,7 @@ "target": "com.amazonaws.nimble#StudioComponent" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 50 @@ -5617,9 +6804,59 @@ "com.amazonaws.nimble#StudioComponentName": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 64 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.nimble#StudioComponentResource": { + "type": "resource", + "identifiers": { + "studioComponentId": { + "target": "com.amazonaws.nimble#String" + } + }, + "create": { + "target": "com.amazonaws.nimble#CreateStudioComponent" + }, + "read": { + "target": "com.amazonaws.nimble#GetStudioComponent" + }, + "update": { + "target": "com.amazonaws.nimble#UpdateStudioComponent" + }, + "delete": { + "target": "com.amazonaws.nimble#DeleteStudioComponent" + }, + "list": { + "target": "com.amazonaws.nimble#ListStudioComponents" + }, + "traits": { + "aws.api#arn": { + "template": "studio-component/{studioComponentId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.cloudformation#cfnResource": { + "additionalSchemas": [ + "com.amazonaws.nimble#StudioComponent" + ], + "name": "StudioComponent" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys", + "nimble:studioId" + ], + "aws.iam#disableConditionKeyInference": {}, + "smithy.api#documentation": "Represents a studio component which connects a non-Nimble Studio resource in your account to your studio", + "smithy.api#externalDocumentation": { + "CFNSourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio" } } }, @@ -5629,10 +6866,12 @@ "target": "com.amazonaws.nimble#ScriptParameterKeyValue" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 30 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.nimble#StudioComponentSecurityGroupIdList": { @@ -5641,6 +6880,7 @@ "target": "com.amazonaws.nimble#SecurityGroupId" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 1, "max": 30 @@ -5650,7 +6890,7 @@ "com.amazonaws.nimble#StudioComponentState": { "type": "string", "traits": { - "smithy.api#documentation": "

The current state of the studio component resource.

While a studio component is being created, modified, or deleted, its state will equal \"CREATE_IN_PROGRESS\", \"UPDATE_IN_PROGRESS\", or \"DELETE_IN_PROGRESS\"

These are called 'transition states'.

No modifications may be made to the studio component while it is in a transition state.

If creation of the resource fails, the state will change to `CREATE_FAILED`. The resource StatusCode and StatusMessage will provide more information of why creation failed. The resource in this state will automatically be deleted from your account after a period of time.

If updating the resource fails, the state will change to `UPDATE_FAILED`. The resource StatusCode and StatusMessage will provide more information of why the update failed. The resource will be returned to the state it was in when the update request was invoked.

If deleting the resource fails, the state will change to `DELETE_FAILED`. The resource StatusCode and StatusMessage will provide more information of why the update failed. The resource will be returned to the state it was in when the update request was invoked. After the resource is deleted successfully, it will change to the \"DELETED\" state. The resource will no longer count against service quotas and cannot be used or acted upon any futher. It will be removed from your account after a period of time.

", + "smithy.api#documentation": "

The current state of the studio component resource.

\n

While a studio component is being created, modified, or deleted, its state will equal\n \"CREATE_IN_PROGRESS\", \"UPDATE_IN_PROGRESS\", or \"DELETE_IN_PROGRESS\"

\n

These are called 'transition states'.

\n

No modifications may be made to the studio component while it is in a transition\n state.

\n

If creation of the resource fails, the state will change to `CREATE_FAILED`. The\n resource StatusCode and StatusMessage will provide more information of why creation\n failed. The resource in this state will automatically be deleted from your account after\n a period of time.

\n

If updating the resource fails, the state will change to `UPDATE_FAILED`. The resource\n StatusCode and StatusMessage will provide more information of why the update failed. The\n resource will be returned to the state it was in when the update request was\n invoked.

\n

If deleting the resource fails, the state will change to `DELETE_FAILED`. The resource\n StatusCode and StatusMessage will provide more information of why the update failed. The\n resource will be returned to the state it was in when the update request was invoked.\n After the resource is deleted successfully, it will change to the \"DELETED\" state. The\n resource will no longer count against service quotas and cannot be used or acted upon\n any futher. It will be removed from your account after a period of time.

", "smithy.api#enum": [ { "value": "CREATE_IN_PROGRESS", @@ -5690,7 +6930,7 @@ "com.amazonaws.nimble#StudioComponentStatusCode": { "type": "string", "traits": { - "smithy.api#documentation": "

The current status of the studio component resource.

When the resource is in the 'READY' state, the status code signals what the last mutation made to the resource was.

When the resource is in a CREATE_FAILED/UPDATE_FAILED/DELETE_FAILED state, the status code signals what went wrong and why the mutation failed.

", + "smithy.api#documentation": "

The current status of the studio component resource.

\n

When the resource is in the 'READY' state, the status code signals what the last\n mutation made to the resource was.

\n

When the resource is in a CREATE_FAILED/UPDATE_FAILED/DELETE_FAILED state, the status\n code signals what went wrong and why the mutation failed.

", "smithy.api#enum": [ { "value": "ACTIVE_DIRECTORY_ALREADY_EXISTS", @@ -5738,6 +6978,7 @@ "com.amazonaws.nimble#StudioComponentSubtype": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "AWS_MANAGED_MICROSOFT_AD", @@ -5764,80 +7005,75 @@ "createdAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

", - "smithy.api#jsonName": "createdAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" } }, "createdBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that created the studio component.

", - "smithy.api#jsonName": "createdBy" + "smithy.api#documentation": "

The user ID of the user that created the studio component.

" } }, "description": { "target": "com.amazonaws.nimble#StudioComponentDescription", "traits": { - "smithy.api#documentation": "

The description.

", - "smithy.api#jsonName": "description" + "smithy.api#documentation": "

The description.

" } }, "name": { "target": "com.amazonaws.nimble#StudioComponentName", "traits": { - "smithy.api#documentation": "

The name for the studio component.

", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

The name for the studio component.

" } }, "studioComponentId": { "target": "com.amazonaws.nimble#StudioComponentId", "traits": { - "smithy.api#documentation": "

The unique identifier for a studio component resource.

", - "smithy.api#jsonName": "studioComponentId" + "smithy.api#documentation": "

The unique identifier for a studio component resource.

" } }, "subtype": { "target": "com.amazonaws.nimble#StudioComponentSubtype", "traits": { - "smithy.api#documentation": "

The specific subtype of a studio component.

", - "smithy.api#jsonName": "subtype" + "smithy.api#documentation": "

The specific subtype of a studio component.

" } }, "type": { "target": "com.amazonaws.nimble#StudioComponentType", "traits": { - "smithy.api#documentation": "

The type of the studio component.

", - "smithy.api#jsonName": "type" + "smithy.api#documentation": "

The type of the studio component.

" } }, "updatedAt": { "target": "com.amazonaws.nimble#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

", - "smithy.api#jsonName": "updatedAt" + "smithy.api#documentation": "

The Unix epoch timestamp in seconds for when the resource was updated.

" } }, "updatedBy": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

", - "smithy.api#jsonName": "updatedBy" + "smithy.api#documentation": "

The user ID of the user that most recently updated the resource.

" } } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#StudioComponentSummaryList": { "type": "list", "member": { "target": "com.amazonaws.nimble#StudioComponentSummary" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#StudioComponentType": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "ACTIVE_DIRECTORY", @@ -5865,6 +7101,7 @@ "com.amazonaws.nimble#StudioDisplayName": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 64 @@ -5877,15 +7114,13 @@ "keyArn": { "target": "com.amazonaws.nimble#StudioEncryptionConfigurationKeyArn", "traits": { - "smithy.api#documentation": "

The ARN for a KMS key that is used to encrypt studio data.

", - "smithy.api#jsonName": "keyArn" + "smithy.api#documentation": "

The ARN for a KMS key that is used to encrypt studio data.

" } }, "keyType": { "target": "com.amazonaws.nimble#StudioEncryptionConfigurationKeyType", "traits": { "smithy.api#documentation": "

The type of KMS key that is used to encrypt studio data.

", - "smithy.api#jsonName": "keyType", "smithy.api#required": {} } } @@ -5897,11 +7132,11 @@ "com.amazonaws.nimble#StudioEncryptionConfigurationKeyArn": { "type": "string", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for a KMS key that is used to encrypt studio data.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for a KMS key that is used to encrypt studio\n data.

", "smithy.api#length": { "min": 4 }, - "smithy.api#pattern": "^arn:" + "smithy.api#pattern": "^arn:.*" } }, "com.amazonaws.nimble#StudioEncryptionConfigurationKeyType": { @@ -5924,32 +7159,41 @@ "type": "list", "member": { "target": "com.amazonaws.nimble#Studio" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#StudioMembership": { "type": "structure", "members": { "identityStoreId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ID of the identity store.

", - "smithy.api#jsonName": "identityStoreId" + "smithy.api#documentation": "

The ID of the identity store.

" } }, "persona": { "target": "com.amazonaws.nimble#StudioPersona", "traits": { - "smithy.api#documentation": "

The persona.

", - "smithy.api#jsonName": "persona" + "smithy.api#documentation": "

The persona.

" } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", - "smithy.api#jsonName": "principalId" + "smithy.api#documentation": "

The principal ID.

" + } + }, + "sid": { + "target": "com.amazonaws.nimble#String", + "traits": { + "smithy.api#documentation": "

The Active Directory Security Identifier for this user, if available.

" } } + }, + "traits": { + "smithy.api#documentation": "

A studio member is an association of a user from your studio identity source to\n elevated permissions that they are granted in the studio.

\n

When you add a user to your studio using the Nimble Studio console, they are\n given access to the studio's AWS SSO application and are given access to log in to the\n Nimble Studio portal. These users have the permissions provided by the studio's\n user IAM role and do not appear in the studio membership collection. Only studio admins\n appear in studio membership.

\n

When you add a user to studio membership with the persona ADMIN, upon logging in to\n the Nimble Studio portal, they are granted permissions specified by the Studio's\n Admin IAM role.

" } }, "com.amazonaws.nimble#StudioMembershipList": { @@ -5958,6 +7202,7 @@ "target": "com.amazonaws.nimble#StudioMembership" }, "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 0, "max": 20 @@ -5967,6 +7212,7 @@ "com.amazonaws.nimble#StudioName": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#length": { "min": 3, "max": 64 @@ -5977,6 +7223,7 @@ "com.amazonaws.nimble#StudioPersona": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "ADMINISTRATOR", @@ -5985,9 +7232,75 @@ ] } }, + "com.amazonaws.nimble#StudioResource": { + "type": "resource", + "identifiers": { + "studioId": { + "target": "com.amazonaws.nimble#String" + } + }, + "create": { + "target": "com.amazonaws.nimble#CreateStudio" + }, + "read": { + "target": "com.amazonaws.nimble#GetStudio" + }, + "update": { + "target": "com.amazonaws.nimble#UpdateStudio" + }, + "delete": { + "target": "com.amazonaws.nimble#DeleteStudio" + }, + "list": { + "target": "com.amazonaws.nimble#ListStudios" + }, + "operations": [ + { + "target": "com.amazonaws.nimble#DeleteStudioMember" + }, + { + "target": "com.amazonaws.nimble#GetStudioMember" + }, + { + "target": "com.amazonaws.nimble#ListStudioMembers" + }, + { + "target": "com.amazonaws.nimble#PutStudioMembers" + }, + { + "target": "com.amazonaws.nimble#StartStudioSSOConfigurationRepair" + } + ], + "traits": { + "aws.api#arn": { + "template": "studio/{studioId}", + "absolute": false, + "noAccount": false, + "noRegion": false + }, + "aws.cloudformation#cfnResource": { + "additionalSchemas": [ + "com.amazonaws.nimble#Studio" + ], + "name": "Studio" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys", + "nimble:studioId" + ], + "aws.iam#disableConditionKeyInference": {}, + "smithy.api#documentation": "Represents a studio that contains other Nimble Studio resources", + "smithy.api#externalDocumentation": { + "CFNSourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio" + } + } + }, "com.amazonaws.nimble#StudioState": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#enum": [ { "value": "CREATE_IN_PROGRESS", @@ -6136,6 +7449,7 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to add or overwrite one or more tags for the specified Nimble Studio resource", "smithy.api#documentation": "

Creates tags for a resource, given its ARN.

", "smithy.api#http": { "method": "POST", @@ -6148,9 +7462,9 @@ "type": "structure", "members": { "resourceArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the target resource for tagging operations.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource you want to add tags to.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6158,13 +7472,44 @@ "tags": { "target": "com.amazonaws.nimble#Tags", "traits": { - "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "

A collection of labels, in the form of key:value pairs, that apply to this\n resource.

" } } }, "traits": { - "smithy.api#documentation": "

The ARN for the role that manages access.

" + "smithy.api#documentation": "

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StudioResource", + "ids": { + "studioId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StudioComponentResource", + "ids": { + "studioComponentId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#LaunchProfileResource", + "ids": { + "launchProfileId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StreamingSessionResource", + "ids": { + "sessionId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StreamingImageResource", + "ids": { + "streamingImageId": "resourceArn" + } + } + ] } }, "com.amazonaws.nimble#TagResourceResponse": { @@ -6174,45 +7519,48 @@ "com.amazonaws.nimble#Tags": { "type": "map", "key": { - "target": "com.amazonaws.nimble#__string" + "target": "com.amazonaws.nimble#String" }, "value": { - "target": "com.amazonaws.nimble#__string" + "target": "com.amazonaws.nimble#String" + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ThrottlingException": { "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

The request throughput limit was exceeded.

", "smithy.api#error": "client", - "smithy.api#httpError": 429 + "smithy.api#httpError": 429, + "smithy.api#retryable": {} } }, "com.amazonaws.nimble#Timestamp": { "type": "timestamp", "traits": { + "smithy.api#documentation": "", "smithy.api#timestampFormat": "date-time" } }, @@ -6248,33 +7596,69 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to disassociate one or more tags from the specified Nimble Studio resource", "smithy.api#documentation": "

Deletes the tags for a resource.

", "smithy.api#http": { "method": "DELETE", "uri": "/2020-08-01/tags/{resourceArn}", "code": 204 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.nimble#UntagResourceRequest": { "type": "structure", "members": { "resourceArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The ARN of the target resource for tagging operations.

", + "smithy.api#documentation": "

Identifies the Amazon Resource Name(ARN) key from which you are removing tags.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "tagKeys": { - "target": "com.amazonaws.nimble#multiValueQueryStringList", + "target": "com.amazonaws.nimble#StringList", "traits": { - "smithy.api#documentation": "

An array of tag keys to delete.

", + "smithy.api#documentation": "

One or more tag keys. Specify only the tag keys, not the tag values.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#references": [ + { + "resource": "com.amazonaws.nimble#StudioResource", + "ids": { + "studioId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StudioComponentResource", + "ids": { + "studioComponentId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#LaunchProfileResource", + "ids": { + "launchProfileId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StreamingSessionResource", + "ids": { + "sessionId": "resourceArn" + } + }, + { + "resource": "com.amazonaws.nimble#StreamingImageResource", + "ids": { + "streamingImageId": "resourceArn" + } + } + ] } }, "com.amazonaws.nimble#UntagResourceResponse": { @@ -6313,6 +7697,7 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update a launch profile", "smithy.api#documentation": "

Update a launch profile.

", "smithy.api#http": { "method": "PATCH", @@ -6353,6 +7738,7 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update a launch profile member", "smithy.api#documentation": "

Update a user persona in launch profile membership.

", "smithy.api#http": { "method": "PATCH", @@ -6367,15 +7753,15 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6384,29 +7770,28 @@ "target": "com.amazonaws.nimble#LaunchProfilePersona", "traits": { "smithy.api#documentation": "

The persona.

", - "smithy.api#jsonName": "persona", "smithy.api#required": {} } }, "principalId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The principal ID.

", + "smithy.api#documentation": "

The principal ID. This currently supports a Amazon Web Services SSO UserId.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The principal ID.

" + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#UpdateLaunchProfileMemberResponse": { @@ -6415,8 +7800,7 @@ "member": { "target": "com.amazonaws.nimble#LaunchProfileMembership", "traits": { - "smithy.api#documentation": "

The member.

", - "smithy.api#jsonName": "member" + "smithy.api#documentation": "

The updated member.

" } } } @@ -6427,7 +7811,8 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -6435,14 +7820,13 @@ "description": { "target": "com.amazonaws.nimble#LaunchProfileDescription", "traits": { - "smithy.api#documentation": "

The description.

", - "smithy.api#jsonName": "description" + "smithy.api#documentation": "

The description.

" } }, "launchProfileId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The launch profile ID.

", + "smithy.api#documentation": "

The Launch Profile ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6450,42 +7834,39 @@ "launchProfileProtocolVersions": { "target": "com.amazonaws.nimble#LaunchProfileProtocolVersionList", "traits": { - "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", - "smithy.api#jsonName": "launchProfileProtocolVersions" + "smithy.api#documentation": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

" } }, "name": { "target": "com.amazonaws.nimble#LaunchProfileName", "traits": { - "smithy.api#documentation": "

The name for the launch profile.

", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

The name for the launch profile.

" } }, "streamConfiguration": { "target": "com.amazonaws.nimble#StreamConfigurationCreate", "traits": { - "smithy.api#documentation": "

A configuration for a streaming session.

", - "smithy.api#jsonName": "streamConfiguration" + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

A configuration for a streaming session.

" } }, "studioComponentIds": { "target": "com.amazonaws.nimble#LaunchProfileStudioComponentIdList", "traits": { - "smithy.api#documentation": "

Unique identifiers for a collection of studio components that can be used with this launch profile.

", - "smithy.api#jsonName": "studioComponentIds" + "smithy.api#documentation": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

" } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The launch profile ID.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#UpdateLaunchProfileResponse": { @@ -6494,10 +7875,12 @@ "launchProfile": { "target": "com.amazonaws.nimble#LaunchProfile", "traits": { - "smithy.api#documentation": "

The launch profile.

", - "smithy.api#jsonName": "launchProfile" + "smithy.api#documentation": "

The launch profile.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#UpdateStreamingImage": { @@ -6532,6 +7915,7 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update a streaming image", "smithy.api#documentation": "

Update streaming image.

", "smithy.api#http": { "method": "PATCH", @@ -6546,7 +7930,8 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -6555,18 +7940,18 @@ "target": "com.amazonaws.nimble#StreamingImageDescription", "traits": { "smithy.api#documentation": "

The description.

", - "smithy.api#jsonName": "description" + "smithy.api#sensitive": {} } }, "name": { "target": "com.amazonaws.nimble#StreamingImageName", "traits": { "smithy.api#documentation": "

The name for the streaming image.

", - "smithy.api#jsonName": "name" + "smithy.api#sensitive": {} } }, "streamingImageId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The streaming image ID.

", "smithy.api#httpLabel": {}, @@ -6574,16 +7959,16 @@ } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The streaming image ID.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#UpdateStreamingImageResponse": { @@ -6592,10 +7977,12 @@ "streamingImage": { "target": "com.amazonaws.nimble#StreamingImage", "traits": { - "smithy.api#documentation": "

", - "smithy.api#jsonName": "streamingImage" + "smithy.api#documentation": "

" } } + }, + "traits": { + "smithy.api#documentation": "

" } }, "com.amazonaws.nimble#UpdateStudio": { @@ -6630,7 +8017,11 @@ } ], "traits": { - "smithy.api#documentation": "

Update a Studio resource.

Currently, this operation only supports updating the displayName of your studio.

", + "aws.iam#actionPermissionDescription": "Grants permission to update a studio", + "aws.iam#requiredActions": [ + "iam:PassRole" + ], + "smithy.api#documentation": "

Update a Studio resource.

\n

Currently, this operation only supports updating the displayName of your\n studio.

", "smithy.api#http": { "method": "PATCH", "uri": "/2020-08-01/studios/{studioId}", @@ -6670,6 +8061,12 @@ } ], "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update a studio component", + "aws.iam#requiredActions": [ + "ec2:DescribeSecurityGroups", + "fsx:DescribeFileSystems", + "ds:DescribeDirectories" + ], "smithy.api#documentation": "

Updates a studio component resource.

", "smithy.api#http": { "method": "PATCH", @@ -6684,7 +8081,8 @@ "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -6692,47 +8090,41 @@ "configuration": { "target": "com.amazonaws.nimble#StudioComponentConfiguration", "traits": { - "smithy.api#documentation": "

The configuration of the studio component, based on component type.

", - "smithy.api#jsonName": "configuration" + "smithy.api#documentation": "

The configuration of the studio component, based on component type.

" } }, "description": { "target": "com.amazonaws.nimble#StudioComponentDescription", "traits": { - "smithy.api#documentation": "

The description.

", - "smithy.api#jsonName": "description" + "smithy.api#documentation": "

The description.

" } }, "ec2SecurityGroupIds": { "target": "com.amazonaws.nimble#StudioComponentSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

", - "smithy.api#jsonName": "ec2SecurityGroupIds" + "smithy.api#documentation": "

The EC2 security groups that control access to the studio component.

" } }, "initializationScripts": { "target": "com.amazonaws.nimble#StudioComponentInitializationScriptList", "traits": { - "smithy.api#documentation": "

Initialization scripts for studio components.

", - "smithy.api#jsonName": "initializationScripts" + "smithy.api#documentation": "

Initialization scripts for studio components.

" } }, "name": { "target": "com.amazonaws.nimble#StudioComponentName", "traits": { - "smithy.api#documentation": "

The name for the studio component.

", - "smithy.api#jsonName": "name" + "smithy.api#documentation": "

The name for the studio component.

" } }, "scriptParameters": { "target": "com.amazonaws.nimble#StudioComponentScriptParameterKeyValueList", "traits": { - "smithy.api#documentation": "

Parameters for the studio component scripts.

", - "smithy.api#jsonName": "scriptParameters" + "smithy.api#documentation": "

Parameters for the studio component scripts.

" } }, "studioComponentId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { "smithy.api#documentation": "

The studio component ID.

", "smithy.api#httpLabel": {}, @@ -6740,9 +8132,9 @@ } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6750,20 +8142,18 @@ "subtype": { "target": "com.amazonaws.nimble#StudioComponentSubtype", "traits": { - "smithy.api#documentation": "

The specific subtype of a studio component.

", - "smithy.api#jsonName": "subtype" + "smithy.api#documentation": "

The specific subtype of a studio component.

" } }, "type": { "target": "com.amazonaws.nimble#StudioComponentType", "traits": { - "smithy.api#documentation": "

The type of the studio component.

", - "smithy.api#jsonName": "type" + "smithy.api#documentation": "

The type of the studio component.

" } } }, "traits": { - "smithy.api#documentation": "

The studio component ID.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#UpdateStudioComponentResponse": { @@ -6772,26 +8162,28 @@ "studioComponent": { "target": "com.amazonaws.nimble#StudioComponent", "traits": { - "smithy.api#documentation": "

Information about the studio component.

", - "smithy.api#jsonName": "studioComponent" + "smithy.api#documentation": "

Information about the studio component.

" } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#UpdateStudioRequest": { "type": "structure", "members": { "adminRoleArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

", - "smithy.api#jsonName": "adminRoleArn" + "smithy.api#documentation": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio\n portal.

" } }, "clientToken": { "target": "com.amazonaws.nimble#ClientToken", "traits": { - "smithy.api#documentation": "

To make an idempotent API request using one of these actions, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails with a ValidationException error.

", + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If you don’t specify a client token, the AWS SDK automatically generates a\n client token and uses it for the request to ensure idempotency.

", "smithy.api#httpHeader": "X-Amz-Client-Token", "smithy.api#idempotencyToken": {} } @@ -6800,27 +8192,26 @@ "target": "com.amazonaws.nimble#StudioDisplayName", "traits": { "smithy.api#documentation": "

A friendly name for the studio.

", - "smithy.api#jsonName": "displayName" + "smithy.api#sensitive": {} } }, "studioId": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The studio ID.

", + "smithy.api#documentation": "

The studio ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "userRoleArn": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

", - "smithy.api#jsonName": "userRoleArn" + "smithy.api#documentation": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio\n portal.

" } } }, "traits": { - "smithy.api#documentation": "

The studio ID.

" + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#UpdateStudioResponse": { @@ -6830,37 +8221,38 @@ "target": "com.amazonaws.nimble#Studio", "traits": { "smithy.api#documentation": "

Information about a studio.

", - "smithy.api#jsonName": "studio" + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "" } }, "com.amazonaws.nimble#ValidationException": { "type": "structure", "members": { "code": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A more specific error code.

", - "smithy.api#jsonName": "code" + "smithy.api#documentation": "

A more specific error code.

" } }, "context": { "target": "com.amazonaws.nimble#ExceptionContext", "traits": { - "smithy.api#documentation": "

The exception context.

", - "smithy.api#jsonName": "context" + "smithy.api#documentation": "

The exception context.

" } }, "message": { - "target": "com.amazonaws.nimble#__string", + "target": "com.amazonaws.nimble#String", "traits": { - "smithy.api#documentation": "

A human-readable description of the error.

", - "smithy.api#jsonName": "message" + "smithy.api#documentation": "

A human-readable description of the error.

" } } }, "traits": { + "smithy.api#documentation": "

One of the parameters in the request is invalid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6868,172 +8260,124 @@ "com.amazonaws.nimble#WindowsMountDrive": { "type": "string", "traits": { + "smithy.api#documentation": "", "smithy.api#pattern": "^[A-Z]$" } }, - "com.amazonaws.nimble#__string": { - "type": "string" - }, - "com.amazonaws.nimble#multiValueQueryStringList": { - "type": "list", - "member": { - "target": "com.amazonaws.nimble#__string" - } - }, "com.amazonaws.nimble#nimble": { "type": "service", - "version": "2020-08-01", - "operations": [ - { - "target": "com.amazonaws.nimble#AcceptEulas" - }, - { - "target": "com.amazonaws.nimble#CreateLaunchProfile" - }, - { - "target": "com.amazonaws.nimble#CreateStreamingImage" - }, - { - "target": "com.amazonaws.nimble#CreateStreamingSession" - }, - { - "target": "com.amazonaws.nimble#CreateStreamingSessionStream" - }, - { - "target": "com.amazonaws.nimble#CreateStudio" - }, - { - "target": "com.amazonaws.nimble#CreateStudioComponent" - }, - { - "target": "com.amazonaws.nimble#DeleteLaunchProfile" - }, - { - "target": "com.amazonaws.nimble#DeleteLaunchProfileMember" - }, - { - "target": "com.amazonaws.nimble#DeleteStreamingImage" - }, - { - "target": "com.amazonaws.nimble#DeleteStreamingSession" - }, - { - "target": "com.amazonaws.nimble#DeleteStudio" - }, - { - "target": "com.amazonaws.nimble#DeleteStudioComponent" - }, - { - "target": "com.amazonaws.nimble#DeleteStudioMember" - }, - { - "target": "com.amazonaws.nimble#GetEula" - }, - { - "target": "com.amazonaws.nimble#GetLaunchProfile" - }, - { - "target": "com.amazonaws.nimble#GetLaunchProfileDetails" - }, - { - "target": "com.amazonaws.nimble#GetLaunchProfileInitialization" - }, - { - "target": "com.amazonaws.nimble#GetLaunchProfileMember" - }, - { - "target": "com.amazonaws.nimble#GetStreamingImage" - }, - { - "target": "com.amazonaws.nimble#GetStreamingSession" - }, - { - "target": "com.amazonaws.nimble#GetStreamingSessionStream" - }, - { - "target": "com.amazonaws.nimble#GetStudio" - }, - { - "target": "com.amazonaws.nimble#GetStudioComponent" - }, - { - "target": "com.amazonaws.nimble#GetStudioMember" - }, - { - "target": "com.amazonaws.nimble#ListEulaAcceptances" - }, - { - "target": "com.amazonaws.nimble#ListEulas" - }, - { - "target": "com.amazonaws.nimble#ListLaunchProfileMembers" - }, - { - "target": "com.amazonaws.nimble#ListLaunchProfiles" - }, - { - "target": "com.amazonaws.nimble#ListStreamingImages" - }, - { - "target": "com.amazonaws.nimble#ListStreamingSessions" - }, - { - "target": "com.amazonaws.nimble#ListStudioComponents" + "traits": { + "aws.api#service": { + "sdkId": "nimble", + "arnNamespace": "nimble", + "cloudFormationName": "NimbleStudio", + "cloudTrailEventSource": "nimble.amazonaws.com", + "endpointPrefix": "nimble" }, - { - "target": "com.amazonaws.nimble#ListStudioMembers" + "aws.auth#sigv4": { + "name": "nimble" }, - { - "target": "com.amazonaws.nimble#ListStudios" + "aws.iam#defineConditionKeys": { + "nimble:ownedBy": { + "type": "String", + "documentation": "Filters access based on the ownedBy request parameter or the ID of the owner of the resource", + "externalDocumentation": "${ContextKeysDocRoot}" + }, + "nimble:principalId": { + "type": "String", + "documentation": "Filters access based on the principalId request parameter", + "externalDocumentation": "${ContextKeysDocRoot}" + }, + "nimble:createdBy": { + "type": "String", + "documentation": "Filters access based on the createdBy request parameter or the ID of the creator of the resource", + "externalDocumentation": "${ContextKeysDocRoot}" + }, + "nimble:studioId": { + "type": "String", + "documentation": "Filters access to resources in a specific studio", + "externalDocumentation": "${ContextKeysDocRoot}" + }, + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by a tag key and value pair that is allowed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + }, + "aws:TagKeys": { + "type": "String", + "documentation": "Filters access by a list of tag keys that are allowed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + }, + "nimble:requesterPrincipalId": { + "type": "String", + "documentation": "Filters access to Nimble Studio portal using the ID of the logged in user", + "externalDocumentation": "${ContextKeysDocRoot}" + }, + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by a tag key and value pair of a resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + } }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "authorization", + "x-amz-content-sha256", + "x-amzn-trace-id", + "x-amz-date", + "x-api-key", + "x-amz-client-token", + "x-amz-user-agent", + "*", + "content-type", + "x-amz-dryrun" + ], + "additionalExposedHeaders": [ + "x-amz-apigw-id", + "x-amzn-trace-id", + "x-amzn-errortype", + "x-amzn-requestid" + ] + }, + "smithy.api#documentation": "

Welcome to the Amazon Nimble Studio API reference. This API reference provides\n methods, schema, resources, parameters, and more to help you get the most out of Nimble\n Studio.

\n

Nimble Studio is a virtual studio that empowers visual effects, animation, and\n interactive content teams to create content securely within a scalable, private cloud\n service.

", + "smithy.api#title": "AmazonNimbleStudio" + }, + "version": "2020-08-01", + "operations": [ { "target": "com.amazonaws.nimble#ListTagsForResource" }, { - "target": "com.amazonaws.nimble#PutLaunchProfileMembers" - }, - { - "target": "com.amazonaws.nimble#PutStudioMembers" + "target": "com.amazonaws.nimble#TagResource" }, { - "target": "com.amazonaws.nimble#StartStudioSSOConfigurationRepair" - }, + "target": "com.amazonaws.nimble#UntagResource" + } + ], + "resources": [ { - "target": "com.amazonaws.nimble#TagResource" + "target": "com.amazonaws.nimble#EulaAcceptanceResource" }, { - "target": "com.amazonaws.nimble#UntagResource" + "target": "com.amazonaws.nimble#EulaResource" }, { - "target": "com.amazonaws.nimble#UpdateLaunchProfile" + "target": "com.amazonaws.nimble#LaunchProfileResource" }, { - "target": "com.amazonaws.nimble#UpdateLaunchProfileMember" + "target": "com.amazonaws.nimble#StreamingImageResource" }, { - "target": "com.amazonaws.nimble#UpdateStreamingImage" + "target": "com.amazonaws.nimble#StreamingSessionResource" }, { - "target": "com.amazonaws.nimble#UpdateStudio" + "target": "com.amazonaws.nimble#StudioComponentResource" }, { - "target": "com.amazonaws.nimble#UpdateStudioComponent" + "target": "com.amazonaws.nimble#StudioResource" } - ], - "traits": { - "aws.api#service": { - "sdkId": "nimble", - "arnNamespace": "nimble", - "cloudFormationName": "Nimble", - "cloudTrailEventSource": "nimble.amazonaws.com", - "endpointPrefix": "nimble" - }, - "aws.auth#sigv4": { - "name": "nimble" - }, - "aws.protocols#restJson1": {}, - "smithy.api#title": "AmazonNimbleStudio" - } + ] } } -} +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json b/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json index 8660dc14601..f04e89bdae6 100644 --- a/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json +++ b/codegen/sdk-codegen/aws-models/quicksight.2018-04-01.json @@ -9136,7 +9136,7 @@ "ExperienceConfiguration": { "target": "com.amazonaws.quicksight#RegisteredUserEmbeddingExperienceConfiguration", "traits": { - "smithy.api#documentation": "

The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards or the entire Amazon QuickSight console.

", + "smithy.api#documentation": "

The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, the entire Amazon QuickSight console, or the Amazon QuickSight Q search bar.

", "smithy.api#required": {} } } @@ -9148,7 +9148,7 @@ "EmbedUrl": { "target": "com.amazonaws.quicksight#EmbeddingUrl", "traits": { - "smithy.api#documentation": "

The embed URL for the Amazon QuickSight dashboard or console.

", + "smithy.api#documentation": "

The embed URL for the Amazon QuickSight dashboard, console, or Q search bar.

", "smithy.api#required": {} } }, @@ -14121,12 +14121,32 @@ "traits": { "smithy.api#documentation": "

The configuration details for providing an Amazon QuickSight console embedding experience. This can be used along with custom permissions to restrict access to certain features. For more information, see Customizing Access to the Amazon QuickSight Console in the Amazon QuickSight User\n Guide.

\n

Use GenerateEmbedUrlForRegisteredUser where\n you want to provide an authoring portal that allows users to create data sources,\n datasets, analyses, and dashboards. The users who accesses an embedded Amazon QuickSight console\n needs to belong to the author or admin security cohort. If you want to restrict permissions\n to some of these features, add a custom permissions profile to the user with the\n \n UpdateUser\n API operation. Use \n RegisterUser\n API operation to add a new user with a custom permission profile attached. For more\n information, see the following sections in the Amazon QuickSight User\n Guide:

\n \n

For more information about the high-level steps for embedding and for an interactive demo of the ways you can customize embedding, visit the Amazon QuickSight Developer Portal.

" } + }, + "QSearchBar": { + "target": "com.amazonaws.quicksight#RegisteredUserQSearchBarEmbeddingConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration details for embedding the Q search bar.

\n

For more information about embedding the Q search bar, see Embedding Overview.

" + } } }, "traits": { "smithy.api#documentation": "

The type of experience you want to embed. For registered users, you can embed an Amazon QuickSight dashboard or the Amazon QuickSight console.

\n \n

Exactly one of the experience configurations is required. You can choose Dashboard or QuickSightConsole. You cannot choose more than one experience configuraton.

\n
" } }, + "com.amazonaws.quicksight#RegisteredUserQSearchBarEmbeddingConfiguration": { + "type": "structure", + "members": { + "InitialTopicId": { + "target": "com.amazonaws.quicksight#RestrictiveResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the Q topic that you want to make the starting topic in the Q search bar. You can find a topic ID by navigating to the Topics pane in the Amazon QuickSight application and opening a topic. The ID is in the URL for the topic that you open.

\n

If you don't specify an initial topic, a list of all shared topics is shown in the Q bar for your readers. When you select an initial topic, you can specify whether or not readers are allowed to select other topics from the available ones in the list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the Q search bar embedding experience.

" + } + }, "com.amazonaws.quicksight#RegisteredUserQuickSightConsoleEmbeddingConfiguration": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/rds.2014-10-31.json b/codegen/sdk-codegen/aws-models/rds.2014-10-31.json index 59700556a48..9f3fce7c2bc 100644 --- a/codegen/sdk-codegen/aws-models/rds.2014-10-31.json +++ b/codegen/sdk-codegen/aws-models/rds.2014-10-31.json @@ -165,7 +165,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the feature for the DB cluster that the IAM role is to be associated with. \n For the list of supported feature names, see DBEngineVersion.

" + "smithy.api#documentation": "

The name of the feature for the DB cluster that the IAM role is to be associated with. \n For information about supported feature names, see DBEngineVersion.

" } } } @@ -190,7 +190,7 @@ } ], "traits": { - "smithy.api#documentation": "

Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.

\n \n

To add a role to a DB instance, the status of the DB instance must be available.

\n
" + "smithy.api#documentation": "

Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.

\n \n

To add a role to a DB instance, the status of the DB instance must be available.

\n
\n

This command doesn't apply to RDS Custom.

" } }, "com.amazonaws.rds#AddRoleToDBInstanceMessage": { @@ -213,7 +213,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the feature for the DB instance that the IAM role is to be associated with. \n For the list of supported feature names, see DBEngineVersion.\n

", + "smithy.api#documentation": "

The name of the feature for the DB instance that the IAM role is to be associated with. \n For information about supported feature names, see DBEngineVersion.\n

", "smithy.api#required": {} } } @@ -363,6 +363,9 @@ { "target": "com.amazonaws.rds#CreateCustomAvailabilityZone" }, + { + "target": "com.amazonaws.rds#CreateCustomDBEngineVersion" + }, { "target": "com.amazonaws.rds#CreateDBCluster" }, @@ -411,6 +414,9 @@ { "target": "com.amazonaws.rds#DeleteCustomAvailabilityZone" }, + { + "target": "com.amazonaws.rds#DeleteCustomDBEngineVersion" + }, { "target": "com.amazonaws.rds#DeleteDBCluster" }, @@ -603,6 +609,9 @@ { "target": "com.amazonaws.rds#ModifyCurrentDBClusterCapacity" }, + { + "target": "com.amazonaws.rds#ModifyCustomDBEngineVersion" + }, { "target": "com.amazonaws.rds#ModifyDBCluster" }, @@ -971,6 +980,21 @@ } } }, + "com.amazonaws.rds#AutomationMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "full", + "name": "FULL" + }, + { + "value": "all-paused", + "name": "ALL_PAUSED" + } + ] + } + }, "com.amazonaws.rds#AvailabilityZone": { "type": "structure", "members": { @@ -1130,6 +1154,16 @@ "smithy.api#box": {} } }, + "com.amazonaws.rds#BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#CancelExportTask": { "type": "operation", "input": { @@ -1504,7 +1538,7 @@ } ], "traits": { - "smithy.api#documentation": "

Copies a snapshot of a DB cluster.

\n

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier\n must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

\n\n

You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot action \n is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, \n you must provide the following values:

\n \n \n

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified\n by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

\n

For more information on copying encrypted DB cluster snapshots from one Amazon Web Services Region to another, see \n \n Copying a Snapshot in the Amazon Aurora User Guide.\n

\n

For more information on Amazon Aurora, see \n \n What Is Amazon Aurora? in the Amazon Aurora User Guide.\n

\n \n

This action only applies to Aurora DB clusters.

\n
" + "smithy.api#documentation": "

Copies a snapshot of a DB cluster.

\n

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier\n must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

\n\n

You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot action \n is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, \n you must provide the following values:

\n \n \n

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified\n by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

\n

For more information on copying encrypted DB cluster snapshots from one Amazon Web Services Region to another, see \n \n Copying a Snapshot in the Amazon Aurora User Guide.\n

\n

For more information on Amazon Aurora, see \n \n What Is Amazon Aurora? in the Amazon Aurora User Guide.\n

\n \n

This action only applies to Aurora DB clusters.

\n
" } }, "com.amazonaws.rds#CopyDBClusterSnapshotMessage": { @@ -1527,13 +1561,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

\n \n

If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new Amazon Web Services KMS CMK. \n If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same Amazon Web Services KMS key as the source DB cluster snapshot. \n

\n \n

If you copy an encrypted DB cluster snapshot that is shared from another Amazon Web Services account, then you must specify a value for KmsKeyId.

\n \n

To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier you want to use to encrypt the copy of the DB cluster snapshot \n in the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to the Amazon Web Services Region that they are created in, and you can't use CMKs from one Amazon Web Services Region \n in another Amazon Web Services Region.

\n \n

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, \n an error is returned.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS key.

\n \n

If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS key. \n If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. \n

\n \n

If you copy an encrypted DB cluster snapshot that is shared from another Amazon Web Services account, then you must specify a value for KmsKeyId.

\n \n

To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier \n you want to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services \n Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region \n in another Amazon Web Services Region.

\n \n

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, \n an error is returned.

" } }, "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the Amazon Web Services Region that contains the \n source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another Amazon Web Services Region. \n Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot in the same Amazon Web Services Region.

\n

The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be\n executed in the source Amazon Web Services Region that contains the encrypted DB cluster snapshot to be copied. \n The pre-signed URL request must contain the following parameter values:

\n \n \n \n

To learn how to generate a Signature Version 4 signed request, see \n\n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

\n \n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

\n
" + "smithy.api#documentation": "

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the Amazon Web Services Region that contains the \n source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another Amazon Web Services Region. \n Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot in the same Amazon Web Services Region.

\n

The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be\n executed in the source Amazon Web Services Region that contains the encrypted DB cluster snapshot to be copied. \n The pre-signed URL request must contain the following parameter values:

\n \n \n \n

To learn how to generate a Signature Version 4 signed request, see \n\n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

\n \n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

\n
" } }, "CopyTags": { @@ -1650,7 +1684,7 @@ } ], "traits": { - "smithy.api#documentation": "

Copies the specified DB snapshot. The source DB snapshot must be in the available state.

\n \n

You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services Region\n where you call the CopyDBSnapshot action is the destination Amazon Web Services Region for the\n DB snapshot copy.

\n \n

For more information about copying snapshots, see \n Copying a DB Snapshot in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

Copies the specified DB snapshot. The source DB snapshot must be in the available state.

\n \n

You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services Region\n where you call the CopyDBSnapshot action is the destination Amazon Web Services Region for the\n DB snapshot copy.

\n \n

This command doesn't apply to RDS Custom.

\n \n

For more information about copying snapshots, see \n Copying a DB Snapshot in the Amazon RDS User Guide.\n

" } }, "com.amazonaws.rds#CopyDBSnapshotMessage": { @@ -1673,7 +1707,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). \n

\n \n

If you copy an encrypted DB snapshot from your Amazon Web Services account, \n you can specify a value for this parameter to encrypt the copy with a new Amazon Web Services KMS CMK. \n If you don't specify a value for this parameter, \n then the copy of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the source DB snapshot. \n

\n\n

If you copy an encrypted DB snapshot that is shared from another Amazon Web Services account, \n then you must specify a value for this parameter.\n

\n \n

If you specify this parameter when you copy an unencrypted snapshot, \n the copy is encrypted.\n

\n \n

If you copy an encrypted snapshot to a different Amazon Web Services Region, then you must specify\n a Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to the Amazon Web Services Region\n that they are created in, and you can't use CMKs from one Amazon Web Services Region in another\n Amazon Web Services Region.\n

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. \n

\n \n

If you copy an encrypted DB snapshot from your Amazon Web Services account, \n you can specify a value for this parameter to encrypt the copy with a new KMS key. \n If you don't specify a value for this parameter, \n then the copy of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the source DB snapshot. \n

\n\n

If you copy an encrypted DB snapshot that is shared from another Amazon Web Services account, \n then you must specify a value for this parameter.\n

\n \n

If you specify this parameter when you copy an unencrypted snapshot, \n the copy is encrypted.\n

\n \n

If you copy an encrypted snapshot to a different Amazon Web Services Region, then you must specify\n an Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region\n that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another\n Amazon Web Services Region.\n

" } }, "Tags": { @@ -1688,7 +1722,7 @@ "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The URL that contains a Signature Version 4 signed request for the\n CopyDBSnapshot API action in the source Amazon Web Services Region that contains the\n source DB snapshot to copy.

\n \n

You must specify this parameter when you copy an encrypted DB snapshot from another\n Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are \n copying an encrypted DB snapshot in the same Amazon Web Services Region.

\n \n

The presigned URL must be a valid request for the CopyDBSnapshot API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB snapshot to be copied. \n The presigned URL request must contain the following parameter values:\n

\n \n \n\n\t

To learn how to generate a Signature Version 4 signed request, see \n\t\tAuthenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n\t\tSignature Version 4 Signing Process.\n\t

\n \n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

\n
" + "smithy.api#documentation": "

The URL that contains a Signature Version 4 signed request for the\n CopyDBSnapshot API action in the source Amazon Web Services Region that contains the\n source DB snapshot to copy.

\n \n

You must specify this parameter when you copy an encrypted DB snapshot from another\n Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are \n copying an encrypted DB snapshot in the same Amazon Web Services Region.

\n \n

The presigned URL must be a valid request for the CopyDBSnapshot API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB snapshot to be copied. \n The presigned URL request must contain the following parameter values:\n

\n \n \n\n\t

To learn how to generate a Signature Version 4 signed request, see \n\t\tAuthenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n\t\tSignature Version 4 Signing Process.\n\t

\n \n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

\n
" } }, "OptionGroupName": { @@ -1843,6 +1877,84 @@ } } }, + "com.amazonaws.rds#CreateCustomDBEngineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#CreateCustomDBEngineVersionMessage" + }, + "output": { + "target": "com.amazonaws.rds#DBEngineVersion" + }, + "errors": [ + { + "target": "com.amazonaws.rds#CustomDBEngineVersionAlreadyExistsFault" + }, + { + "target": "com.amazonaws.rds#CustomDBEngineVersionQuotaExceededFault" + }, + { + "target": "com.amazonaws.rds#KMSKeyNotAccessibleFault" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a database engine and \n specific AMI. The only supported engine is Oracle Database 19c Enterprise Edition with the January 2021 \n or later RU/RUR. For \n more information, see \n Amazon RDS Custom requirements and limitations in the Amazon RDS User Guide.

\n

Amazon RDS, which is a fully managed service, supplies the Amazon Machine Image (AMI) and database software.\n The Amazon RDS database software is preinstalled, so you need only select a DB engine and version, and create\n your database. With Amazon RDS Custom, you upload your database installation files in Amazon S3. For \n more information, see \n Preparing to create a CEV in the Amazon RDS User Guide.

\n

When you create a custom engine version, you specify the files in a JSON document called a CEV manifest. \n This document describes installation .zip files stored in Amazon S3. RDS Custom creates your CEV from \n the installation files that you provided. This service model is called Bring Your Own Media (BYOM).

\n

Creation takes approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 with \n the message Creation failed for custom engine version, and includes details about the failure. \n For example, the event prints missing files.

\n

After you create the CEV, it is available for use. You can create multiple CEVs, and create multiple \n RDS Custom instances from any CEV. You can also change the status of a CEV to make it available or\n inactive.

\n \n

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n CreateCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the CreateCustomDbEngineVersion event.

\n
\n

For more information, see \n Creating a CEV in the Amazon RDS User Guide.

" + } + }, + "com.amazonaws.rds#CreateCustomDBEngineVersionMessage": { + "type": "structure", + "members": { + "Engine": { + "target": "com.amazonaws.rds#CustomEngineName", + "traits": { + "smithy.api#documentation": "

The database engine to use for your custom engine version (CEV). The only supported value is \n custom-oracle-ee.

", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.rds#CustomEngineVersion", + "traits": { + "smithy.api#documentation": "

The name of your CEV. The name format is 19.customized_string\n . For example, \n a valid name is 19.my_cev1. This setting is required for RDS Custom, but optional for Amazon RDS. \n The combination of Engine and EngineVersion is unique per customer per Region.

", + "smithy.api#required": {} + } + }, + "DatabaseInstallationFilesS3BucketName": { + "target": "com.amazonaws.rds#BucketName", + "traits": { + "smithy.api#documentation": "

The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid \n bucket name is my-custom-installation-files.

", + "smithy.api#required": {} + } + }, + "DatabaseInstallationFilesS3Prefix": { + "target": "com.amazonaws.rds#String255", + "traits": { + "smithy.api#documentation": "

The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid \n bucket name is 123456789012/cev1. If this setting isn't specified, no prefix is assumed.

" + } + }, + "KMSKeyId": { + "target": "com.amazonaws.rds#KmsKeyIdOrArn", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted CEV. A symmetric KMS key is required for \n RDS Custom, but optional for Amazon RDS.

\n

If you have an existing symmetric KMS key in your account, you can use it with RDS Custom. \n No further action is necessary. If you don't already have a symmetric KMS key in your account, \n follow the instructions in \n Creating symmetric KMS keys in the Amazon Web Services Key Management Service\n Developer Guide.

\n

You can choose the same symmetric key when you create a CEV and a DB instance, or choose different keys.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.rds#Description", + "traits": { + "smithy.api#documentation": "

An optional description of your CEV.

" + } + }, + "Manifest": { + "target": "com.amazonaws.rds#CustomDBEngineVersionManifest", + "traits": { + "smithy.api#documentation": "

The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. \n Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which \n they are listed.

\n

The following JSON fields are valid:

\n
\n
MediaImportTemplateVersion
\n
\n

Version of the CEV manifest. The date is in the format YYYY-MM-DD.

\n
\n
databaseInstallationFileNames
\n
\n

Ordered list of installation files for the CEV.

\n
\n
opatchFileNames
\n
\n

Ordered list of OPatch installers used for the Oracle DB engine.

\n
\n
psuRuPatchFileNames
\n
\n

The PSU and RU patches for this CEV.

\n
\n
OtherPatchFileNames
\n
\n

The patches that are not in the list of PSU and RU patches. \n Amazon RDS applies these patches after applying the PSU and RU patches.

\n
\n
\n

For more information, see \n Creating the CEV manifest in the Amazon RDS User Guide.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.rds#TagList" + } + } + }, "com.amazonaws.rds#CreateDBCluster": { "type": "operation", "input": { @@ -2109,13 +2221,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

When a CMK isn't specified in KmsKeyId:

\n \n

There is a default CMK for your Amazon Web Services account. Your Amazon Web Services account\n has a different default CMK for each Amazon Web Services Region.

\n

If you create a read replica of an encrypted DB cluster in another Amazon Web Services Region, you\n must set KmsKeyId to a Amazon Web Services KMS key identifier that is valid in the destination Amazon Web Services\n Region. This CMK is used to encrypt the read replica in that Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

When a KMS key isn't specified in KmsKeyId:

\n \n

There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account\n has a different default KMS key for each Amazon Web Services Region.

\n

If you create a read replica of an encrypted DB cluster in another Amazon Web Services Region, you\n must set KmsKeyId to a KMS key identifier that is valid in the destination Amazon Web Services\n Region. This KMS key is used to encrypt the read replica in that Amazon Web Services Region.

" } }, "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A URL that contains a Signature Version 4 signed request for \n the CreateDBCluster action to be called in the source Amazon Web Services Region where the DB cluster is replicated from. \n You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

\n \n

The pre-signed URL must be a valid request for the CreateDBCluster API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB cluster to be copied.

\n

The pre-signed URL request must contain the following parameter values:

\n \n \n

To learn how to generate a Signature Version 4 signed request, see \n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

\n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

\n
" + "smithy.api#documentation": "

A URL that contains a Signature Version 4 signed request for \n the CreateDBCluster action to be called in the source Amazon Web Services Region where the DB cluster is replicated from. \n You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

\n \n

The pre-signed URL must be a valid request for the CreateDBCluster API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB cluster to be copied.

\n

The pre-signed URL request must contain the following parameter values:

\n \n \n

To learn how to generate a Signature Version 4 signed request, see \n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

\n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

\n
" } }, "EnableIAMDatabaseAuthentication": { @@ -2408,7 +2520,7 @@ "DBName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The meaning of this parameter differs according to the database engine you use.

\n

\n MySQL\n

\n

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

\n

Constraints:

\n \n

\n MariaDB\n

\n

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

\n

Constraints:

\n \n

\n PostgreSQL\n

\n

The name of the database to create when the DB instance is created. If this parameter isn't specified, a database named postgres \n is created in the DB instance.

\n

Constraints:

\n \n

\n Oracle\n

\n

The Oracle System ID (SID) of the created DB instance.\n If you specify null, the default value ORCL is used.\n You can't specify the string NULL, or any other reserved word, for DBName. \n

\n

Default: ORCL\n

\n

Constraints:

\n \n

\n SQL Server\n

\n

Not applicable. Must be null.

\n

\n Amazon Aurora MySQL\n

\n

The name of the database to create when the primary DB instance of the Aurora MySQL DB cluster is\n created. If this parameter isn't specified for an Aurora MySQL DB cluster, no database is created \n in the DB cluster.

\n

Constraints:

\n \n

\n Amazon Aurora PostgreSQL\n

\n

The name of the database to create when the primary DB instance of the Aurora PostgreSQL DB cluster is\n created. If this parameter isn't specified for an Aurora PostgreSQL DB cluster, \n a database named postgres is created in the DB cluster.

\n

Constraints:

\n " + "smithy.api#documentation": "

The meaning of this parameter differs according to the database engine you use.

\n

\n MySQL\n

\n

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

\n

Constraints:

\n \n

\n MariaDB\n

\n

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

\n

Constraints:

\n \n

\n PostgreSQL\n

\n

The name of the database to create when the DB instance is created. If this parameter isn't specified, a database named postgres \n is created in the DB instance.

\n

Constraints:

\n \n

\n Oracle\n

\n

The Oracle System ID (SID) of the created DB instance.\n If you specify null, the default value ORCL is used.\n You can't specify the string NULL, or any other reserved word, for DBName. \n

\n

Default: ORCL\n

\n

Constraints:

\n \n

\n Amazon RDS Custom\n

\n

The Oracle System ID (SID) of the created RDS Custom DB instance.\n If you don't specify a value, the default value is ORCL.\n

\n

Default: ORCL\n

\n

Constraints:

\n \n

\n SQL Server\n

\n

Not applicable. Must be null.

\n

\n Amazon Aurora MySQL\n

\n

The name of the database to create when the primary DB instance of the Aurora MySQL DB cluster is\n created. If this parameter isn't specified for an Aurora MySQL DB cluster, no database is created \n in the DB cluster.

\n

Constraints:

\n \n

\n Amazon Aurora PostgreSQL\n

\n

The name of the database to create when the primary DB instance of the Aurora PostgreSQL DB cluster is\n created. If this parameter isn't specified for an Aurora PostgreSQL DB cluster, \n a database named postgres is created in the DB cluster.

\n

Constraints:

\n " } }, "DBInstanceIdentifier": { @@ -2421,7 +2533,7 @@ "AllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The amount of storage in gibibytes (GiB) to allocate for the DB instance.

\n

Type: Integer

\n

\n Amazon Aurora\n

\n

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your \n database increases, though you are only charged for the space that you use in an Aurora cluster volume.

\n\n

\n MySQL\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n MariaDB\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n PostgreSQL\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n Oracle\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n SQL Server\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n " + "smithy.api#documentation": "

The amount of storage in gibibytes (GiB) to allocate for the DB instance.

\n

Type: Integer

\n

\n Amazon Aurora\n

\n

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your \n database increases, though you are only charged for the space that you use in an Aurora cluster volume.

\n\n

\n Amazon RDS Custom\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n MySQL\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n MariaDB\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n PostgreSQL\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n Oracle\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n \n \n

\n SQL Server\n

\n

Constraints to the amount of storage for each storage type are the following:\n

\n " } }, "DBInstanceClass": { @@ -2434,7 +2546,7 @@ "Engine": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the database engine to be used for this instance.\n

\n \n

Not every database engine is available for every Amazon Web Services Region.\n

\n\n

Valid Values:\n

\n ", + "smithy.api#documentation": "

The name of the database engine to be used for this instance.\n

\n \n

Not every database engine is available for every Amazon Web Services Region.\n

\n\n

Valid Values:\n

\n ", "smithy.api#required": {} } }, @@ -2483,13 +2595,13 @@ "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then \n the default DB parameter group for the specified DB engine and version is used.

\n

Constraints:

\n " + "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then \n the default DB parameter group for the specified DB engine and version is used.

\n

This setting doesn't apply to RDS Custom.

\n

Constraints:

\n " } }, "BackupRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

\n

\n Amazon Aurora\n

\n

Not applicable. The retention period for automated backups is managed by the DB\n cluster.

\n

Default: 1

\n

Constraints:

\n " + "smithy.api#documentation": "

The number of days for which automated backups are retained. Setting this parameter to a positive number enables \n backups. Setting this parameter to 0 disables automated backups.

\n

\n Amazon Aurora\n

\n

Not applicable. The retention period for automated backups is managed by the DB cluster.

\n

Default: 1

\n

Constraints:

\n " } }, "PreferredBackupWindow": { @@ -2507,25 +2619,25 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set \n the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set \n the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

\n

This setting doesn't apply to RDS Custom.

" } }, "EngineVersion": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The version number of the database engine to use.

\n

For a list of valid engine versions, use the DescribeDBEngineVersions action.

\n

The following are the database engines and links to information about the major and minor versions that are available with \n Amazon RDS. Not every database engine is available for every Amazon Web Services Region.

\n \n

\n Amazon Aurora\n

\n

Not applicable. The version number of the database engine to be used by the DB\n instance is managed by the DB cluster.

\n \n

\n MariaDB\n

\n\n

See MariaDB on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

\n \n

\n Microsoft SQL Server\n

\n \n

See Microsoft SQL Server Versions on Amazon RDS in the \n Amazon RDS User Guide.\n

\n \n

\n MySQL\n

\n\n

See MySQL on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

\n \n

\n Oracle\n

\n \n

See Oracle Database Engine Release Notes in the \n Amazon RDS User Guide.\n

\n\n

\n PostgreSQL\n

\n\n

See Amazon RDS for PostgreSQL versions and extensions in the \n Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

The version number of the database engine to use.

\n

For a list of valid engine versions, use the DescribeDBEngineVersions action.

\n

The following are the database engines and links to information about the major and minor versions that are available with \n Amazon RDS. Not every database engine is available for every Amazon Web Services Region.

\n \n

\n Amazon Aurora\n

\n

Not applicable. The version number of the database engine to be used by the DB\n instance is managed by the DB cluster.

\n \n

\n Amazon RDS Custom\n

\n

A custom engine version (CEV) that you have previously created. This setting is required for RDS Custom. The CEV \n name has the following format: 19.customized_string\n . An example identifier is \n 19.my_cev1. For more information, see \n Creating an RDS Custom DB instance in the Amazon RDS User Guide..

\n \n

\n MariaDB\n

\n\n

See MariaDB on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

\n \n

\n Microsoft SQL Server\n

\n \n

See Microsoft SQL Server Versions on Amazon RDS in the \n Amazon RDS User Guide.\n

\n \n

\n MySQL\n

\n\n

See MySQL on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

\n \n

\n Oracle\n

\n \n

See Oracle Database Engine Release Notes in the \n Amazon RDS User Guide.\n

\n\n

\n PostgreSQL\n

\n\n

See Amazon RDS for PostgreSQL versions and extensions in the \n Amazon RDS User Guide.\n

" } }, "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. \n By default, minor engine upgrades are applied automatically.

" + "smithy.api#documentation": "

A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. \n By default, minor engine upgrades are applied automatically.

\n

If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade to \n false.

" } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

License model information for this DB instance.

\n

\n Valid values: license-included | bring-your-own-license | general-public-license\n

" + "smithy.api#documentation": "

License model information for this DB instance.

\n

\n Valid values: license-included | bring-your-own-license | general-public-license\n

\n

This setting doesn't apply to RDS Custom.

" } }, "Iops": { @@ -2537,19 +2649,19 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A value that indicates that the DB instance should be associated with the specified option group.

\n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance

" + "smithy.api#documentation": "

A value that indicates that the DB instance should be associated with the specified option group.

\n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed \n from an option group. Also, that option group can't be removed from a DB instance after it is \n associated with a DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "CharacterSetName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

\n \n

\n Amazon Aurora\n

\n

Not applicable. The character set is managed by\n the DB cluster. For more information, see CreateDBCluster.

" + "smithy.api#documentation": "

For supported engines, this value indicates that the DB instance should be associated with the \n specified CharacterSet.

\n

This setting doesn't apply to RDS Custom. However, if you need to change the character set, \n you can change it on the database itself.

\n

\n Amazon Aurora\n

\n

Not applicable. The character set is managed by\n the DB cluster. For more information, see CreateDBCluster.

" } }, "NcharCharacterSetName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the NCHAR character set for the Oracle DB instance.

" + "smithy.api#documentation": "

The name of the NCHAR character set for the Oracle DB instance.

\n

This parameter doesn't apply to RDS Custom.

" } }, "PubliclyAccessible": { @@ -2567,7 +2679,7 @@ "DBClusterIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The identifier of the DB cluster that the instance will belong to.

" + "smithy.api#documentation": "

The identifier of the DB cluster that the instance will belong to.

\n

This setting doesn't apply to RDS Custom.

" } }, "StorageType": { @@ -2579,31 +2691,31 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

" + "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

\n

This setting doesn't apply to RDS Custom.

" } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

" + "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

\n

This setting doesn't apply to RDS Custom.

" } }, "StorageEncrypted": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

\n \n

\n Amazon Aurora\n

\n

Not applicable. The encryption for DB instances is managed by\n the DB cluster.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

\n

For RDS Custom Oracle instances, either set this parameter to true or leave it unset. \n If you set this parameter to false, RDS reports an error.

\n

\n Amazon Aurora\n

\n

Not applicable. The encryption for DB instances is managed by the DB cluster.

" } }, "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB instance.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

\n Amazon Aurora\n

\n

Not applicable. The Amazon Web Services KMS key identifier is managed by\n the DB cluster. For more information, see CreateDBCluster.

\n

If StorageEncrypted is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS uses your default CMK. There is a \n default CMK for your Amazon Web Services account. Your Amazon Web Services account has a different\n default CMK for each Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB instance.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

\n Amazon Aurora\n

\n

Not applicable. The Amazon Web Services KMS key identifier is managed by\n the DB cluster. For more information, see CreateDBCluster.

\n

If StorageEncrypted is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS uses your default KMS key. There is a \n default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different\n default KMS key for each Amazon Web Services Region.

\n

\n Amazon RDS Custom\n

\n

A KMS key is required for RDS Custom Oracle instances. For most RDS engines, if you leave this parameter empty \n while enabling StorageEncrypted, the engine uses the default KMS key. However, RDS Custom for Oracle \n doesn't use the default key when this parameter is empty. You must explicitly specify a key.

" } }, "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "CopyTagsToSnapshot": { @@ -2615,25 +2727,25 @@ "MonitoringInterval": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

\n

If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

\n

Valid Values: 0, 1, 5, 10, 15, 30, 60\n

" + "smithy.api#documentation": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for \n the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.

\n

If MonitoringRoleArn is specified, then you must set MonitoringInterval\n to a value other than 0.

\n

This setting doesn't apply to RDS Custom.

\n

Valid Values: 0, 1, 5, 10, 15, 30, 60\n

" } }, "MonitoringRoleArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to Setting Up and Enabling Enhanced Monitoring \n in the Amazon RDS User Guide.

\n

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n see Setting Up and Enabling Enhanced Monitoring \n in the Amazon RDS User Guide.

\n

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

\n

This setting doesn't apply to RDS Custom.

" } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

\n

This setting doesn't apply to RDS Custom.

" } }, "PromotionTier": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.\n

\n

Default: 1

\n

Valid Values: 0 - 15

" + "smithy.api#documentation": "

A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. \n

\n

This setting doesn't apply to RDS Custom.

\n

Default: 1

\n

Valid Values: 0 - 15

" } }, "Timezone": { @@ -2645,37 +2757,37 @@ "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

\n \n

For more information, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n

This setting doesn't apply to RDS Custom or Amazon Aurora. In Aurora, mapping Amazon Web Services IAM accounts \n to database accounts is managed by the DB cluster.

\n

For more information, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" } }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable Performance Insights for the DB instance.\n

\n

For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable Performance Insights for the DB instance. For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

\n

This setting doesn't apply to RDS Custom.

" } }, "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" + "smithy.api#documentation": "

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database\n Service User Guide.

\n

\n Amazon Aurora\n

\n

Not applicable. CloudWatch Logs exports are managed by the DB cluster.\n

\n

\n MariaDB\n

\n

Possible values are audit, error, general, and slowquery. \n

\n

\n Microsoft SQL Server\n

\n

Possible values are agent and error.\n

\n

\n MySQL\n

\n

Possible values are audit, error, general, and slowquery. \n

\n

\n Oracle\n

\n

Possible values are alert, audit, listener, trace, and\n oemagent.\n

\n

\n PostgreSQL\n

\n

Possible values are postgresql and upgrade.\n

" + "smithy.api#documentation": "

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values\n in the list depend on the DB engine. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database\n Service User Guide.

\n

\n Amazon Aurora\n

\n

Not applicable. CloudWatch Logs exports are managed by the DB cluster.\n

\n

\n RDS Custom\n

\n

Not applicable.\n

\n

\n MariaDB\n

\n

Possible values are audit, error, general, and slowquery. \n

\n

\n Microsoft SQL Server\n

\n

Possible values are agent and error.\n

\n

\n MySQL\n

\n

Possible values are audit, error, general, and slowquery. \n

\n

\n Oracle\n

\n

Possible values are alert, audit, listener, trace, and\n oemagent.\n

\n

\n PostgreSQL\n

\n

Possible values are postgresql and upgrade.\n

" } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" + "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "DeletionProtection": { @@ -2687,7 +2799,7 @@ "MaxAllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableCustomerOwnedIp": { @@ -2695,6 +2807,12 @@ "traits": { "smithy.api#documentation": "

A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS\n on Outposts DB instance.

\n

A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

\n

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

\n

For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

" } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

\n

This setting is required for RDS Custom.

" + } } }, "traits": { @@ -2785,7 +2903,7 @@ "SourceDBInstanceIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The identifier of the DB instance that will act as the source for the read replica.\n Each DB instance can have up to five read replicas.

\n

Constraints:

\n ", + "smithy.api#documentation": "

The identifier of the DB instance that will act as the source for the read replica.\n Each DB instance can have up to five read replicas.

\n

Constraints:

\n ", "smithy.api#required": {} } }, @@ -2810,13 +2928,13 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the read replica is in a Multi-AZ deployment.

\n \n

You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of\n your replica in another Availability Zone for failover support for the replica. Creating\n your read replica as a Multi-AZ DB instance is independent of whether the source\n database is a Multi-AZ DB instance.

" + "smithy.api#documentation": "

A value that indicates whether the read replica is in a Multi-AZ deployment.

\n \n

You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of\n your replica in another Availability Zone for failover support for the replica. Creating\n your read replica as a Multi-AZ DB instance is independent of whether the source\n database is a Multi-AZ DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether minor engine upgrades are applied automatically to the\n read replica during the maintenance window.

\n

Default: Inherits from the source DB instance

" + "smithy.api#documentation": "

A value that indicates whether minor engine upgrades are applied automatically to the\n read replica during the maintenance window.

\n

This setting doesn't apply to RDS Custom.

\n

Default: Inherits from the source DB instance

" } }, "Iops": { @@ -2828,13 +2946,13 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

\n \n

For SQL Server, you must use the option group associated with the source\n instance.

\n
" + "smithy.api#documentation": "

The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

\n \n

For SQL Server, you must use the option group associated with the source\n instance.

\n
\n

This setting doesn't apply to RDS Custom.

" } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance.

\n

If you do not specify a value for DBParameterGroupName, then Amazon RDS\n uses the DBParameterGroup of source DB instance for a same region read\n replica, or the default DBParameterGroup for the specified DB engine for a\n cross region read replica.

\n \n

Currently, specifying a parameter group for this operation is only supported for Oracle DB instances.

\n
\n

Constraints:

\n " + "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance.

\n

If you do not specify a value for DBParameterGroupName, then Amazon RDS\n uses the DBParameterGroup of source DB instance for a same region read\n replica, or the default DBParameterGroup for the specified DB engine for a\n cross region read replica.

\n

Specifying a parameter group for this operation is only supported for Oracle DB instances. It \n isn't supported for RDS Custom.

\n

Constraints:

\n " } }, "PubliclyAccessible": { @@ -2855,7 +2973,7 @@ "VpcSecurityGroupIds": { "target": "com.amazonaws.rds#VpcSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

A list of EC2 VPC security groups to associate with the read replica.

\n

\n Default: The default EC2 VPC security group for the DB subnet group's VPC.\n

" + "smithy.api#documentation": "

A list of Amazon EC2 VPC security groups to associate with the read replica.

\n

This setting doesn't apply to RDS Custom.

\n

\n Default: The default EC2 VPC security group for the DB subnet group's VPC.\n

" } }, "StorageType": { @@ -2873,67 +2991,67 @@ "MonitoringInterval": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The interval, in seconds, between points when Enhanced Monitoring metrics are\n collected for the read replica. To disable collecting Enhanced Monitoring metrics,\n specify 0. The default is 0.

\n

If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

\n

Valid Values: 0, 1, 5, 10, 15, 30, 60\n

" + "smithy.api#documentation": "

The interval, in seconds, between points when Enhanced Monitoring metrics are\n collected for the read replica. To disable collecting Enhanced Monitoring metrics,\n specify 0. The default is 0.

\n

If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

\n

This setting doesn't apply to RDS Custom.

\n

Valid Values: 0, 1, 5, 10, 15, 30, 60\n

" } }, "MonitoringRoleArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

\n

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

\n

If MonitoringInterval is set to a value other than 0, then you must \n supply a MonitoringRoleArn value.

\n

This setting doesn't apply to RDS Custom.

" } }, "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted read replica.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS CMK.

\n

If you create an encrypted read replica in the same Amazon Web Services Region as the source DB\n instance, then do not specify a value for this parameter. A read replica in the same Region\n is always encrypted with the same Amazon Web Services KMS CMK as the source DB instance.

\n

If you create an encrypted read replica in a different Amazon Web Services Region, then you must\n specify a Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to\n the Amazon Web Services Region that they are created in, and you can't use CMKs from one\n Amazon Web Services Region in another Amazon Web Services Region.

\n

You can't create an encrypted read replica from an unencrypted DB instance.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted read replica.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

\n

If you create an encrypted read replica in the same Amazon Web Services Region as the source DB\n instance, then do not specify a value for this parameter. A read replica in the same Amazon Web Services Region\n is always encrypted with the same KMS key as the source DB instance.

\n

If you create an encrypted read replica in a different Amazon Web Services Region, then you must\n specify a KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to\n the Amazon Web Services Region that they are created in, and you can't use KMS keys from one\n Amazon Web Services Region in another Amazon Web Services Region.

\n

You can't create an encrypted read replica from an unencrypted DB instance.

\n

This setting doesn't apply to RDS Custom, which uses the same KMS key as the primary \n replica.

" } }, "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action \n in the source Amazon Web Services Region that contains the source DB instance.\n

\n \n

You must specify this parameter when you create an encrypted read replica from\n another Amazon Web Services Region by using the Amazon RDS API. Don't specify\n PreSignedUrl when you are creating an encrypted read replica in the\n same Amazon Web Services Region.

\n \n

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted source DB instance. \n The presigned URL request must contain the following parameter values:\n

\n \n \n \n

To learn how to generate a Signature Version 4 signed request, see \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n Signature Version 4 Signing Process.\n

\n \n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify\n SourceRegion (or --source-region for the CLI)\n instead of specifying PreSignedUrl manually. Specifying\n SourceRegion autogenerates a presigned URL that is a valid request\n for the operation that can be executed in the source Amazon Web Services Region.

\n

\n SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS\n doesn't support cross-region read replicas.

\n
" + "smithy.api#documentation": "

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action \n in the source Amazon Web Services Region that contains the source DB instance.\n

\n \n

You must specify this parameter when you create an encrypted read replica from\n another Amazon Web Services Region by using the Amazon RDS API. Don't specify\n PreSignedUrl when you are creating an encrypted read replica in the\n same Amazon Web Services Region.

\n \n

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted source DB instance. \n The presigned URL request must contain the following parameter values:\n

\n \n \n \n

To learn how to generate a Signature Version 4 signed request, see \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n Signature Version 4 Signing Process.\n

\n \n \n

If you are using an Amazon Web Services SDK tool or the CLI, you can specify\n SourceRegion (or --source-region for the CLI)\n instead of specifying PreSignedUrl manually. Specifying\n SourceRegion autogenerates a presigned URL that is a valid request\n for the operation that can be executed in the source Amazon Web Services Region.

\n

\n SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS\n doesn't support cross-region read replicas.

\n
\n

This setting doesn't apply to RDS Custom.

" } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable Performance Insights for the read replica.

\n

For more information, see Using\n Amazon Performance Insights in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable Performance Insights for the read replica.

\n

For more information, see Using\n Amazon Performance Insights in the Amazon RDS User Guide.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

\n

This setting doesn't apply to RDS Custom.

" } }, "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" + "smithy.api#documentation": "

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

The list of logs that the new DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing\n Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The list of logs that the new DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing\n Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" + "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

\n

This setting doesn't apply to RDS Custom.

" } }, "DeletionProtection": { @@ -2945,19 +3063,19 @@ "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

\n

This setting doesn't apply to RDS Custom.

" } }, "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

The open mode of the replica database: mounted or read-only.

\n \n

This parameter is only supported for Oracle DB instances.

\n
\n

Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

\n

You can create a combination of mounted and read-only DB replicas for the same primary DB instance.\n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The open mode of the replica database: mounted or read-only.

\n \n

This parameter is only supported for Oracle DB instances.

\n
\n

Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

\n

You can create a combination of mounted and read-only DB replicas for the same primary DB instance.\n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

\n

For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. \n After replica creation, you can manage the open mode manually.

" } }, "MaxAllocatedStorage": { @@ -2965,6 +3083,12 @@ "traits": { "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

" } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

\n

This setting is required for RDS Custom.

" + } } } }, @@ -3001,7 +3125,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new DB parameter group.

\n

\n A DB parameter group is initially created with the default parameters for the\n database engine used by the DB instance. To provide custom values for any of the\n parameters, you must modify the group after creating it using\n ModifyDBParameterGroup. Once you've created a DB parameter group, you need to\n associate it with your DB instance using ModifyDBInstance. When you associate\n a new DB parameter group with a running DB instance, you need to reboot the DB\n instance without failover for the new DB parameter group and associated settings to take effect. \n

\n \n

After you create a DB parameter group, you should wait at least 5 minutes\n before creating your first DB instance that uses that DB parameter group as the default parameter \n group. This allows Amazon RDS to fully complete the create action before the parameter \n group is used as the default for a new DB instance. This is especially important for parameters \n that are critical when creating the default database for a DB instance, such as the character set \n for the default database defined by the character_set_database parameter. You can use the \n Parameter Groups option of the Amazon RDS console or the \n DescribeDBParameters command to verify \n that your DB parameter group has been created or modified.

\n
" + "smithy.api#documentation": "

Creates a new DB parameter group.

\n

\n A DB parameter group is initially created with the default parameters for the\n database engine used by the DB instance. To provide custom values for any of the\n parameters, you must modify the group after creating it using\n ModifyDBParameterGroup. Once you've created a DB parameter group, you need to\n associate it with your DB instance using ModifyDBInstance. When you associate\n a new DB parameter group with a running DB instance, you need to reboot the DB\n instance without failover for the new DB parameter group and associated settings to take effect. \n

\n

This command doesn't apply to RDS Custom.

\n \n

After you create a DB parameter group, you should wait at least 5 minutes\n before creating your first DB instance that uses that DB parameter group as the default parameter \n group. This allows Amazon RDS to fully complete the create action before the parameter \n group is used as the default for a new DB instance. This is especially important for parameters \n that are critical when creating the default database for a DB instance, such as the character set \n for the default database defined by the character_set_database parameter. You can use the \n Parameter Groups option of the Amazon RDS console or the \n DescribeDBParameters command to verify \n that your DB parameter group has been created or modified.

\n
" } }, "com.amazonaws.rds#CreateDBParameterGroupMessage": { @@ -3612,7 +3736,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new option group. You can create up to 20 option groups.

" + "smithy.api#documentation": "

Creates a new option group. You can create up to 20 option groups.

\n

This command doesn't apply to RDS Custom.

" } }, "com.amazonaws.rds#CreateOptionGroupMessage": { @@ -3774,6 +3898,106 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.rds#CustomDBEngineVersionAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CustomDBEngineVersionAlreadyExistsFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

A CEV with the specified name already exists.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.rds#CustomDBEngineVersionManifest": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 51000 + }, + "smithy.api#pattern": "^[\\s\\S]*$" + } + }, + "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CustomDBEngineVersionNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

The specified CEV was not found.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.rds#CustomDBEngineVersionQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CustomDBEngineVersionQuotaExceededFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

You have exceeded your CEV quota.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.rds#CustomEngineName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 35 + }, + "smithy.api#pattern": "^[A-Za-z0-9-]{1,35}$" + } + }, + "com.amazonaws.rds#CustomEngineVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 60 + }, + "smithy.api#pattern": "^(11\\.\\d{1}|12\\.\\d{1}|18|19)(\\.[a-zA-Z0-9_.-]{1,50})$" + } + }, + "com.amazonaws.rds#CustomEngineVersionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "available", + "name": "available" + }, + { + "value": "inactive", + "name": "inactive" + }, + { + "value": "inactive-except-restore", + "name": "inactive_except_restore" + } + ] + } + }, "com.amazonaws.rds#DBCluster": { "type": "structure", "members": { @@ -3960,13 +4184,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier for the encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier for the encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "DbClusterResourceId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services Region-unique, immutable identifier for the DB cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever \n the Amazon Web Services KMS CMK for the DB cluster is accessed.

" + "smithy.api#documentation": "

The Amazon Web Services Region-unique, immutable identifier for the DB cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever \n the KMS key for the DB cluster is accessed.

" } }, "DBClusterArn": { @@ -4065,7 +4289,7 @@ "ActivityStreamKmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "ActivityStreamKinesisStreamName": { @@ -4678,7 +4902,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For the list of supported feature names, see DBEngineVersion.\n

" + "smithy.api#documentation": "

The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For information about supported feature names, see DBEngineVersion.\n

" } } }, @@ -4854,7 +5078,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "DBClusterSnapshotArn": { @@ -5085,7 +5309,7 @@ "SupportedFeatureNames": { "target": "com.amazonaws.rds#FeatureNameList", "traits": { - "smithy.api#documentation": "

\n A list of features supported by the DB engine. Supported feature names include the following.\n

\n " + "smithy.api#documentation": "

\n A list of features supported by the DB engine.\n

\n

The supported features vary by DB engine and DB engine version.

\n

To determine the supported features for a specific DB engine and DB engine version using the CLI, \n use the following command:

\n

\n aws rds describe-db-engine-versions --engine --engine-version \n

\n

For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, \n use the following command:

\n

\n aws rds describe-db-engine-versions --engine postgres --engine-version 13.3\n

\n

The supported features are listed under SupportedFeatureNames in the output.

" } }, "Status": { @@ -5105,6 +5329,45 @@ "traits": { "smithy.api#documentation": "

A value that indicates whether you can use Aurora global databases with a specific DB engine version.

" } + }, + "MajorEngineVersion": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The major engine version of the CEV.

" + } + }, + "DatabaseInstallationFilesS3BucketName": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket that contains your database installation files.

" + } + }, + "DatabaseInstallationFilesS3Prefix": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The Amazon S3 directory that contains the database installation files. \n If not specified, then no prefix is assumed.

" + } + }, + "DBEngineVersionArn": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The ARN of the custom engine version.

" + } + }, + "KMSKeyId": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for \n RDS Custom, but optional for Amazon RDS.

" + } + }, + "CreateTime": { + "target": "com.amazonaws.rds#TStamp", + "traits": { + "smithy.api#documentation": "

The creation time of the DB engine version.

" + } + }, + "TagList": { + "target": "com.amazonaws.rds#TagList" } }, "traits": { @@ -5266,7 +5529,7 @@ "MultiAZ": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

Specifies if the DB instance is a Multi-AZ deployment.

" + "smithy.api#documentation": "

Specifies if the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom.

" } }, "EngineVersion": { @@ -5308,7 +5571,7 @@ "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

License model information for this DB instance.

" + "smithy.api#documentation": "

License model information for this DB instance. This setting doesn't apply to RDS Custom.

" } }, "Iops": { @@ -5386,13 +5649,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n If StorageEncrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB instance.\n

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

\n If StorageEncrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB instance.\n

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "DbiResourceId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in Amazon Web Services CloudTrail log \n entries whenever the Amazon Web Services KMS customer master key (CMK) for the DB instance is accessed.

" + "smithy.api#documentation": "

The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in Amazon Web Services CloudTrail log \n entries whenever the Amazon Web Services KMS key for the DB instance is accessed.

" } }, "CACertificateIdentifier": { @@ -5464,7 +5727,7 @@ "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "PerformanceInsightsRetentionPeriod": { @@ -5539,7 +5802,7 @@ "ActivityStreamKmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS \n customer master key (CMK).

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "ActivityStreamKinesisStreamName": { @@ -5559,6 +5822,24 @@ "traits": { "smithy.api#documentation": "

Indicates whether engine-native audit fields are included in the database activity stream.

" } + }, + "AutomationMode": { + "target": "com.amazonaws.rds#AutomationMode", + "traits": { + "smithy.api#documentation": "

The automation mode of the RDS Custom DB instance: full or all paused. \n If full, the DB instance automates monitoring and instance recovery. If \n all paused, the instance pauses automation for the duration set by \n --resume-full-automation-mode-minutes.

" + } + }, + "ResumeFullAutomationModeTime": { + "target": "com.amazonaws.rds#TStamp", + "traits": { + "smithy.api#documentation": "

The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. \n The minimum value is 60 (default). The maximum value is 1,440.\n

" + } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

" + } } }, "traits": { @@ -5708,7 +5989,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key ID for an automated backup.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

The Amazon Web Services KMS key ID for an automated backup.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "Timezone": { @@ -5890,7 +6171,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For the list of supported feature names, see DBEngineVersion.\n

" + "smithy.api#documentation": "

The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For information about supported feature names, see DBEngineVersion.\n

" } }, "Status": { @@ -7078,7 +7359,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n If Encrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB snapshot.\n

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

\n If Encrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB snapshot.\n

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "DBSnapshotArn": { @@ -7469,6 +7750,45 @@ } } }, + "com.amazonaws.rds#DeleteCustomDBEngineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#DeleteCustomDBEngineVersionMessage" + }, + "output": { + "target": "com.amazonaws.rds#DBEngineVersion" + }, + "errors": [ + { + "target": "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault" + }, + { + "target": "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

\n \n

Typically, deletion takes a few minutes.

\n \n

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the DeleteCustomDbEngineVersion event.

\n
\n

For more information, see \n Deleting a CEV in the Amazon RDS User Guide.

" + } + }, + "com.amazonaws.rds#DeleteCustomDBEngineVersionMessage": { + "type": "structure", + "members": { + "Engine": { + "target": "com.amazonaws.rds#CustomEngineName", + "traits": { + "smithy.api#documentation": "

The database engine. The only supported engine is custom-oracle-ee.

", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.rds#CustomEngineVersion", + "traits": { + "smithy.api#documentation": "

The custom engine version (CEV) for your DB instance. This option is required for \n RDS Custom, but optional for Amazon RDS. The combination of Engine and \n EngineVersion is unique per customer per Amazon Web Services Region.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.rds#DeleteDBCluster": { "type": "operation", "input": { @@ -7707,7 +8027,7 @@ "DBInstanceAutomatedBackupsArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the automated backups to delete, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the automated backups to delete, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

\n

This setting doesn't apply to RDS Custom.

" } } }, @@ -7736,13 +8056,13 @@ "SkipFinalSnapshot": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted.\n If skip is specified, no DB snapshot is created. If skip isn't specified, a DB snapshot \n is created before the DB instance is deleted. By default, skip isn't specified, and the DB snapshot is created.

\n

When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when skip is specified.

\n

Specify skip when deleting a read replica.

\n \n

The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.

\n
" + "smithy.api#documentation": "

A value that indicates whether to skip the creation of a final DB snapshot before deleting the instance.\n If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, \n RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, \n and the DB snapshot is created.

\n \n

If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

\n
\n

When a DB instance is in a failure state and has a status of failed, incompatible-restore, \n or incompatible-network, RDS can delete the instance only if you enable this parameter.

\n

If you delete a read replica or an RDS Custom instance, you must enable this setting.

\n

This setting is required for RDS Custom.

" } }, "FinalDBSnapshotIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot\n parameter is disabled.\n

\n \n

Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error.

\n
\n

Constraints:

\n " + "smithy.api#documentation": "

\n The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot\n parameter is disabled.\n

\n \n

If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

\n
\n

This setting doesn't apply to RDS Custom.

\n

Constraints:

\n " } }, "DeleteAutomatedBackups": { @@ -8936,13 +9256,13 @@ "ListSupportedCharacterSets": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to list the supported character sets for each engine version.

\n

If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, \n the response includes a list of supported character sets for each engine version.\n

" + "smithy.api#documentation": "

A value that indicates whether to list the supported character sets for each engine version.

\n

If this parameter is enabled and the requested engine supports the CharacterSetName parameter for\n CreateDBInstance, the response includes a list of supported character sets for each engine\n version.

\n

For RDS Custom, the default is not to list supported character sets. If you set ListSupportedCharacterSets\n to true, RDS Custom returns no results.\n

" } }, "ListSupportedTimezones": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to list the supported time zones for each engine version.

\n

If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, \n the response includes a list of supported time zones for each engine version.\n

" + "smithy.api#documentation": "

A value that indicates whether to list the supported time zones for each engine version.

\n

If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, \n the response includes a list of supported time zones for each engine version.\n

\n

For RDS Custom, the default is not to list supported time zones. If you set ListSupportedTimezones\n to true, RDS Custom returns no results.\n

" } }, "IncludeAll": { @@ -9012,7 +9332,7 @@ "DBInstanceAutomatedBackupsArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replicated automated backups, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replicated automated backups, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

\n

This setting doesn't apply to RDS Custom.

" } } }, @@ -9220,7 +9540,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of DB log files for the DB instance.

", + "smithy.api#documentation": "

Returns a list of DB log files for the DB instance.

\n

This command doesn't apply to RDS Custom.

", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -10054,13 +10374,13 @@ "IncludeShared": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

A value that indicates whether to include shared manual DB cluster snapshots \n from other Amazon Web Services accounts that this Amazon Web Services account has been given \n permission to copy or restore. By default, these snapshots are not included.

\n

You can give an Amazon Web Services account permission to restore a manual DB snapshot from\n another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

" + "smithy.api#documentation": "

A value that indicates whether to include shared manual DB cluster snapshots \n from other Amazon Web Services accounts that this Amazon Web Services account has been given \n permission to copy or restore. By default, these snapshots are not included.

\n

You can give an Amazon Web Services account permission to restore a manual DB snapshot from\n another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

\n

This setting doesn't apply to RDS Custom.

" } }, "IncludePublic": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

A value that indicates whether to include manual DB cluster snapshots that are public and can be copied \n or restored by any Amazon Web Services account. By default, the public snapshots are not included.

\n

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

" + "smithy.api#documentation": "

A value that indicates whether to include manual DB cluster snapshots that are public and can be copied \n or restored by any Amazon Web Services account. By default, the public snapshots are not included.

\n

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

\n

This setting doesn't apply to RDS Custom.

" } }, "DbiResourceId": { @@ -10449,7 +10769,7 @@ "Filters": { "target": "com.amazonaws.rds#FilterList", "traits": { - "smithy.api#documentation": "

Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to\n include in the output. Filter names and values are case-sensitive.

\n

Supported filters include the following:

\n " + "smithy.api#documentation": "

Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to\n include in the output. Filter names and values are case-sensitive.

\n

Supported filters include the following:

\n " } }, "Marker": { @@ -10737,19 +11057,19 @@ "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

" + "smithy.api#documentation": "

The license model filter value. Specify this parameter to show only the available offerings \n matching the specified license model.

\n

RDS Custom supports only the BYOL licensing model.

" } }, "AvailabilityZoneGroup": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

\n

Omit this parameter to show the available offerings in the specified Amazon Web Services Region.

" + "smithy.api#documentation": "

The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

\n

Omit this parameter to show the available offerings in the specified Amazon Web Services Region.

\n

This setting doesn't apply to RDS Custom.

" } }, "Vpc": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to show only VPC or non-VPC offerings.

" + "smithy.api#documentation": "

A value that indicates whether to show only VPC or non-VPC offerings. RDS Custom supports \n only VPC offerings.

\n

RDS Custom supports only VPC offerings. If you describe non-VPC offerings for RDS Custom, the output \n shows VPC offerings.

" } }, "Filters": { @@ -11079,7 +11399,7 @@ } ], "traits": { - "smithy.api#documentation": "

You can call DescribeValidDBInstanceModifications \n to learn what modifications you can make to your DB instance.\n You can use this information when you call \n ModifyDBInstance.\n

" + "smithy.api#documentation": "

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to \n your DB instance. You can use this information when you call ModifyDBInstance.\n

\n

This command doesn't apply to RDS Custom.

" } }, "com.amazonaws.rds#DescribeValidDBInstanceModificationsMessage": { @@ -11105,6 +11425,16 @@ } } }, + "com.amazonaws.rds#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#DomainMembership": { "type": "structure", "members": { @@ -11221,7 +11551,7 @@ } ], "traits": { - "smithy.api#documentation": "

Downloads all or a portion of the specified log file, up to 1 MB in size.

", + "smithy.api#documentation": "

Downloads all or a portion of the specified log file, up to 1 MB in size.

\n

This command doesn't apply to RDS Custom.

", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -11705,7 +12035,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The key identifier of the Amazon Web Services KMS customer master key (CMK) that is used to encrypt the snapshot when it's exported to\n Amazon S3. The Amazon Web Services KMS CMK identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export\n must have encryption and decryption permissions to use this Amazon Web Services KMS CMK.

" + "smithy.api#documentation": "

The key identifier of the Amazon Web Services KMS key that is used to encrypt the snapshot when it's exported to\n Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export\n must have encryption and decryption permissions to use this KMS key.

" } }, "Status": { @@ -12011,7 +12341,7 @@ "GlobalClusterResourceId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in\n Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS customer master key (CMK) for the DB cluster is accessed.\n

" + "smithy.api#documentation": "

\n The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in\n Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.\n

" } }, "GlobalClusterArn": { @@ -12563,6 +12893,23 @@ "smithy.api#box": {} } }, + "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidCustomDBEngineVersionStateFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

You can't delete the CEV.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.rds#InvalidDBClusterCapacityFault": { "type": "structure", "members": { @@ -12994,6 +13341,16 @@ "target": "com.amazonaws.rds#String" } }, + "com.amazonaws.rds#KmsKeyIdOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_:\\-\\/]+$" + } + }, "com.amazonaws.rds#ListTagsForResource": { "type": "operation", "input": { @@ -13193,6 +13550,57 @@ } } }, + "com.amazonaws.rds#ModifyCustomDBEngineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#ModifyCustomDBEngineVersionMessage" + }, + "output": { + "target": "com.amazonaws.rds#DBEngineVersion" + }, + "errors": [ + { + "target": "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault" + }, + { + "target": "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies the status of a custom engine version (CEV). You can find CEVs to modify by calling \n DescribeDBEngineVersions.

\n \n

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n ModifyCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the ModifyCustomDbEngineVersion event.

\n
\n

For more information, see Modifying CEV status \n in the Amazon RDS User Guide.

" + } + }, + "com.amazonaws.rds#ModifyCustomDBEngineVersionMessage": { + "type": "structure", + "members": { + "Engine": { + "target": "com.amazonaws.rds#CustomEngineName", + "traits": { + "smithy.api#documentation": "

The DB engine. The only supported value is custom-oracle-ee.

", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.rds#CustomEngineVersion", + "traits": { + "smithy.api#documentation": "

The custom engine version (CEV) that you want to modify. This option is required for \n RDS Custom, but optional for Amazon RDS. The combination of Engine and \n EngineVersion is unique per customer per Amazon Web Services Region.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.rds#Description", + "traits": { + "smithy.api#documentation": "

An optional description of your CEV.

" + } + }, + "Status": { + "target": "com.amazonaws.rds#CustomEngineVersionStatus", + "traits": { + "smithy.api#documentation": "

The availability status to be assigned to the CEV. Valid values are as follows:

\n
\n
available
\n
\n

You can use this CEV to create a new RDS Custom DB instance.

\n
\n
inactive
\n
\n

You can create a new RDS Custom instance by restoring a DB snapshot with this CEV. \n You can't patch or create new instances with this CEV.

\n
\n
\n

You can change any status to any status. A typical reason to change status is to prevent the accidental \n use of a CEV, or to make a deprecated CEV eligible for use again. For example, you might change the status \n of your CEV from available to inactive, and from inactive back to \n available. To change the availability status of the CEV, it must not currently be in use by an \n RDS Custom instance, snapshot, or automated backup.\n

" + } + } + } + }, "com.amazonaws.rds#ModifyDBCluster": { "type": "operation", "input": { @@ -13660,25 +14068,25 @@ "DBInstanceClass": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The new compute and memory capacity of the DB instance, for example, db.m4.large.\n Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.\n For the full list of DB instance classes,\n and availability for your engine, see\n DB Instance Class in the Amazon RDS User Guide.\n

\n

If you modify the DB instance class, an outage occurs during the change.\n The change is applied during the next maintenance window,\n unless ApplyImmediately is enabled for this request.\n

\n

Default: Uses existing setting

" + "smithy.api#documentation": "

The new compute and memory capacity of the DB instance, for example, db.m4.large.\n Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.\n For the full list of DB instance classes,\n and availability for your engine, see\n DB Instance Class in the Amazon RDS User Guide.\n

\n

If you modify the DB instance class, an outage occurs during the change.\n The change is applied during the next maintenance window,\n unless ApplyImmediately is enabled for this request.\n

\n

This setting doesn't apply to RDS Custom.

\n

Default: Uses existing setting

" } }, "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide. \n

\n

Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.\n

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mySubnetGroup\n

" + "smithy.api#documentation": "

The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide.\n

\n

Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.

\n

This parameter doesn't apply to RDS Custom.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mySubnetGroup\n

" } }, "DBSecurityGroups": { "target": "com.amazonaws.rds#DBSecurityGroupNameList", "traits": { - "smithy.api#documentation": "

A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

\n

Constraints:

\n " + "smithy.api#documentation": "

A list of DB security groups to authorize on this DB instance. Changing this setting doesn't \n result in an outage and the change is asynchronously applied as soon as possible.

\n

This setting doesn't apply to RDS Custom.

\n

Constraints:

\n " } }, "VpcSecurityGroupIds": { "target": "com.amazonaws.rds#VpcSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

\n

\n Amazon Aurora\n

\n

Not applicable. The associated list of EC2 VPC security groups is managed by\n the DB cluster. For more information, see ModifyDBCluster.

\n

Constraints:

\n " + "smithy.api#documentation": "

A list of Amazon EC2 VPC security groups to authorize on this DB instance. This change is \n asynchronously applied as soon as possible.

\n

This setting doesn't apply to RDS Custom.

\n

\n Amazon Aurora\n

\n

Not applicable. The associated list of EC2 VPC security groups is managed by\n the DB cluster. For more information, see ModifyDBCluster.

\n

Constraints:

\n " } }, "ApplyImmediately": { @@ -13690,19 +14098,19 @@ "MasterUserPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

\n

\n Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. \n Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.\n

\n \n

\n Amazon Aurora\n

\n

Not applicable. The password for the master user is managed by the DB cluster. For\n more information, see ModifyDBCluster.\n

\n \n

Default: Uses existing setting

\n\n

\n MariaDB\n

\n

Constraints: Must contain from 8 to 41 characters.

\n \n

\n Microsoft SQL Server\n

\n

Constraints: Must contain from 8 to 128 characters.

\n \n

\n MySQL\n

\n

Constraints: Must contain from 8 to 41 characters.

\n \n

\n Oracle\n

\n

Constraints: Must contain from 8 to 30 characters.

\n \n

\n PostgreSQL\n

\n

Constraints: Must contain from 8 to 128 characters.

\n\n \n

Amazon RDS API actions never return the password, \n so this action provides a way to regain access to a primary instance user if the password is lost. \n This includes restoring privileges that might have been accidentally revoked.\n

\n
" + "smithy.api#documentation": "

The new password for the master user. The password can include any printable ASCII \n character except \"/\", \"\"\", or \"@\".

\n

\n Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. \n Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.\n

\n

This setting doesn't apply to RDS Custom.

\n

\n Amazon Aurora\n

\n

Not applicable. The password for the master user is managed by the DB cluster. For\n more information, see ModifyDBCluster.\n

\n \n

Default: Uses existing setting

\n\n

\n MariaDB\n

\n

Constraints: Must contain from 8 to 41 characters.

\n \n

\n Microsoft SQL Server\n

\n

Constraints: Must contain from 8 to 128 characters.

\n \n

\n MySQL\n

\n

Constraints: Must contain from 8 to 41 characters.

\n \n

\n Oracle\n

\n

Constraints: Must contain from 8 to 30 characters.

\n \n

\n PostgreSQL\n

\n

Constraints: Must contain from 8 to 128 characters.

\n\n \n

Amazon RDS API actions never return the password, \n so this action provides a way to regain access to a primary instance user if the password is lost. \n This includes restoring privileges that might have been accidentally revoked.\n

\n
" } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB parameter group to apply to the DB instance. Changing this\n setting doesn't result in an outage. The parameter group name itself is changed\n immediately, but the actual parameter changes are not applied until you reboot the\n instance without failover. In this case, the DB instance isn't rebooted automatically and the\n parameter changes isn't applied during the next maintenance window.

\n

Default: Uses existing setting

\n

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" + "smithy.api#documentation": "

The name of the DB parameter group to apply to the DB instance.

\n

Changing this setting doesn't result in an outage. The parameter group name itself is changed\n immediately, but the actual parameter changes are not applied until you reboot the\n instance without failover. In this case, the DB instance isn't rebooted automatically, and the\n parameter changes aren't applied during the next maintenance window. However, if you modify \n dynamic parameters in the newly associated DB parameter group, these changes are applied \n immediately without a reboot.

\n

This setting doesn't apply to RDS Custom.

\n

Default: Uses existing setting

\n

Constraints: The DB parameter group must be in the same DB parameter group family as the DB instance.

" } }, "BackupRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

\n \n

Enabling and disabling backups can result in a brief I/O suspension that lasts from a few seconds to a few minutes, depending on the size and class of your DB instance.

\n
\n

These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled\n for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously\n applied as soon as possible.

\n

\n Amazon Aurora\n

\n

Not applicable. The retention period for automated backups is managed by the DB\n cluster. For more information, see ModifyDBCluster.

\n

Default: Uses existing setting

\n

Constraints:

\n " + "smithy.api#documentation": "

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

\n \n

Enabling and disabling backups can result in a brief I/O suspension that lasts from a few seconds to a few minutes, depending on the size and class of your DB instance.

\n
\n

These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled\n for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously\n applied as soon as possible.

\n

\n Amazon Aurora\n

\n

Not applicable. The retention period for automated backups is managed by the DB\n cluster. For more information, see ModifyDBCluster.

\n

Default: Uses existing setting

\n

Constraints:

\n " } }, "PreferredBackupWindow": { @@ -13720,31 +14128,31 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment. \n Changing this parameter doesn't result in an outage and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is \n enabled for this request.\n

" + "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result \n in an outage. The change is applied during the next maintenance window unless the ApplyImmediately \n parameter is enabled for this request.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "EngineVersion": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n The version number of the database engine to upgrade to. \n Changing this parameter results in an outage and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is enabled for this request.\n

\n

For major version upgrades, if a nondefault DB parameter group is currently in use, a\n new DB parameter group in the DB parameter group family for the new engine version must\n be specified. The new DB parameter group can be the default for that DB parameter group\n family.

\n

If you specify only a major version, Amazon RDS will update the DB instance to the \n default minor version if the current minor version is lower.\n For information about valid engine versions, see CreateDBInstance, \n or call DescribeDBEngineVersions.

" + "smithy.api#documentation": "

\n The version number of the database engine to upgrade to. \n Changing this parameter results in an outage and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is enabled for this request.\n

\n

For major version upgrades, if a nondefault DB parameter group is currently in use, a\n new DB parameter group in the DB parameter group family for the new engine version must\n be specified. The new DB parameter group can be the default for that DB parameter group\n family.

\n

If you specify only a major version, Amazon RDS will update the DB instance to the \n default minor version if the current minor version is lower.\n For information about valid engine versions, see CreateDBInstance, \n or call DescribeDBEngineVersions.

\n

In RDS Custom, this parameter is supported for read replicas only if they are in the \n PATCH_DB_FAILURE lifecycle.\n

" } }, "AllowMajorVersionUpgrade": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

\n

Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

" + "smithy.api#documentation": "

A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't \n result in an outage and the change is asynchronously applied as soon as possible.

\n

This setting doesn't apply to RDS Custom.

\n

Constraints: Major version upgrades must be allowed when specifying a value \n for the EngineVersion parameter that is a different major version than the DB instance's current version.

" } }, "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

\n A value that indicates whether minor version upgrades are applied automatically\n to the DB instance during the maintenance window. \n Changing this parameter doesn't result in an outage except in the following case \n and the change is asynchronously applied as soon as possible.\n An outage results if this parameter is enabled during the maintenance window, \n and a newer minor version is available, and RDS has enabled auto patching for that engine version.\n

" + "smithy.api#documentation": "

A value that indicates whether minor version upgrades are applied automatically to the DB instance \n during the maintenance window. An outage occurs when all the following conditions are met:

\n \n

If any of the preceding conditions isn't met, RDS applies the change as soon as possible and\n doesn't cause an outage.

\n

For an RDS Custom DB instance, set AutoMinorVersionUpgrade \n to false. Otherwise, the operation returns an error.

" } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The license model for the DB instance.

\n

Valid values: license-included | bring-your-own-license | \n general-public-license\n

" + "smithy.api#documentation": "

The license model for the DB instance.

\n

This setting doesn't apply to RDS Custom.

\n

Valid values: license-included | bring-your-own-license | \n general-public-license\n

" } }, "Iops": { @@ -13756,13 +14164,13 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n A value that indicates the DB instance should be associated with the specified option group. \n Changing this parameter doesn't result in an outage except in the following case and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is enabled \n for this request. If the parameter change results in an option group that \n enables OEM, this change can cause a brief (sub-second) period during which new connections \n are rejected but existing connections are not interrupted.\n

\n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" + "smithy.api#documentation": "

A value that indicates the DB instance should be associated with the specified option group.

\n

Changing this parameter doesn't result in an outage, with one exception. If the parameter change results \n in an option group that enables OEM, it can cause a brief period, lasting less than a second, during which \n new connections are rejected but existing connections aren't interrupted.

\n

The change is applied during the next maintenance window unless the ApplyImmediately parameter \n is enabled for this request.

\n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed \n from an option group, and that option group can't be removed from a DB instance after \n it is associated with a DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "NewDBInstanceIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

\n The new DB instance identifier for the DB instance when renaming a DB\n instance. When you change the DB instance identifier, an instance \n reboot occurs immediately if you enable ApplyImmediately, or will occur \n during the next maintenance window if you disable Apply Immediately. This value is stored \n as a lowercase string. \n

\n\n

Constraints:

\n \n

Example: mydbinstance\n

" + "smithy.api#documentation": "

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance \n identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur \n during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string. \n

\n

This setting doesn't apply to RDS Custom.

\n

Constraints:

\n \n

Example: mydbinstance\n

" } }, "StorageType": { @@ -13774,25 +14182,25 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

" + "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

\n

This setting doesn't apply to RDS Custom.

" } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

" + "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

\n

This setting doesn't apply to RDS Custom.

" } }, "CACertificateIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Indicates the certificate that needs to be associated with the instance.

" + "smithy.api#documentation": "

Specifies the certificate to associate with the DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Active Directory directory ID to move the DB instance to. \n Specify none to remove the instance from its current domain.\n The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The Active Directory directory ID to move the DB instance to. \n Specify none to remove the instance from its current domain.\n You must create the domain before this operation. Currently, you can create only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "CopyTagsToSnapshot": { @@ -13804,79 +14212,79 @@ "MonitoringInterval": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

\n

If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

\n

Valid Values: 0, 1, 5, 10, 15, 30, 60\n

" + "smithy.api#documentation": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected \n for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0, which is the default.

\n

If MonitoringRoleArn is specified, set MonitoringInterval to a value other than 0.

\n

This setting doesn't apply to RDS Custom.

\n

Valid Values: 0, 1, 5, 10, 15, 30, 60\n

" } }, "DBPortNumber": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The port number on which the database accepts connections.

\n

The value of the DBPortNumber parameter must not match any of the port values specified for options in the option\n group for the DB instance.

\n

Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately\n parameter.

\n

\n MySQL\n

\n

\n Default: 3306\n

\n

Valid values: 1150-65535\n

\n

\n MariaDB\n

\n

\n Default: 3306\n

\n

Valid values: 1150-65535\n

\n

\n PostgreSQL\n

\n

\n Default: 5432\n

\n

Valid values: 1150-65535\n

\n

Type: Integer

\n

\n Oracle\n

\n

\n Default: 1521\n

\n

Valid values: 1150-65535\n

\n

\n SQL Server\n

\n

\n Default: 1433\n

\n

Valid values: 1150-65535 except 1234, 1434,\n 3260, 3343, 3389, 47001, and\n 49152-49156.

\n

\n Amazon Aurora\n

\n

\n Default: 3306\n

\n

Valid values: 1150-65535\n

" + "smithy.api#documentation": "

The port number on which the database accepts connections.

\n

The value of the DBPortNumber parameter must not match any of the port values \n specified for options in the option group for the DB instance.

\n

If you change the DBPortNumber value, your database restarts regardless of \n the value of the ApplyImmediately parameter.

\n

This setting doesn't apply to RDS Custom.

\n

\n MySQL\n

\n

\n Default: 3306\n

\n

Valid values: 1150-65535\n

\n

\n MariaDB\n

\n

\n Default: 3306\n

\n

Valid values: 1150-65535\n

\n

\n PostgreSQL\n

\n

\n Default: 5432\n

\n

Valid values: 1150-65535\n

\n

Type: Integer

\n

\n Oracle\n

\n

\n Default: 1521\n

\n

Valid values: 1150-65535\n

\n

\n SQL Server\n

\n

\n Default: 1433\n

\n

Valid values: 1150-65535 except 1234, 1434,\n 3260, 3343, 3389, 47001, and\n 49152-49156.

\n

\n Amazon Aurora\n

\n

\n Default: 3306\n

\n

Valid values: 1150-65535\n

" } }, "PubliclyAccessible": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is publicly accessible.\n

\n

When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, \n and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, \n and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

\n PubliclyAccessible only applies to DB instances in a VPC. \n The DB instance must be part of a public subnet and \n PubliclyAccessible must be enabled for it to be publicly accessible.\n

\n

Changes to the PubliclyAccessible parameter are applied immediately regardless\n of the value of the ApplyImmediately parameter.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance is publicly accessible.\n

\n

When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, \n and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, \n and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

\n PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a \n public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.\n

\n

Changes to the PubliclyAccessible parameter are applied immediately regardless\n of the value of the ApplyImmediately parameter.

\n

This setting doesn't apply to RDS Custom.

" } }, "MonitoringRoleArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.\n

\n

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "smithy.api#documentation": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n see To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.\n

\n

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn \n value.

\n

This setting doesn't apply to RDS Custom.

" } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the IAM role to use when making API calls to the Directory Service.

" + "smithy.api#documentation": "

The name of the IAM role to use when making API calls to the Directory Service.

\n

This setting doesn't apply to RDS Custom.

" } }, "PromotionTier": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.\n

\n

Default: 1

\n

Valid Values: 0 - 15

" + "smithy.api#documentation": "

A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

\n

This setting doesn't apply to RDS Custom.\n

\n

Default: 1

\n

Valid Values: 0 - 15

" } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n

This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

\n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable Performance Insights for the DB instance.

\n

For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable Performance Insights for the DB instance.

\n

For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

\n

This setting doesn't apply to RDS Custom.

" } }, "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" + "smithy.api#documentation": "

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

\n

This setting doesn't apply to RDS Custom.

" } }, "CloudwatchLogsExportConfiguration": { "target": "com.amazonaws.rds#CloudwatchLogsExportConfiguration", "traits": { - "smithy.api#documentation": "

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

\n

A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance \n immediately. Therefore, the ApplyImmediately parameter has no effect.

" + "smithy.api#documentation": "

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a \n specific DB instance.

\n

A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance \n immediately. Therefore, the ApplyImmediately parameter has no effect.

\n

This setting doesn't apply to RDS Custom.

" } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" + "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

\n

This setting doesn't apply to RDS Custom.

" } }, "DeletionProtection": { @@ -13888,19 +14296,19 @@ "MaxAllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "CertificateRotationRestart": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is restarted when you rotate your \n SSL/TLS certificate.

\n

By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate \n is not updated until the DB instance is restarted.

\n \n

Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

\n
\n

If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your \n DB engine to rotate your SSL/TLS certificate:

\n " + "smithy.api#documentation": "

A value that indicates whether the DB instance is restarted when you rotate your \n SSL/TLS certificate.

\n

By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate \n is not updated until the DB instance is restarted.

\n \n

Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

\n
\n

If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your \n DB engine to rotate your SSL/TLS certificate:

\n \n

This setting doesn't apply to RDS Custom.

" } }, "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

A value that sets the open mode of a replica database to either mounted or read-only.

\n \n

Currently, this parameter is only supported for Oracle DB instances.

\n
\n

Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for \n mounted replicas is cross-Region disaster recovery. The primary database doesn't use \n Active Data Guard to transmit information to the mounted replica. Because it doesn't \n accept user connections, a mounted replica can't serve a read-only workload. \n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

A value that sets the open mode of a replica database to either mounted or read-only.

\n \n

Currently, this parameter is only supported for Oracle DB instances.

\n
\n

Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for \n mounted replicas is cross-Region disaster recovery. The primary database doesn't use \n Active Data Guard to transmit information to the mounted replica. Because it doesn't \n accept user connections, a mounted replica can't serve a read-only workload. \n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableCustomerOwnedIp": { @@ -13912,7 +14320,19 @@ "AwsBackupRecoveryPointArn": { "target": "com.amazonaws.rds#AwsBackupRecoveryPointArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

\n

This setting doesn't apply to RDS Custom.

" + } + }, + "AutomationMode": { + "target": "com.amazonaws.rds#AutomationMode", + "traits": { + "smithy.api#documentation": "

The automation mode of the RDS Custom DB instance: full or all paused. \n If full, the DB instance automates monitoring and instance recovery. If \n all paused, the instance pauses automation for the duration set by \n ResumeFullAutomationModeMinutes.

" + } + }, + "ResumeFullAutomationModeMinutes": { + "target": "com.amazonaws.rds#IntegerOptional", + "traits": { + "smithy.api#documentation": "

The number of minutes to pause the automation. When the time period ends, RDS Custom resumes \n full automation. The minimum value is 60 (default). The maximum value is 1,440. \n

" } } }, @@ -14198,7 +14618,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted\n or unencrypted, but not shared or public.\n \n

\n \n

Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.\n

" + "smithy.api#documentation": "

Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted\n or unencrypted, but not shared or public.\n \n

\n \n

Amazon RDS supports upgrading DB snapshots for MySQL, PostgreSQL, and Oracle. This command\n doesn't apply to RDS Custom.\n

" } }, "com.amazonaws.rds#ModifyDBSnapshotAttribute": { @@ -15692,6 +16112,18 @@ "traits": { "smithy.api#documentation": "

Whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

" } + }, + "AutomationMode": { + "target": "com.amazonaws.rds#AutomationMode", + "traits": { + "smithy.api#documentation": "

The automation mode of the RDS Custom DB instance: full or all-paused. \n If full, the DB instance automates monitoring and instance recovery. If \n all-paused, the instance pauses automation for the duration set by \n --resume-full-automation-mode-minutes.

" + } + }, + "ResumeFullAutomationModeTime": { + "target": "com.amazonaws.rds#TStamp", + "traits": { + "smithy.api#documentation": "

The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. \n The minimum value is 60 (default). The maximum value is 1,440.\n

" + } } }, "traits": { @@ -15761,7 +16193,7 @@ } ], "traits": { - "smithy.api#documentation": "

Promotes a read replica DB instance to a standalone DB instance.

\n \n \n \n " + "smithy.api#documentation": "

Promotes a read replica DB instance to a standalone DB instance.

\n \n \n \n " } }, "com.amazonaws.rds#PromoteReadReplicaDBCluster": { @@ -16005,7 +16437,7 @@ } ], "traits": { - "smithy.api#documentation": "

You might need to reboot your DB instance, usually for maintenance reasons. \n For example, if you make certain modifications, \n or if you change the DB parameter group associated with the DB instance, \n you must reboot the instance for the changes to take effect.\n

\n\n

Rebooting a DB instance restarts the database engine service. \n Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.\n

\n \n

For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

You might need to reboot your DB instance, usually for maintenance reasons. \n For example, if you make certain modifications, \n or if you change the DB parameter group associated with the DB instance, \n you must reboot the instance for the changes to take effect.\n

\n\n

Rebooting a DB instance restarts the database engine service. \n Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.\n

\n \n

For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.\n

\n \n

This command doesn't apply to RDS Custom.

" } }, "com.amazonaws.rds#RebootDBInstanceMessage": { @@ -16236,7 +16668,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the feature for the DB cluster that the IAM role is to be disassociated from.\n For the list of supported feature names, see DBEngineVersion.

" + "smithy.api#documentation": "

The name of the feature for the DB cluster that the IAM role is to be disassociated from.\n For information about supported feature names, see DBEngineVersion.

" } } } @@ -16281,7 +16713,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the feature for the DB instance that the IAM role is to be disassociated from.\n For the list of supported feature names, see DBEngineVersion.\n

", + "smithy.api#documentation": "

The name of the feature for the DB instance that the IAM role is to be disassociated from.\n For information about supported feature names, see DBEngineVersion.\n

", "smithy.api#required": {} } } @@ -17000,7 +17432,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

If the StorageEncrypted parameter is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS will use your default CMK. There is a \n default CMK for your Amazon Web Services account. Your Amazon Web Services account has a different\n default CMK for each Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

If the StorageEncrypted parameter is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS will use your default KMS key. There is a \n default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different\n default KMS key for each Amazon Web Services Region.

" } }, "EnableIAMDatabaseAuthentication": { @@ -17229,7 +17661,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB\n snapshot or DB cluster snapshot.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

When you don't specify a value for the KmsKeyId parameter, then the\n following occurs:

\n " + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB\n snapshot or DB cluster snapshot.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

When you don't specify a value for the KmsKeyId parameter, then the\n following occurs:

\n " } }, "EnableIAMDatabaseAuthentication": { @@ -17438,7 +17870,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

You can restore to a new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK that is different than the\n Amazon Web Services KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the Amazon Web Services KMS CMK\n identified by the KmsKeyId parameter.

\n

If you don't specify a value for the KmsKeyId parameter, then the following occurs:

\n \n\n

If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request\n is rejected.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different from the\n KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key\n identified by the KmsKeyId parameter.

\n

If you don't specify a value for the KmsKeyId parameter, then the following occurs:

\n \n\n

If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request\n is rejected.

" } }, "EnableIAMDatabaseAuthentication": { @@ -17632,7 +18064,7 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment.

\n

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment.

\n

This setting doesn't apply to RDS Custom.

\n

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" } }, "PubliclyAccessible": { @@ -17644,25 +18076,25 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

" + "smithy.api#documentation": "

A value that indicates whether minor version upgrades are applied automatically to the DB instance \n during the maintenance window.

\n

If you restore an RDS Custom DB instance, you must disable this parameter.

" } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

License model information for the restored DB instance.

\n

Default: Same as source.

\n

\n Valid values: license-included | bring-your-own-license | general-public-license\n

" + "smithy.api#documentation": "

License model information for the restored DB instance.

\n

This setting doesn't apply to RDS Custom.

\n

Default: Same as source.

\n

\n Valid values: license-included | bring-your-own-license | general-public-license\n

" } }, "DBName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The database name for the restored DB instance.

\n \n

This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

\n
" + "smithy.api#documentation": "

The database name for the restored DB instance.

\n

This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS\n Custom DB instances.

" } }, "Engine": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The database engine to use for the new instance.

\n

Default: The same as source

\n

Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

\n\n

Valid Values:

\n \n " + "smithy.api#documentation": "

The database engine to use for the new instance.

\n

This setting doesn't apply to RDS Custom.

\n

Default: The same as source

\n

Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

\n\n

Valid Values:

\n \n " } }, "Iops": { @@ -17674,7 +18106,7 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the option group to be used for the restored DB instance.

\n \n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" + "smithy.api#documentation": "

The name of the option group to be used for the restored DB instance.

\n \n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option \n group, and that option group can't be removed from a DB instance after it is associated with a DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "Tags": { @@ -17689,13 +18121,13 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

" + "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

\n

This setting doesn't apply to RDS Custom.

" } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

" + "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

\n

This setting doesn't apply to RDS Custom.

" } }, "VpcSecurityGroupIds": { @@ -17707,7 +18139,7 @@ "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specify the Active Directory directory ID to restore the DB instance in.\n The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

Specify the Active Directory directory ID to restore the DB instance in.\n The domain/ must be created prior to this operation. Currently, you can create only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "CopyTagsToSnapshot": { @@ -17719,37 +18151,37 @@ "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" + "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

\n

This setting doesn't apply to RDS Custom.

" } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance.

\n

If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup \n for the specified DB engine is used.

\n

Constraints:

\n " + "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance.

\n

If you don't specify a value for DBParameterGroupName, then RDS uses the default DBParameterGroup \n for the specified DB engine.

\n

This setting doesn't apply to RDS Custom.

\n

Constraints:

\n " } }, "DeletionProtection": { @@ -17761,7 +18193,13 @@ "EnableCustomerOwnedIp": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

\n

A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

\n

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

\n

For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

" + "smithy.api#documentation": "

A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

\n

A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

\n

This setting doesn't apply to RDS Custom.

\n

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

\n

For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

" + } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

\n

This setting is required for RDS Custom.

" } } }, @@ -17839,7 +18277,7 @@ } ], "traits": { - "smithy.api#documentation": "

Amazon Relational Database Service (Amazon RDS) \n supports importing MySQL databases by using backup files. \n You can create a backup of your on-premises database, \n store it on Amazon Simple Storage Service (Amazon S3), \n and then restore the backup file onto a new Amazon RDS DB instance running MySQL.\n For more information, see Importing Data into an Amazon RDS MySQL DB Instance \n in the Amazon RDS User Guide. \n

" + "smithy.api#documentation": "

Amazon Relational Database Service (Amazon RDS) \n supports importing MySQL databases by using backup files. \n You can create a backup of your on-premises database, \n store it on Amazon Simple Storage Service (Amazon S3), \n and then restore the backup file onto a new Amazon RDS DB instance running MySQL.\n For more information, see Importing Data into an Amazon RDS MySQL DB Instance \n in the Amazon RDS User Guide. \n

\n

This command doesn't apply to RDS Custom.

" } }, "com.amazonaws.rds#RestoreDBInstanceFromS3Message": { @@ -18007,7 +18445,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB instance.\n

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

If the StorageEncrypted parameter is enabled, \n and you do not specify a value for the KmsKeyId parameter, \n then Amazon RDS will use your default CMK. \n There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.\n

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for an encrypted DB instance.\n

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

If the StorageEncrypted parameter is enabled, \n and you do not specify a value for the KmsKeyId parameter, \n then Amazon RDS will use your default KMS key. \n There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.\n

" } }, "CopyTagsToSnapshot": { @@ -18077,7 +18515,7 @@ "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

\n

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

" } }, "PerformanceInsightsRetentionPeriod": { @@ -18261,7 +18699,7 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment.

\n

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance is a Multi-AZ deployment.

\n

This setting doesn't apply to RDS Custom.

\n

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a \n Multi-AZ deployment.

" } }, "PubliclyAccessible": { @@ -18273,25 +18711,25 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

" + "smithy.api#documentation": "

A value that indicates whether minor version upgrades are applied automatically to the \n DB instance during the maintenance window.

\n

This setting doesn't apply to RDS Custom.

" } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

License model information for the restored DB instance.

\n

Default: Same as source.

\n

\n Valid values: license-included | bring-your-own-license | general-public-license\n

" + "smithy.api#documentation": "

License model information for the restored DB instance.

\n

This setting doesn't apply to RDS Custom.

\n

Default: Same as source.

\n

\n Valid values: license-included | bring-your-own-license | general-public-license\n

" } }, "DBName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The database name for the restored DB instance.

\n \n

This parameter isn't used for the MySQL or MariaDB engines.

\n
" + "smithy.api#documentation": "

The database name for the restored DB instance.

\n \n

This parameter isn't supported for the MySQL or MariaDB engines. It also doesn't apply to RDS Custom.

\n
" } }, "Engine": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The database engine to use for the new instance.

\n

Default: The same as source

\n

Constraint: Must be compatible with the engine of the source

\n\n

Valid Values:

\n \n " + "smithy.api#documentation": "

The database engine to use for the new instance.

\n

This setting doesn't apply to RDS Custom.

\n

Default: The same as source

\n

Constraint: Must be compatible with the engine of the source

\n\n

Valid Values:

\n \n " } }, "Iops": { @@ -18303,7 +18741,7 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the option group to be used for the restored DB instance.

\n \n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" + "smithy.api#documentation": "

The name of the option group to be used for the restored DB instance.

\n \n

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an \n option group, and that option group can't be removed from a DB instance after it is associated with a DB instance

\n

This setting doesn't apply to RDS Custom.

" } }, "CopyTagsToSnapshot": { @@ -18324,13 +18762,13 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

" + "smithy.api#documentation": "

The ARN from the key store with which to associate the instance for TDE encryption.

\n

This setting doesn't apply to RDS Custom.

" } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

" + "smithy.api#documentation": "

The password for the given ARN from the key store in order to access the device.

\n

This setting doesn't apply to RDS Custom.

" } }, "VpcSecurityGroupIds": { @@ -18342,43 +18780,43 @@ "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specify the Active Directory directory ID to restore the DB instance in.\n The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

Specify the Active Directory directory ID to restore the DB instance in.\n Create the domain before running this command. Currently, you can create only the MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

\n

This setting doesn't apply to RDS Custom.

\n

For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

" } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + "smithy.api#documentation": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

\n \n

This setting doesn't apply to RDS Custom.

\n \n

For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

" } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" + "smithy.api#documentation": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

\n

This setting doesn't apply to RDS Custom.

" } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

" + "smithy.api#documentation": "

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

\n

This setting doesn't apply to RDS Custom.

" } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance.

\n

If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup \n for the specified DB engine is used.

\n

Constraints:

\n " + "smithy.api#documentation": "

The name of the DB parameter group to associate with this DB instance.

\n

If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup \n for the specified DB engine is used.

\n

This setting doesn't apply to RDS Custom.

\n

Constraints:

\n " } }, "DeletionProtection": { @@ -18396,19 +18834,25 @@ "MaxAllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

\n

For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

\n

This setting doesn't apply to RDS Custom.

" } }, "SourceDBInstanceAutomatedBackupsArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, \n arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, \n arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

\n

This setting doesn't apply to RDS Custom.

" } }, "EnableCustomerOwnedIp": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

\n

A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

\n

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

\n

For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

" + "smithy.api#documentation": "

A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

\n

A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

\n

This setting doesn't apply to RDS Custom.

\n

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

\n

For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

" + } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

\n

This setting is required for RDS Custom.

" } } }, @@ -18801,6 +19245,10 @@ { "value": "db-cluster-snapshot", "name": "db_cluster_snapshot" + }, + { + "value": "custom-engine-version", + "name": "custom_engine_version" } ] } @@ -18857,7 +19305,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encrypting messages in the database activity stream.\n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

", + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier for encrypting messages in the database activity stream.\n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

", "smithy.api#required": {} } }, @@ -19003,7 +19451,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI command, or the StopDBInstance action.\n

\n \n

For more information, see \n \n Starting an Amazon RDS DB instance That Was Previously Stopped in the \n Amazon RDS User Guide.\n

\n \n \n

\n This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.\n For Aurora DB clusters, use StartDBCluster instead.\n

\n
" + "smithy.api#documentation": "

\n Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI command, or the StopDBInstance action.\n

\n \n

For more information, see \n \n Starting an Amazon RDS DB instance That Was Previously Stopped in the \n Amazon RDS User Guide.\n

\n \n \n

\n This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL.\n For Aurora DB clusters, use StartDBCluster instead.\n

\n
" } }, "com.amazonaws.rds#StartDBInstanceAutomatedBackupsReplication": { @@ -19032,7 +19480,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables replication of automated backups to a different Amazon Web Services Region.

\n

For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

Enables replication of automated backups to a different Amazon Web Services Region.

\n

This command doesn't apply to RDS Custom.

\n

For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

" } }, "com.amazonaws.rds#StartDBInstanceAutomatedBackupsReplicationMessage": { @@ -19131,7 +19579,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts an export of a snapshot to Amazon S3. \n The provided IAM role must have access to the S3 bucket. \n

" + "smithy.api#documentation": "

Starts an export of a snapshot to Amazon S3. \n The provided IAM role must have access to the S3 bucket. \n

\n

This command doesn't apply to RDS Custom.

" } }, "com.amazonaws.rds#StartExportTaskMessage": { @@ -19168,7 +19616,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The ID of the Amazon Web Services KMS customer master key (CMK) to use to encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS \n key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). \n The caller of this operation must be authorized to \n execute the following operations. These can be set in the Amazon Web Services KMS key policy:

\n ", + "smithy.api#documentation": "

The ID of the Amazon Web Services KMS key to use to encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS \n key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. \n The caller of this operation must be authorized to execute the following operations. \n These can be set in the Amazon Web Services KMS key policy:

\n ", "smithy.api#required": {} } }, @@ -19239,7 +19687,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

" + "smithy.api#documentation": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

" } }, "KinesisStreamName": { @@ -19325,7 +19773,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, \n DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if \n necessary.\n

\n \n

For more information, see \n \n Stopping an Amazon RDS DB Instance Temporarily in the \n Amazon RDS User Guide.\n

\n \n \n

\n This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.\n For Aurora clusters, use StopDBCluster instead.\n

\n
" + "smithy.api#documentation": "

\n Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, \n DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if \n necessary.\n

\n \n

For more information, see \n \n Stopping an Amazon RDS DB Instance Temporarily in the \n Amazon RDS User Guide.\n

\n \n \n

\n This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL.\n For Aurora clusters, use StopDBCluster instead.\n

\n
" } }, "com.amazonaws.rds#StopDBInstanceAutomatedBackupsReplication": { @@ -19345,7 +19793,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops automated backup replication for a DB instance.

\n

For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

" + "smithy.api#documentation": "

Stops automated backup replication for a DB instance.

\n

This command doesn't apply to RDS Custom.

\n

For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

" } }, "com.amazonaws.rds#StopDBInstanceAutomatedBackupsReplicationMessage": { @@ -19431,6 +19879,16 @@ "com.amazonaws.rds#String": { "type": "string" }, + "com.amazonaws.rds#String255": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#StringList": { "type": "list", "member": { diff --git a/codegen/sdk-codegen/aws-models/rekognition.2016-06-27.json b/codegen/sdk-codegen/aws-models/rekognition.2016-06-27.json index 9b445f2e7c4..0628f4dceac 100644 --- a/codegen/sdk-codegen/aws-models/rekognition.2016-06-27.json +++ b/codegen/sdk-codegen/aws-models/rekognition.2016-06-27.json @@ -349,6 +349,12 @@ "traits": { "smithy.api#documentation": "

Face details for the recognized celebrity.

" } + }, + "KnownGender": { + "target": "com.amazonaws.rekognition#KnownGender", + "traits": { + "smithy.api#documentation": "

Retrieves the known gender for the celebrity.

" + } } }, "traits": { @@ -804,6 +810,83 @@ } } }, + "com.amazonaws.rekognition#CreateDataset": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#CreateDatasetRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#CreateDatasetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#InvalidS3ObjectException" + }, + { + "target": "com.amazonaws.rekognition#LimitExceededException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using\n an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

\n\n

To create a training dataset for a project, specify train for the value of \n DatasetType. To create the test dataset for a project,\n specify test for the value of DatasetType.\n

\n \n \n

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset.\n Creating a dataset takes a while to complete. Use DescribeDataset to check the \n current status. The dataset created successfully if the value of Status is\n CREATE_COMPLETE.

\n

To check if any non-terminal errors occurred, call ListDatasetEntries\nand check for the presence of errors lists in the JSON Lines.

\n

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). \n Currently, you can't access the terminal error information.\n \n

\n \n \n

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

\n \n

This operation requires permissions to perform the rekognition:CreateDataset action.\n If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

" + } + }, + "com.amazonaws.rekognition#CreateDatasetRequest": { + "type": "structure", + "members": { + "DatasetSource": { + "target": "com.amazonaws.rekognition#DatasetSource", + "traits": { + "smithy.api#documentation": "

\nThe source files for the dataset. You can specify the ARN of an existing dataset or specify the Amazon S3 bucket location\nof an Amazon Sagemaker format manifest file. If you don't specify datasetSource, an empty dataset is created.\n To add labeled images to the dataset, You can use the console or call UpdateDatasetEntries.\n \n

" + } + }, + "DatasetType": { + "target": "com.amazonaws.rekognition#DatasetType", + "traits": { + "smithy.api#documentation": "

\nThe type of the dataset. Specify train to create a training dataset. Specify test \n to create a test dataset.\n

", + "smithy.api#required": {} + } + }, + "ProjectArn": { + "target": "com.amazonaws.rekognition#ProjectArn", + "traits": { + "smithy.api#documentation": "

\nThe ARN of the Amazon Rekognition Custom Labels project to which you want to asssign the dataset.\n

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rekognition#CreateDatasetResponse": { + "type": "structure", + "members": { + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe ARN of the created Amazon Rekognition Custom Labels dataset.\n

" + } + } + } + }, "com.amazonaws.rekognition#CreateProject": { "type": "operation", "input": { @@ -836,7 +919,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new Amazon Rekognition Custom Labels project. A project is a logical grouping of resources (images, Labels, models) \n and operations (training, evaluation and detection).

\n

This operation requires permissions to perform the rekognition:CreateProject action.

" + "smithy.api#documentation": "

Creates a new Amazon Rekognition Custom Labels project. A project is a group of resources (datasets, model versions) \n that you use to create and manage Amazon Rekognition Custom Labels models.

\n

This operation requires permissions to perform the rekognition:CreateProject action.

" } }, "com.amazonaws.rekognition#CreateProjectRequest": { @@ -900,7 +983,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new version of a model and begins training. \n Models are managed as part of an Amazon Rekognition Custom Labels project. You can specify\n one training dataset and one testing dataset. The response from CreateProjectVersion\n is an Amazon Resource Name (ARN) for the version of the model.

\n

Training takes a while to complete. You can get the current status by calling\n DescribeProjectVersions.

\n

Once training has successfully completed, call DescribeProjectVersions to\n get the training results and evaluate the model. \n

\n

After evaluating the model, you start the model\n by calling StartProjectVersion.

\n

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

" + "smithy.api#documentation": "

Creates a new version of a model and begins training. \n Models are managed as part of an Amazon Rekognition Custom Labels project. \n The response from CreateProjectVersion\n is an Amazon Resource Name (ARN) for the version of the model.

\n \n \n

Training uses the training and test datasets associated with the project. \n For more information, see Creating training and test dataset in the Amazon Rekognition Custom Labels Developer Guide.\n

\n \n \n \n

You can train a modelin a project that doesn't have associated datasets by specifying manifest files in the\n TrainingData and TestingData fields.\n

\n

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates\n the datasets for you using the most recent manifest files. You can no longer train\n a model version for the project by specifying manifest files.

\n

Instead of training with a project without associated datasets,\n we recommend that you use the manifest\n files to create training and test datasets for the project.

\n
\n \n \n

Training takes a while to complete. You can get the current status by calling\n DescribeProjectVersions. Training completed successfully if\n the value of the Status field is TRAINING_COMPLETED.

\n \n

If training \n fails, see Debugging a failed model training in the Amazon Rekognition Custom Labels developer guide.

\n \n \n

Once training has successfully completed, call DescribeProjectVersions to\n get the training results and evaluate the model. For more information, see Improving a trained Amazon Rekognition Custom Labels model\n in the Amazon Rekognition Custom Labels developers guide.\n

\n \n

After evaluating the model, you start the model\n by calling StartProjectVersion.

\n

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

" } }, "com.amazonaws.rekognition#CreateProjectVersionRequest": { @@ -930,15 +1013,13 @@ "TrainingData": { "target": "com.amazonaws.rekognition#TrainingData", "traits": { - "smithy.api#documentation": "

The dataset to use for training.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies an external manifest that the services uses to train the model.\n If you specify TrainingData you must also specify TestingData.\n The project must not have any associated datasets.\n

" } }, "TestingData": { "target": "com.amazonaws.rekognition#TestingData", "traits": { - "smithy.api#documentation": "

The dataset to use for testing.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies an external manifest that the service uses to test the model.\n If you specify TestingData you must also specify TrainingData.\n The project must not have any associated datasets.

" } }, "Tags": { @@ -950,7 +1031,7 @@ "KmsKeyId": { "target": "com.amazonaws.rekognition#KmsKeyId", "traits": { - "smithy.api#documentation": "

The identifier for your AWS Key Management Service (AWS KMS) customer master key (CMK).\n You can supply the Amazon Resource Name (ARN) of your CMK, the ID of your CMK,\n an alias for your CMK, or an alias ARN.\n The key is used to encrypt training and test images copied into the service for model training.\n Your source images are unaffected. The key is also used to encrypt training results\n and manifest files written to the output Amazon S3 bucket (OutputConfig).

\n

If you choose to use your own CMK, you need the following permissions on the CMK.

\n \n

If you don't specify a value for KmsKeyId, images copied into the service are encrypted\n using a key that AWS owns and manages.

" + "smithy.api#documentation": "

The identifier for your AWS Key Management Service key (AWS KMS key).\n You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key,\n an alias for your KMS key, or an alias ARN.\n The key is used to encrypt training and test images copied into the service for model training.\n Your source images are unaffected. The key is also used to encrypt training results\n and manifest files written to the output Amazon S3 bucket (OutputConfig).

\n

If you choose to use your own KMS key, you need the following permissions on the KMS key.

\n \n

If you don't specify a value for KmsKeyId, images copied into the service are encrypted\n using a key that AWS owns and manages.

" } } } @@ -1093,6 +1174,327 @@ "target": "com.amazonaws.rekognition#CustomLabel" } }, + "com.amazonaws.rekognition#DatasetArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^(^arn:[a-z\\d-]+:rekognition:[a-z\\d-]+:\\d{12}:project\\/[a-zA-Z0-9_.\\-]{1,255}\\/dataset\\/(train|test)\\/[0-9]+$)$" + } + }, + "com.amazonaws.rekognition#DatasetChanges": { + "type": "structure", + "members": { + "GroundTruth": { + "target": "com.amazonaws.rekognition#GroundTruthBlob", + "traits": { + "smithy.api#documentation": "

A Base64-encoded binary data object\n containing one or JSON lines that either update the dataset or are additions to the dataset. You change a dataset by calling UpdateDatasetEntries.\n If you are using an AWS SDK to call UpdateDatasetEntries, you don't need to encode Changes as the SDK encodes the data for you.\n\n

\n \n \n

For example JSON lines,\n see Image-Level labels in manifest files and \n and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\nDescribes updates or additions to a dataset. A Single update or addition\nis an entry (JSON Line) that provides information about a single image. To update an existing entry,\nyou match the source-ref field of the update entry with the source-ref filed of the entry that you want to update.\n If the source-ref field doesn't match an existing entry, the entry is added to dataset as a new entry.

" + } + }, + "com.amazonaws.rekognition#DatasetDescription": { + "type": "structure", + "members": { + "CreationTimestamp": { + "target": "com.amazonaws.rekognition#DateTime", + "traits": { + "smithy.api#documentation": "

\nThe Unix timestamp for the time and date that the dataset was created.\n

" + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.rekognition#DateTime", + "traits": { + "smithy.api#documentation": "

\n The Unix timestamp for the date and time that the dataset was last updated.\n

" + } + }, + "Status": { + "target": "com.amazonaws.rekognition#DatasetStatus", + "traits": { + "smithy.api#documentation": "

\n The status of the dataset.\n

" + } + }, + "StatusMessage": { + "target": "com.amazonaws.rekognition#StatusMessage", + "traits": { + "smithy.api#documentation": "

\n The status message for the dataset. \n

" + } + }, + "StatusMessageCode": { + "target": "com.amazonaws.rekognition#DatasetStatusMessageCode", + "traits": { + "smithy.api#documentation": "

\n The status message code for the dataset operation. If a service error occurs, try the \n API call again later. If a client error occurs, check the input parameters to the dataset\n API call that failed.\n

" + } + }, + "DatasetStats": { + "target": "com.amazonaws.rekognition#DatasetStats", + "traits": { + "smithy.api#documentation": "

\nThe status message code for the dataset.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nA description for a dataset. For more information, see DescribeDataset.

\n

The status fields Status, StatusMessage, and StatusMessageCode\nreflect the last operation on the dataset.\n

" + } + }, + "com.amazonaws.rekognition#DatasetEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#DatasetEntry" + } + }, + "com.amazonaws.rekognition#DatasetEntry": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100000 + }, + "smithy.api#pattern": "^\\{.*\\}$" + } + }, + "com.amazonaws.rekognition#DatasetLabel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^.{1,}$" + } + }, + "com.amazonaws.rekognition#DatasetLabelDescription": { + "type": "structure", + "members": { + "LabelName": { + "target": "com.amazonaws.rekognition#DatasetLabel", + "traits": { + "smithy.api#documentation": "

\nThe name of the label.\n

" + } + }, + "LabelStats": { + "target": "com.amazonaws.rekognition#DatasetLabelStats", + "traits": { + "smithy.api#documentation": "

\nStatistics about the label.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nDescribes a dataset label. For more information, see ListDatasetLabels.\n

" + } + }, + "com.amazonaws.rekognition#DatasetLabelDescriptions": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#DatasetLabelDescription" + } + }, + "com.amazonaws.rekognition#DatasetLabelStats": { + "type": "structure", + "members": { + "EntryCount": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

\nThe total number of images that use the label.\n

" + } + }, + "BoundingBoxCount": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

\nThe total number of images that have the label assigned to a bounding box.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Statistics about a label used in a dataset. For more information, see DatasetLabelDescription.\n

" + } + }, + "com.amazonaws.rekognition#DatasetLabels": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#DatasetLabel" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.rekognition#DatasetMetadata": { + "type": "structure", + "members": { + "CreationTimestamp": { + "target": "com.amazonaws.rekognition#DateTime", + "traits": { + "smithy.api#documentation": "

\n The Unix timestamp for the date and time that the dataset was created. \n

" + } + }, + "DatasetType": { + "target": "com.amazonaws.rekognition#DatasetType", + "traits": { + "smithy.api#documentation": "

\n The type of the dataset.\n

" + } + }, + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) for the dataset.\n

" + } + }, + "Status": { + "target": "com.amazonaws.rekognition#DatasetStatus", + "traits": { + "smithy.api#documentation": "

\n The status for the dataset.\n

" + } + }, + "StatusMessage": { + "target": "com.amazonaws.rekognition#StatusMessage", + "traits": { + "smithy.api#documentation": "

\n The status message for the dataset.\n

" + } + }, + "StatusMessageCode": { + "target": "com.amazonaws.rekognition#DatasetStatusMessageCode", + "traits": { + "smithy.api#documentation": "

\n The status message code for the dataset operation. If a service error occurs, try the \n API call again later. If a client error occurs, check the input parameters to the dataset\n API call that failed.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Summary information for an Amazon Rekognition Custom Labels dataset. For more information, see \n ProjectDescription.\n

" + } + }, + "com.amazonaws.rekognition#DatasetMetadataList": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#DatasetMetadata" + } + }, + "com.amazonaws.rekognition#DatasetSource": { + "type": "structure", + "members": { + "GroundTruthManifest": { + "target": "com.amazonaws.rekognition#GroundTruthManifest" + }, + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe ARN of an Amazon Rekognition Custom Labels dataset that you want to copy.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nThe source that Amazon Rekognition Custom Labels uses to create a dataset. To\nuse an Amazon Sagemaker format manifest file, specify the S3 bucket location in the GroundTruthManifest field.\nThe S3 bucket must be in your AWS account.\nTo create a copy of an existing dataset, specify the Amazon Resource Name (ARN) of\nan existing dataset in DatasetArn.

\n

You need to specify a value for DatasetArn or GroundTruthManifest, but not both.\n if you supply both values, or if you don't specify any values, an InvalidParameterException exception occurs. \n

\n

For more information, see CreateDataset.

" + } + }, + "com.amazonaws.rekognition#DatasetStats": { + "type": "structure", + "members": { + "LabeledEntries": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

\nThe total number of images in the dataset that have labels.\n

" + } + }, + "TotalEntries": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

\nThe total number of images in the dataset.\n

" + } + }, + "TotalLabels": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

\nThe total number of labels declared in the dataset.\n

" + } + }, + "ErrorEntries": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

\n The total number of entries that contain at least one error.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nProvides statistics about a dataset. For more information, see DescribeDataset.\n\n

" + } + }, + "com.amazonaws.rekognition#DatasetStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_COMPLETE", + "name": "CREATE_COMPLETE" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "UPDATE_IN_PROGRESS", + "name": "UPDATE_IN_PROGRESS" + }, + { + "value": "UPDATE_COMPLETE", + "name": "UPDATE_COMPLETE" + }, + { + "value": "UPDATE_FAILED", + "name": "UPDATE_FAILED" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + } + ] + } + }, + "com.amazonaws.rekognition#DatasetStatusMessageCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SUCCESS", + "name": "SUCCESS" + }, + { + "value": "SERVICE_ERROR", + "name": "SERVICE_ERROR" + }, + { + "value": "CLIENT_ERROR", + "name": "CLIENT_ERROR" + } + ] + } + }, + "com.amazonaws.rekognition#DatasetType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRAIN", + "name": "TRAIN" + }, + { + "value": "TEST", + "name": "TEST" + } + ] + } + }, "com.amazonaws.rekognition#DateTime": { "type": "timestamp" }, @@ -1106,13 +1508,68 @@ } } }, - "com.amazonaws.rekognition#DeleteCollection": { + "com.amazonaws.rekognition#DeleteCollection": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#DeleteCollectionRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#DeleteCollectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the specified collection. Note that this operation\n removes all faces in the collection. For an example, see delete-collection-procedure.

\n\n

This operation requires permissions to perform the\n rekognition:DeleteCollection action.

" + } + }, + "com.amazonaws.rekognition#DeleteCollectionRequest": { + "type": "structure", + "members": { + "CollectionId": { + "target": "com.amazonaws.rekognition#CollectionId", + "traits": { + "smithy.api#documentation": "

ID of the collection to delete.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rekognition#DeleteCollectionResponse": { + "type": "structure", + "members": { + "StatusCode": { + "target": "com.amazonaws.rekognition#UInteger", + "traits": { + "smithy.api#documentation": "

HTTP status code that indicates the result of the operation.

" + } + } + } + }, + "com.amazonaws.rekognition#DeleteDataset": { "type": "operation", "input": { - "target": "com.amazonaws.rekognition#DeleteCollectionRequest" + "target": "com.amazonaws.rekognition#DeleteDatasetRequest" }, "output": { - "target": "com.amazonaws.rekognition#DeleteCollectionResponse" + "target": "com.amazonaws.rekognition#DeleteDatasetResponse" }, "errors": [ { @@ -1124,9 +1581,15 @@ { "target": "com.amazonaws.rekognition#InvalidParameterException" }, + { + "target": "com.amazonaws.rekognition#LimitExceededException" + }, { "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" }, + { + "target": "com.amazonaws.rekognition#ResourceInUseException" + }, { "target": "com.amazonaws.rekognition#ResourceNotFoundException" }, @@ -1135,31 +1598,24 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified collection. Note that this operation\n removes all faces in the collection. For an example, see delete-collection-procedure.

\n\n

This operation requires permissions to perform the\n rekognition:DeleteCollection action.

" + "smithy.api#documentation": "

Deletes an existing Amazon Rekognition Custom Labels dataset.\n Deleting a dataset might take while. Use DescribeDataset to check the \n current status. The dataset is still deleting if the value of Status is\n DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get\n a ResourceNotFoundException exception.\n\n

\n

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS)\n or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

\n

This operation requires permissions to perform the rekognition:DeleteDataset action.

" } }, - "com.amazonaws.rekognition#DeleteCollectionRequest": { + "com.amazonaws.rekognition#DeleteDatasetRequest": { "type": "structure", "members": { - "CollectionId": { - "target": "com.amazonaws.rekognition#CollectionId", + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", "traits": { - "smithy.api#documentation": "

ID of the collection to delete.

", + "smithy.api#documentation": "

\nThe ARN of the Amazon Rekognition Custom Labels dataset that you want to delete. \n

", "smithy.api#required": {} } } } }, - "com.amazonaws.rekognition#DeleteCollectionResponse": { + "com.amazonaws.rekognition#DeleteDatasetResponse": { "type": "structure", - "members": { - "StatusCode": { - "target": "com.amazonaws.rekognition#UInteger", - "traits": { - "smithy.api#documentation": "

HTTP status code that indicates the result of the operation.

" - } - } - } + "members": {} }, "com.amazonaws.rekognition#DeleteFaces": { "type": "operation", @@ -1255,7 +1711,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all models associated \n with the project. To delete a model, see DeleteProjectVersion.

\n

This operation requires permissions to perform the\n rekognition:DeleteProject action.

" + "smithy.api#documentation": "

Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all models associated \n with the project. To delete a model, see DeleteProjectVersion.

\n

\n DeleteProject is an asynchronous operation. To check if the project is deleted,\n call DescribeProjects. The project is deleted when the project no longer appears in the\n response.

\n

This operation requires permissions to perform the\n rekognition:DeleteProject action.

" } }, "com.amazonaws.rekognition#DeleteProjectRequest": { @@ -1463,6 +1919,61 @@ } } }, + "com.amazonaws.rekognition#DescribeDataset": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#DescribeDatasetRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#DescribeDatasetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

\nDescribes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and\nstatistics about the images and labels in a dataset. \n

\n

This operation requires permissions to perform the rekognition:DescribeDataset action.

" + } + }, + "com.amazonaws.rekognition#DescribeDatasetRequest": { + "type": "structure", + "members": { + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the dataset that you want to describe.\n

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rekognition#DescribeDatasetResponse": { + "type": "structure", + "members": { + "DatasetDescription": { + "target": "com.amazonaws.rekognition#DatasetDescription", + "traits": { + "smithy.api#documentation": "

\nThe description for the dataset.\n

" + } + } + } + }, "com.amazonaws.rekognition#DescribeProjectVersions": { "type": "operation", "input": { @@ -1495,7 +2006,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists and describes the models in an Amazon Rekognition Custom Labels project. You \n can specify up to 10 model versions in ProjectVersionArns. If\n you don't specify a value, descriptions for all models are returned.

\n

This operation requires permissions to perform the rekognition:DescribeProjectVersions\n action.

", + "smithy.api#documentation": "

Lists and describes the versions of a model in an Amazon Rekognition Custom Labels project. You \n can specify up to 10 model versions in ProjectVersionArns. If\n you don't specify a value, descriptions for all model versions in the project are returned.

\n

This operation requires permissions to perform the rekognition:DescribeProjectVersions\n action.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -1634,7 +2145,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists and gets information about your Amazon Rekognition Custom Labels projects.

\n

This operation requires permissions to perform the rekognition:DescribeProjects action.

", + "smithy.api#documentation": "

Gets information about your Amazon Rekognition Custom Labels projects.

\n

This operation requires permissions to perform the rekognition:DescribeProjects action.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -1657,6 +2168,12 @@ "traits": { "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

" } + }, + "ProjectNames": { + "target": "com.amazonaws.rekognition#ProjectNames", + "traits": { + "smithy.api#documentation": "

A list of the projects that you want Amazon Rekognition Custom Labels to describe. If you don't specify a value, \n the response includes descriptions for all the projects in your AWS account.

" + } } } }, @@ -2315,6 +2832,84 @@ "smithy.api#documentation": "

A set of parameters that allow you to filter out certain results from your returned results.

" } }, + "com.amazonaws.rekognition#DistributeDataset": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the dataset that you want to use.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n A training dataset or a test dataset used in a dataset distribution operation.\n For more information, see DistributeDatasetEntries.\n

" + } + }, + "com.amazonaws.rekognition#DistributeDatasetEntries": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#DistributeDatasetEntriesRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#DistributeDatasetEntriesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotReadyException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project.\n DistributeDatasetEntries moves 20% of the training dataset images to the test dataset.\n An entry is a JSON Line that describes an image.\n

\n

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. \n The training dataset must contain the images that you want to split. The test dataset \n must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

\n

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation\n is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. \n If the dataset split fails, the value of Status is UPDATE_FAILED.

\n\n

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

" + } + }, + "com.amazonaws.rekognition#DistributeDatasetEntriesRequest": { + "type": "structure", + "members": { + "Datasets": { + "target": "com.amazonaws.rekognition#DistributeDatasetMetadataList", + "traits": { + "smithy.api#documentation": "

The ARNS for the training dataset and test dataset that you want to use. The datasets must belong to\n the same project. The test dataset must be empty.\n

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rekognition#DistributeDatasetEntriesResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.rekognition#DistributeDatasetMetadataList": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#DistributeDataset" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } + } + }, "com.amazonaws.rekognition#Emotion": { "type": "structure", "members": { @@ -2778,7 +3373,7 @@ "FaceMatchThreshold": { "target": "com.amazonaws.rekognition#Percent", "traits": { - "smithy.api#documentation": "

Minimum face match confidence score that must be met to return a result for a recognized face. Default is 80.\n 0 is the lowest confidence. 100 is the highest confidence.

" + "smithy.api#documentation": "

Minimum face match confidence score that must be met to return a result for a recognized face. The default is 80.\n 0 is the lowest confidence. 100 is the highest confidence. Values between 0 and 100 are accepted, and values lower than 80 are set to 80.

" } } }, @@ -2970,7 +3565,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by\n StartCelebrityRecognition.

\n

Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call\n to StartCelebrityRecognition which returns a job identifier (JobId).\n When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service\n topic registered in the initial call to StartCelebrityRecognition.\n To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS\n topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier\n (JobId) from the initial call to StartCelebrityDetection.

\n \n

For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

\n

\n GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array\n (Celebrities) of CelebrityRecognition \n objects. Each CelebrityRecognition contains information about the celebrity in a CelebrityDetail\n object and the time, Timestamp, the celebrity was detected.\n

\n \n

\n GetCelebrityRecognition only returns the default \n facial attributes (BoundingBox, Confidence, \n Landmarks, Pose, and Quality). The other facial attributes listed\n in the Face object of the following response syntax are not returned. For more information,\n see FaceDetail in the Amazon Rekognition Developer Guide.

\n
\n

By default, the Celebrities array is sorted by time (milliseconds from the start of the video).\n You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

\n

The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store\n the additional information urls, you can get them later by calling GetCelebrityInfo with the celebrity identifer.

\n

No information is returned for faces not recognized as celebrities.

\n

Use MaxResults parameter to limit the number of labels returned. If there are more results than\n specified in MaxResults, the value of NextToken in the operation response contains a\n pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection\n and populate the NextToken request parameter with the token\n value returned from the previous call to GetCelebrityRecognition.

", + "smithy.api#documentation": "

Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by\n StartCelebrityRecognition.

\n

Celebrity recognition in a video is an asynchronous operation. Analysis is started by a\n call to StartCelebrityRecognition which returns a job identifier\n (JobId).

\n

When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion\n status to the Amazon Simple Notification Service topic registered in the initial call to\n StartCelebrityRecognition. To get the results of the celebrity recognition\n analysis, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetCelebrityDetection and pass the job\n identifier (JobId) from the initial call to StartCelebrityDetection.

\n \n

For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

\n

\n GetCelebrityRecognition returns detected celebrities and the time(s) they\n are detected in an array (Celebrities) of CelebrityRecognition\n objects. Each CelebrityRecognition\n contains information about the celebrity in a CelebrityDetail object and the\n time, Timestamp, the celebrity was detected. This CelebrityDetail object stores information about the detected celebrity's face\n attributes, a face bounding box, known gender, the celebrity's name, and a confidence\n estimate.

\n \n

\n GetCelebrityRecognition only returns the default facial\n attributes (BoundingBox, Confidence, Landmarks,\n Pose, and Quality). The BoundingBox field only\n applies to the detected face instance. The other facial attributes listed in the\n Face object of the following response syntax are not returned. For more\n information, see FaceDetail in the Amazon Rekognition Developer Guide.

\n
\n

By default, the Celebrities array is sorted by time (milliseconds from the start of the video).\n You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

\n

The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store\n the additional information urls, you can get them later by calling GetCelebrityInfo with the celebrity identifer.

\n

No information is returned for faces not recognized as celebrities.

\n

Use MaxResults parameter to limit the number of labels returned. If there are more results than\n specified in MaxResults, the value of NextToken in the operation response contains a\n pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection\n and populate the NextToken request parameter with the token\n value returned from the previous call to GetCelebrityRecognition.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3787,6 +4382,15 @@ } } }, + "com.amazonaws.rekognition#GroundTruthBlob": { + "type": "blob", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5242880 + } + } + }, "com.amazonaws.rekognition#GroundTruthManifest": { "type": "structure", "members": { @@ -3798,6 +4402,12 @@ "smithy.api#documentation": "

The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest file. \n

" } }, + "com.amazonaws.rekognition#HasErrors": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.rekognition#HumanLoopActivationOutput": { "type": "structure", "members": { @@ -4292,6 +4902,12 @@ "smithy.api#error": "client" } }, + "com.amazonaws.rekognition#IsLabeled": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.rekognition#JobId": { "type": "string", "traits": { @@ -4624,40 +5240,243 @@ ] } }, - "com.amazonaws.rekognition#Landmarks": { - "type": "list", - "member": { - "target": "com.amazonaws.rekognition#Landmark" + "com.amazonaws.rekognition#Landmarks": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#Landmark" + } + }, + "com.amazonaws.rekognition#LimitExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.rekognition#String" + }, + "Code": { + "target": "com.amazonaws.rekognition#String" + }, + "Logref": { + "target": "com.amazonaws.rekognition#String", + "traits": { + "smithy.api#documentation": "

A universally unique identifier (UUID) for the request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An Amazon Rekognition service limit was exceeded. For example, if you start too many Amazon Rekognition Video jobs concurrently, calls to start operations \n (StartLabelDetection, for example) will raise a LimitExceededException exception (HTTP status code: 400) until\n the number of concurrently running jobs is below the Amazon Rekognition service limit.

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.rekognition#ListCollections": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#ListCollectionsRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#ListCollectionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidPaginationTokenException" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns list of collection IDs in your account.\n If the result is truncated, the response also provides a NextToken\n that you can use in the subsequent request to fetch the next set of collection IDs.

\n \n

For an example, see Listing Collections in the Amazon Rekognition Developer Guide.

\n

This operation requires permissions to perform the rekognition:ListCollections action.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CollectionIds", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.rekognition#ListCollectionsRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.rekognition#PaginationToken", + "traits": { + "smithy.api#documentation": "

Pagination token from the previous response.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.rekognition#PageSize", + "traits": { + "smithy.api#documentation": "

Maximum number of collection IDs to return.

" + } + } + } + }, + "com.amazonaws.rekognition#ListCollectionsResponse": { + "type": "structure", + "members": { + "CollectionIds": { + "target": "com.amazonaws.rekognition#CollectionIdList", + "traits": { + "smithy.api#documentation": "

An array of collection IDs.

" + } + }, + "NextToken": { + "target": "com.amazonaws.rekognition#PaginationToken", + "traits": { + "smithy.api#documentation": "

If the result is truncated, the response provides a NextToken that you can\n use in the subsequent request to fetch the next set of collection IDs.

" + } + }, + "FaceModelVersions": { + "target": "com.amazonaws.rekognition#FaceModelVersionList", + "traits": { + "smithy.api#documentation": "

Version numbers of the face detection models associated with the collections in the array CollectionIds.\n For example, the value of FaceModelVersions[2] is the version number for the face detection model used\n by the collection in CollectionId[2].

" + } + } + } + }, + "com.amazonaws.rekognition#ListDatasetEntries": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#ListDatasetEntriesRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#ListDatasetEntriesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidPaginationTokenException" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceInUseException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotReadyException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

\nLists the entries (images) within a dataset. An entry is a\nJSON Line that contains the information for a single image, including\nthe image location, assigned labels, and object location bounding boxes. For \nmore information, see Creating a manifest file.

\n

JSON Lines in the response include information about non-terminal\n errors found in the dataset. \n Non terminal errors are reported in errors lists within each JSON Line. The\n same information is reported in the training and testing validation result manifests that\n Amazon Rekognition Custom Labels creates during model training.\n

\n \n

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.\n

\n

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DatasetEntries", + "pageSize": "MaxResults" + } } }, - "com.amazonaws.rekognition#LimitExceededException": { + "com.amazonaws.rekognition#ListDatasetEntriesPageSize": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.rekognition#ListDatasetEntriesRequest": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.rekognition#String" + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) for the dataset that you want to use. \n

", + "smithy.api#required": {} + } }, - "Code": { - "target": "com.amazonaws.rekognition#String" + "ContainsLabels": { + "target": "com.amazonaws.rekognition#DatasetLabels", + "traits": { + "smithy.api#documentation": "

Specifies a label filter for the response. The response includes an entry only if one or more of the labels in ContainsLabels exist in the entry. \n

" + } }, - "Logref": { - "target": "com.amazonaws.rekognition#String", + "Labeled": { + "target": "com.amazonaws.rekognition#IsLabeled", "traits": { - "smithy.api#documentation": "

A universally unique identifier (UUID) for the request.

" + "smithy.api#documentation": "

\n Specify true to get only the JSON Lines where the image is labeled. \n Specify false to get only the JSON Lines where the image isn't labeled. If you\n don't specify Labeled, ListDatasetEntries returns JSON Lines for labeled and unlabeled \n images.\n

" + } + }, + "SourceRefContains": { + "target": "com.amazonaws.rekognition#QueryString", + "traits": { + "smithy.api#documentation": "

If specified, ListDatasetEntries only returns JSON Lines where the value of SourceRefContains is\n part of the source-ref field. The source-ref field contains the Amazon S3 location of the image.\n You can use SouceRefContains for tasks such as getting the JSON Line for a single image, or gettting JSON Lines for all images within a specific folder.

" + } + }, + "HasErrors": { + "target": "com.amazonaws.rekognition#HasErrors", + "traits": { + "smithy.api#documentation": "

Specifies an error filter for the response. Specify True to only include entries that have errors.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.rekognition#ExtendedPaginationToken", + "traits": { + "smithy.api#documentation": "

If the previous response was incomplete (because there is more\n results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.rekognition#ListDatasetEntriesPageSize", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

" } } - }, - "traits": { - "smithy.api#documentation": "

An Amazon Rekognition service limit was exceeded. For example, if you start too many Amazon Rekognition Video jobs concurrently, calls to start operations \n (StartLabelDetection, for example) will raise a LimitExceededException exception (HTTP status code: 400) until\n the number of concurrently running jobs is below the Amazon Rekognition service limit.

", - "smithy.api#error": "client" } }, - "com.amazonaws.rekognition#ListCollections": { + "com.amazonaws.rekognition#ListDatasetEntriesResponse": { + "type": "structure", + "members": { + "DatasetEntries": { + "target": "com.amazonaws.rekognition#DatasetEntries", + "traits": { + "smithy.api#documentation": "

\nA list of entries (images) in the dataset.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.rekognition#ExtendedPaginationToken", + "traits": { + "smithy.api#documentation": "

If the previous response was incomplete (because there is more\n results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of results.

" + } + } + } + }, + "com.amazonaws.rekognition#ListDatasetLabels": { "type": "operation", "input": { - "target": "com.amazonaws.rekognition#ListCollectionsRequest" + "target": "com.amazonaws.rekognition#ListDatasetLabelsRequest" }, "output": { - "target": "com.amazonaws.rekognition#ListCollectionsResponse" + "target": "com.amazonaws.rekognition#ListDatasetLabelsResponse" }, "errors": [ { @@ -4675,59 +5494,76 @@ { "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" }, + { + "target": "com.amazonaws.rekognition#ResourceInUseException" + }, { "target": "com.amazonaws.rekognition#ResourceNotFoundException" }, + { + "target": "com.amazonaws.rekognition#ResourceNotReadyException" + }, { "target": "com.amazonaws.rekognition#ThrottlingException" } ], "traits": { - "smithy.api#documentation": "

Returns list of collection IDs in your account.\n If the result is truncated, the response also provides a NextToken\n that you can use in the subsequent request to fetch the next set of collection IDs.

\n \n

For an example, see Listing Collections in the Amazon Rekognition Developer Guide.

\n

This operation requires permissions to perform the rekognition:ListCollections action.

", + "smithy.api#documentation": "

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see \n Labeling images.\n

\n

\n Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images\n in the Amazon Rekognition Custom Labels Developer Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "CollectionIds", + "items": "DatasetLabelDescriptions", "pageSize": "MaxResults" } } }, - "com.amazonaws.rekognition#ListCollectionsRequest": { + "com.amazonaws.rekognition#ListDatasetLabelsPageSize": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.rekognition#ListDatasetLabelsRequest": { "type": "structure", "members": { + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the dataset that you want to use.\n

", + "smithy.api#required": {} + } + }, "NextToken": { - "target": "com.amazonaws.rekognition#PaginationToken", + "target": "com.amazonaws.rekognition#ExtendedPaginationToken", "traits": { - "smithy.api#documentation": "

Pagination token from the previous response.

" + "smithy.api#documentation": "

If the previous response was incomplete (because there is more\n results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of results.

" } }, "MaxResults": { - "target": "com.amazonaws.rekognition#PageSize", + "target": "com.amazonaws.rekognition#ListDatasetLabelsPageSize", "traits": { - "smithy.api#documentation": "

Maximum number of collection IDs to return.

" + "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

" } } } }, - "com.amazonaws.rekognition#ListCollectionsResponse": { + "com.amazonaws.rekognition#ListDatasetLabelsResponse": { "type": "structure", "members": { - "CollectionIds": { - "target": "com.amazonaws.rekognition#CollectionIdList", + "DatasetLabelDescriptions": { + "target": "com.amazonaws.rekognition#DatasetLabelDescriptions", "traits": { - "smithy.api#documentation": "

An array of collection IDs.

" + "smithy.api#documentation": "

\nA list of the labels in the dataset.\n

" } }, "NextToken": { - "target": "com.amazonaws.rekognition#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the result is truncated, the response provides a NextToken that you can\n use in the subsequent request to fetch the next set of collection IDs.

" - } - }, - "FaceModelVersions": { - "target": "com.amazonaws.rekognition#FaceModelVersionList", + "target": "com.amazonaws.rekognition#ExtendedPaginationToken", "traits": { - "smithy.api#documentation": "

Version numbers of the face detection models associated with the collections in the array CollectionIds.\n For example, the value of FaceModelVersions[2] is the version number for the face detection model used\n by the collection in CollectionId[2].

" + "smithy.api#documentation": "

If the previous response was incomplete (because there is more\n results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of results.

" } } } @@ -5364,10 +6200,16 @@ "traits": { "smithy.api#documentation": "

The current status of the project.

" } + }, + "Datasets": { + "target": "com.amazonaws.rekognition#DatasetMetadataList", + "traits": { + "smithy.api#documentation": "

\n Information about the training and test datasets in the project.\n

" + } } }, "traits": { - "smithy.api#documentation": "

A description of a Amazon Rekognition Custom Labels project.

" + "smithy.api#documentation": "

A description of an Amazon Rekognition Custom Labels project. For more information, see DescribeProjects.

" } }, "com.amazonaws.rekognition#ProjectDescriptions": { @@ -5386,6 +6228,18 @@ "smithy.api#pattern": "^[a-zA-Z0-9_.\\-]+$" } }, + "com.amazonaws.rekognition#ProjectNames": { + "type": "list", + "member": { + "target": "com.amazonaws.rekognition#ProjectName" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.rekognition#ProjectStatus": { "type": "string", "traits": { @@ -5451,7 +6305,7 @@ "BillableTrainingTimeInSeconds": { "target": "com.amazonaws.rekognition#ULong", "traits": { - "smithy.api#documentation": "

The duration, in seconds, that the model version has been billed for training. \n This value is only returned if the model version has been successfully trained.

" + "smithy.api#documentation": "

The duration, in seconds, that you were billed for a successful training of the model version. \n This value is only returned if the model version has been successfully trained.

" } }, "TrainingEndTimestamp": { @@ -5493,12 +6347,12 @@ "KmsKeyId": { "target": "com.amazonaws.rekognition#KmsKeyId", "traits": { - "smithy.api#documentation": "

The identifer for the AWS Key Management Service (AWS KMS) customer master key that was used to encrypt the model during training.

" + "smithy.api#documentation": "

The identifer for the AWS Key Management Service key (AWS KMS key) that was used to encrypt the model during training.

" } } }, "traits": { - "smithy.api#documentation": "

The description of a version of a model.

" + "smithy.api#documentation": "

A description of a version of an Amazon Rekognition Custom Labels model.

" } }, "com.amazonaws.rekognition#ProjectVersionDescriptions": { @@ -5761,6 +6615,16 @@ ] } }, + "com.amazonaws.rekognition#QueryString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "\\S" + } + }, "com.amazonaws.rekognition#Reason": { "type": "string", "traits": { @@ -5837,7 +6701,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities\n in the Amazon Rekognition Developer Guide.

\n

\n RecognizeCelebrities returns the 64 largest faces in the image. It lists\n recognized celebrities in the CelebrityFaces array and unrecognized faces in the\n UnrecognizedFaces array. RecognizeCelebrities doesn't return\n celebrities whose faces aren't among the largest 64 faces in the image.

\n\n

For each celebrity recognized, RecognizeCelebrities returns a\n Celebrity object. The Celebrity object contains the celebrity\n name, ID, URL links to additional information, match confidence, and a\n ComparedFace object that you can use to locate the celebrity's face on the\n image.

\n

Amazon Rekognition doesn't retain information about which images a celebrity has been recognized\n in. Your application must store this information and use the Celebrity ID\n property as a unique identifier for the celebrity. If you don't store the celebrity name or\n additional information URLs returned by RecognizeCelebrities, you will need the\n ID to identify the celebrity in a call to the GetCelebrityInfo\n operation.

\n

You pass the input image either as base64-encoded image bytes or as a reference to an\n image in an Amazon S3 bucket. If you use the\n AWS\n CLI to call Amazon Rekognition operations, passing image bytes is not\n supported. The image must be either a PNG or JPEG formatted file.

\n\n\n\n \n

For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

\n

This operation requires permissions to perform the\n rekognition:RecognizeCelebrities operation.

" + "smithy.api#documentation": "

Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities\n in the Amazon Rekognition Developer Guide.

\n

\n RecognizeCelebrities returns the 64 largest faces in the image. It lists the\n recognized celebrities in the CelebrityFaces array and any unrecognized faces in\n the UnrecognizedFaces array. RecognizeCelebrities doesn't return\n celebrities whose faces aren't among the largest 64 faces in the image.

\n\n

For each celebrity recognized, RecognizeCelebrities returns a\n Celebrity object. The Celebrity object contains the celebrity\n name, ID, URL links to additional information, match confidence, and a\n ComparedFace object that you can use to locate the celebrity's face on the\n image.

\n

Amazon Rekognition doesn't retain information about which images a celebrity has been recognized\n in. Your application must store this information and use the Celebrity ID\n property as a unique identifier for the celebrity. If you don't store the celebrity name or\n additional information URLs returned by RecognizeCelebrities, you will need the\n ID to identify the celebrity in a call to the GetCelebrityInfo\n operation.

\n

You pass the input image either as base64-encoded image bytes or as a reference to an\n image in an Amazon S3 bucket. If you use the\n AWS\n CLI to call Amazon Rekognition operations, passing image bytes is not\n supported. The image must be either a PNG or JPEG formatted file.

\n\n\n\n \n

For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

\n

This operation requires permissions to perform the\n rekognition:RecognizeCelebrities operation.

" } }, "com.amazonaws.rekognition#RecognizeCelebritiesRequest": { @@ -5903,6 +6767,21 @@ }, "com.amazonaws.rekognition#RekognitionService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Rekognition", + "arnNamespace": "rekognition", + "cloudFormationName": "Rekognition", + "cloudTrailEventSource": "rekognition.amazonaws.com", + "endpointPrefix": "rekognition" + }, + "aws.auth#sigv4": { + "name": "rekognition" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

This is the Amazon Rekognition API reference.

", + "smithy.api#title": "Amazon Rekognition" + }, "version": "2016-06-27", "operations": [ { @@ -5911,6 +6790,9 @@ { "target": "com.amazonaws.rekognition#CreateCollection" }, + { + "target": "com.amazonaws.rekognition#CreateDataset" + }, { "target": "com.amazonaws.rekognition#CreateProject" }, @@ -5923,6 +6805,9 @@ { "target": "com.amazonaws.rekognition#DeleteCollection" }, + { + "target": "com.amazonaws.rekognition#DeleteDataset" + }, { "target": "com.amazonaws.rekognition#DeleteFaces" }, @@ -5938,6 +6823,9 @@ { "target": "com.amazonaws.rekognition#DescribeCollection" }, + { + "target": "com.amazonaws.rekognition#DescribeDataset" + }, { "target": "com.amazonaws.rekognition#DescribeProjects" }, @@ -5965,6 +6853,9 @@ { "target": "com.amazonaws.rekognition#DetectText" }, + { + "target": "com.amazonaws.rekognition#DistributeDatasetEntries" + }, { "target": "com.amazonaws.rekognition#GetCelebrityInfo" }, @@ -5998,6 +6889,12 @@ { "target": "com.amazonaws.rekognition#ListCollections" }, + { + "target": "com.amazonaws.rekognition#ListDatasetEntries" + }, + { + "target": "com.amazonaws.rekognition#ListDatasetLabels" + }, { "target": "com.amazonaws.rekognition#ListFaces" }, @@ -6057,23 +6954,11 @@ }, { "target": "com.amazonaws.rekognition#UntagResource" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "Rekognition", - "arnNamespace": "rekognition", - "cloudFormationName": "Rekognition", - "cloudTrailEventSource": "rekognition.amazonaws.com", - "endpointPrefix": "rekognition" - }, - "aws.auth#sigv4": { - "name": "rekognition" }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

This is the Amazon Rekognition API reference.

", - "smithy.api#title": "Amazon Rekognition" - } + { + "target": "com.amazonaws.rekognition#UpdateDatasetEntries" + } + ] }, "com.amazonaws.rekognition#RekognitionUniqueId": { "type": "string", @@ -7995,12 +8880,12 @@ "AutoCreate": { "target": "com.amazonaws.rekognition#Boolean", "traits": { - "smithy.api#documentation": "

If specified, Amazon Rekognition Custom Labels creates a testing dataset with an 80/20 split of the training dataset.

" + "smithy.api#documentation": "

If specified, Amazon Rekognition Custom Labels temporarily splits the training dataset (80%) to create a test dataset (20%) for the training job.\n After training completes, the test dataset is not stored and the training dataset reverts to its previous size.

" } } }, "traits": { - "smithy.api#documentation": "

The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition Custom Labels creates a \n testing dataset using an 80/20 split of the training dataset.

" + "smithy.api#documentation": "

The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition Custom Labels uses the\n training dataset to create a test dataset with a temporary split of the training dataset.

" } }, "com.amazonaws.rekognition#TestingDataResult": { @@ -8286,6 +9171,67 @@ "type": "structure", "members": {} }, + "com.amazonaws.rekognition#UpdateDatasetEntries": { + "type": "operation", + "input": { + "target": "com.amazonaws.rekognition#UpdateDatasetEntriesRequest" + }, + "output": { + "target": "com.amazonaws.rekognition#UpdateDatasetEntriesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rekognition#AccessDeniedException" + }, + { + "target": "com.amazonaws.rekognition#InternalServerError" + }, + { + "target": "com.amazonaws.rekognition#InvalidParameterException" + }, + { + "target": "com.amazonaws.rekognition#LimitExceededException" + }, + { + "target": "com.amazonaws.rekognition#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.rekognition#ResourceInUseException" + }, + { + "target": "com.amazonaws.rekognition#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rekognition#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the\n information for a single image, including\n the image location, assigned labels, and object location bounding boxes. For more information, \n see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.\n

\n \n \n \n

If the source-ref field in the JSON line references an existing image, the existing image in the dataset\n is updated. \n If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

\n \n

You specify the changes that you want to make in the Changes input parameter. \n There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less\nthan 5MB.

\n\n \n

\n UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete.\n Use DescribeDataset to check the \n current status. The dataset updated successfully if the value of Status is\n UPDATE_COMPLETE.

\n

To check if any non-terminal errors occured, call ListDatasetEntries\n and check for the presence of errors lists in the JSON Lines.

\n

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). \n Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.\n

\n

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

" + } + }, + "com.amazonaws.rekognition#UpdateDatasetEntriesRequest": { + "type": "structure", + "members": { + "DatasetArn": { + "target": "com.amazonaws.rekognition#DatasetArn", + "traits": { + "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the dataset that you want to update.\n

", + "smithy.api#required": {} + } + }, + "Changes": { + "target": "com.amazonaws.rekognition#DatasetChanges", + "traits": { + "smithy.api#documentation": "

\n The changes that you want to make to the dataset. \n

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rekognition#UpdateDatasetEntriesResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.rekognition#Url": { "type": "string" }, @@ -8312,7 +9258,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the Amazon S3 bucket location of the validation data for a model training job.

\n \n

The validation data includes error information for individual \n JSON lines in the dataset. \n For more information, see Debugging a Failed Model Training in the\n Amazon Rekognition Custom Labels Developer Guide.

\n

You get the ValidationData object for the training dataset (TrainingDataResult)\n and the test dataset (TestingDataResult) by calling DescribeProjectVersions.

\n

The assets array contains a single Asset object. \n The GroundTruthManifest field of the Asset object contains the S3 bucket location of\n the validation data. \n

" + "smithy.api#documentation": "

Contains the Amazon S3 bucket location of the validation data for a model training job.

\n

The validation data includes error information for individual JSON Lines in the dataset.\n For more information, see Debugging a Failed Model Training in the\n Amazon Rekognition Custom Labels Developer Guide.

\n \n

You get the ValidationData object for the training dataset (TrainingDataResult)\n and the test dataset (TestingDataResult) by calling DescribeProjectVersions.

\n

The assets array contains a single Asset object. \n The GroundTruthManifest field of the Asset object contains the S3 bucket location of\n the validation data. \n

" } }, "com.amazonaws.rekognition#VersionName": { diff --git a/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json b/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json index c7ef1542701..4f64e6fc7f4 100644 --- a/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json +++ b/codegen/sdk-codegen/aws-models/route53resolver.2018-04-01.json @@ -384,6 +384,21 @@ } } }, + "com.amazonaws.route53resolver#AutodefinedReverseFlag": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLE", + "name": "ENABLE" + }, + { + "value": "DISABLE", + "name": "DISABLE" + } + ] + } + }, "com.amazonaws.route53resolver#BlockOverrideDnsType": { "type": "string", "traits": { @@ -2174,7 +2189,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 5000 + "max": 30000 } } }, @@ -2454,6 +2469,58 @@ } } }, + "com.amazonaws.route53resolver#GetResolverConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.route53resolver#GetResolverConfigRequest" + }, + "output": { + "target": "com.amazonaws.route53resolver#GetResolverConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.route53resolver#AccessDeniedException" + }, + { + "target": "com.amazonaws.route53resolver#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidParameterException" + }, + { + "target": "com.amazonaws.route53resolver#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.route53resolver#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the behavior configuration of Route 53 Resolver behavior for a single VPC from\n\t\t\t\tAmazon Virtual Private Cloud.

" + } + }, + "com.amazonaws.route53resolver#GetResolverConfigRequest": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

Resource ID of the Amazon VPC that you want to get information about.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.route53resolver#GetResolverConfigResponse": { + "type": "structure", + "members": { + "ResolverConfig": { + "target": "com.amazonaws.route53resolver#ResolverConfig", + "traits": { + "smithy.api#documentation": "

Information about the behavior configuration of Route 53 Resolver behavior for the VPC you\n\t\t\tspecified in the GetResolverConfig request.

" + } + } + } + }, "com.amazonaws.route53resolver#GetResolverDnssecConfig": { "type": "operation", "input": { @@ -3704,6 +3771,88 @@ } } }, + "com.amazonaws.route53resolver#ListResolverConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.route53resolver#ListResolverConfigsRequest" + }, + "output": { + "target": "com.amazonaws.route53resolver#ListResolverConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.route53resolver#AccessDeniedException" + }, + { + "target": "com.amazonaws.route53resolver#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidParameterException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidRequestException" + }, + { + "target": "com.amazonaws.route53resolver#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the Resolver configurations that you have defined. \n\t\t\tRoute 53 Resolver uses the configurations to manage DNS resolution behavior for your VPCs.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.route53resolver#ListResolverConfigsMaxResult": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 5, + "max": 100 + } + } + }, + "com.amazonaws.route53resolver#ListResolverConfigsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.route53resolver#ListResolverConfigsMaxResult", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

The maximum number of Resolver configurations that you want to return in the response to \n\t\t\ta ListResolverConfigs request. If you don't specify a value for MaxResults, \n\t\t\tup to 100 Resolver configurations are returned.

" + } + }, + "NextToken": { + "target": "com.amazonaws.route53resolver#NextToken", + "traits": { + "smithy.api#documentation": "

(Optional) If the current Amazon Web Services account has more than MaxResults Resolver configurations, use \n\t\t\tNextToken to get the second and subsequent pages of results.

\n\t\t

For the first ListResolverConfigs request, omit this value.

\n\t\t

For the second and subsequent requests, get the value of NextToken from the previous response and \n\t\t\tspecify that value for NextToken in the request.

" + } + } + } + }, + "com.amazonaws.route53resolver#ListResolverConfigsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.route53resolver#NextToken", + "traits": { + "smithy.api#documentation": "

If a response includes the last of the Resolver configurations that are associated with the current Amazon Web Services account, \n\t\t\tNextToken doesn't appear in the response.

\n\t\t

If a response doesn't include the last of the configurations, you can get more configurations by submitting another \n\t\t\tListResolverConfigs request. \n\t\t\tGet the value of NextToken that Amazon Route 53\n returned in the previous response and include it in \n\t\t\tNextToken in the next request.

" + } + }, + "ResolverConfigs": { + "target": "com.amazonaws.route53resolver#ResolverConfigList", + "traits": { + "smithy.api#documentation": "

An array that contains one ResolverConfigs element for each Resolver configuration that is associated \n\t\t\twith the current Amazon Web Services account.

" + } + } + } + }, "com.amazonaws.route53resolver#ListResolverDnssecConfigs": { "type": "operation", "input": { @@ -4626,6 +4775,67 @@ "smithy.api#documentation": "

The response to a PutResolverRulePolicy request.

" } }, + "com.amazonaws.route53resolver#ResolverAutodefinedReverseStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLING", + "name": "Enabling" + }, + { + "value": "ENABLED", + "name": "Enabled" + }, + { + "value": "DISABLING", + "name": "Disabling" + }, + { + "value": "DISABLED", + "name": "Disabled" + } + ] + } + }, + "com.amazonaws.route53resolver#ResolverConfig": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

ID for the Resolver configuration.

" + } + }, + "ResourceId": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Virtual Private Cloud VPC that you're configuring Resolver for.

" + } + }, + "OwnerId": { + "target": "com.amazonaws.route53resolver#AccountId", + "traits": { + "smithy.api#documentation": "

The owner account ID of the Amazon Virtual Private Cloud VPC.

" + } + }, + "AutodefinedReverse": { + "target": "com.amazonaws.route53resolver#ResolverAutodefinedReverseStatus", + "traits": { + "smithy.api#documentation": "

The status of whether or not the Resolver will create autodefined rules for reverse DNS\n\t\t\tlookups. This is enabled by default. The status can be one of following:

\n\t\t

Status of the rules generated by VPCs based on CIDR/Region for reverse DNS resolution. The\n\t\t\tstatus can be one of following:

\n\n\t\t " + } + } + }, + "traits": { + "smithy.api#documentation": "

A complex type that contains information about a Resolver configuration for a VPC.

" + } + }, + "com.amazonaws.route53resolver#ResolverConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.route53resolver#ResolverConfig" + } + }, "com.amazonaws.route53resolver#ResolverDNSSECValidationStatus": { "type": "string", "traits": { @@ -5017,7 +5227,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 5000 + "max": 30000 } } }, @@ -5446,6 +5656,9 @@ { "target": "com.amazonaws.route53resolver#GetFirewallRuleGroupPolicy" }, + { + "target": "com.amazonaws.route53resolver#GetResolverConfig" + }, { "target": "com.amazonaws.route53resolver#GetResolverDnssecConfig" }, @@ -5491,6 +5704,9 @@ { "target": "com.amazonaws.route53resolver#ListFirewallRules" }, + { + "target": "com.amazonaws.route53resolver#ListResolverConfigs" + }, { "target": "com.amazonaws.route53resolver#ListResolverDnssecConfigs" }, @@ -5542,6 +5758,9 @@ { "target": "com.amazonaws.route53resolver#UpdateFirewallRuleGroupAssociation" }, + { + "target": "com.amazonaws.route53resolver#UpdateResolverConfig" + }, { "target": "com.amazonaws.route53resolver#UpdateResolverDnssecConfig" }, @@ -6232,6 +6451,74 @@ } } }, + "com.amazonaws.route53resolver#UpdateResolverConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.route53resolver#UpdateResolverConfigRequest" + }, + "output": { + "target": "com.amazonaws.route53resolver#UpdateResolverConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.route53resolver#AccessDeniedException" + }, + { + "target": "com.amazonaws.route53resolver#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidParameterException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidRequestException" + }, + { + "target": "com.amazonaws.route53resolver#LimitExceededException" + }, + { + "target": "com.amazonaws.route53resolver#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.route53resolver#ResourceUnavailableException" + }, + { + "target": "com.amazonaws.route53resolver#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the behavior configuration of Route 53 Resolver behavior for a single VPC from\n\t\t\t\tAmazon Virtual Private Cloud.

" + } + }, + "com.amazonaws.route53resolver#UpdateResolverConfigRequest": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

Resource ID of the Amazon VPC that you want to update the Resolver configuration for.

", + "smithy.api#required": {} + } + }, + "AutodefinedReverseFlag": { + "target": "com.amazonaws.route53resolver#AutodefinedReverseFlag", + "traits": { + "smithy.api#documentation": "

Indicates whether or not the Resolver will create autodefined rules for reverse DNS\n\t\t\tlookups. This is enabled by default. Disabling this option will also affect EC2-Classic\n\t\t\tinstances using ClassicLink. For more information, see ClassicLink in the\n\t\t\t\t\tAmazon EC2 guide.

\n\t\t \n

It can take some time for the status change to be completed.

\n
\n\t\t

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.route53resolver#UpdateResolverConfigResponse": { + "type": "structure", + "members": { + "ResolverConfig": { + "target": "com.amazonaws.route53resolver#ResolverConfig", + "traits": { + "smithy.api#documentation": "

An array that contains settings for the specified Resolver configuration.

" + } + } + } + }, "com.amazonaws.route53resolver#UpdateResolverDnssecConfig": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json index dae8bcbed86..216ae708ef5 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json @@ -1002,6 +1002,21 @@ ] } }, + "com.amazonaws.sagemaker#AppSecurityGroupManagement": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Service", + "name": "Service" + }, + { + "value": "Customer", + "name": "Customer" + } + ] + } + }, "com.amazonaws.sagemaker#AppSortKey": { "type": "string", "traits": { @@ -1082,6 +1097,14 @@ { "value": "TensorBoard", "name": "TensorBoard" + }, + { + "value": "RStudioServerPro", + "name": "RStudioServerPro" + }, + { + "value": "RSessionGateway", + "name": "RSessionGateway" } ] } @@ -2397,6 +2420,138 @@ ] } }, + "com.amazonaws.sagemaker#BatchDescribeModelPackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageInput" + }, + "output": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageOutput" + }, + "traits": { + "smithy.api#documentation": "

This action batch describes a list of versioned model packages

" + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageError": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + }, + "ErrorResponse": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The error code and error description associated with the resource.

" + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageErrorMap": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#ModelPackageArn" + }, + "value": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageError" + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageInput": { + "type": "structure", + "members": { + "ModelPackageArnList": { + "target": "com.amazonaws.sagemaker#ModelPackageArnList", + "traits": { + "smithy.api#documentation": "

The list of Amazon Resource Name (ARN) of the model package groups.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageOutput": { + "type": "structure", + "members": { + "ModelPackageSummaries": { + "target": "com.amazonaws.sagemaker#ModelPackageSummaries", + "traits": { + "smithy.api#documentation": "

The summaries for the model package versions

" + } + }, + "BatchDescribeModelPackageErrorMap": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageErrorMap", + "traits": { + "smithy.api#documentation": "

A map of the resource and BatchDescribeModelPackageError objects \n reporting the error associated with describing the model package.

" + } + } + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageSummary": { + "type": "structure", + "members": { + "ModelPackageGroupName": { + "target": "com.amazonaws.sagemaker#EntityName", + "traits": { + "smithy.api#documentation": "

The group name for the model package

", + "smithy.api#required": {} + } + }, + "ModelPackageVersion": { + "target": "com.amazonaws.sagemaker#ModelPackageVersion", + "traits": { + "smithy.api#documentation": "

The version number of a versioned model.

" + } + }, + "ModelPackageArn": { + "target": "com.amazonaws.sagemaker#ModelPackageArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model package.

", + "smithy.api#required": {} + } + }, + "ModelPackageDescription": { + "target": "com.amazonaws.sagemaker#EntityDescription", + "traits": { + "smithy.api#documentation": "

The description of the model package.

" + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#CreationTime", + "traits": { + "smithy.api#documentation": "

The creation time of the mortgage package summary.

", + "smithy.api#required": {} + } + }, + "InferenceSpecification": { + "target": "com.amazonaws.sagemaker#InferenceSpecification", + "traits": { + "smithy.api#required": {} + } + }, + "ModelPackageStatus": { + "target": "com.amazonaws.sagemaker#ModelPackageStatus", + "traits": { + "smithy.api#documentation": "

The status of the mortgage package.

", + "smithy.api#required": {} + } + }, + "ModelApprovalStatus": { + "target": "com.amazonaws.sagemaker#ModelApprovalStatus", + "traits": { + "smithy.api#documentation": "

The approval status of the model.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides summary information about the model package.

" + } + }, "com.amazonaws.sagemaker#BatchStrategy": { "type": "string", "traits": { @@ -4795,6 +4950,18 @@ "traits": { "smithy.api#documentation": "

SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed\n key by default. For more control, specify a customer managed key.

" } + }, + "AppSecurityGroupManagement": { + "target": "com.amazonaws.sagemaker#AppSecurityGroupManagement", + "traits": { + "smithy.api#documentation": "

The entity that creates and manages the required security groups for inter-app\n communication in VPCOnly mode. Required when\n CreateDomain.AppNetworkAccessType is VPCOnly and\n DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is\n provided.

" + } + }, + "DomainSettings": { + "target": "com.amazonaws.sagemaker#DomainSettings", + "traits": { + "smithy.api#documentation": "

A collection of Domain settings.

" + } } } }, @@ -5973,9 +6140,9 @@ } }, "ModelPackageGroupName": { - "target": "com.amazonaws.sagemaker#EntityName", + "target": "com.amazonaws.sagemaker#ArnOrName", "traits": { - "smithy.api#documentation": "

The name of the model group that this model version belongs to.

\n

This parameter is required for versioned models, and does not apply to unversioned\n models.

" + "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

\n

This parameter is required for versioned models, and does not apply to unversioned\n models.

" } }, "ModelPackageDescription": { @@ -6035,6 +6202,12 @@ "smithy.api#documentation": "

A unique token that guarantees that the call to this API is idempotent.

", "smithy.api#idempotencyToken": {} } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

The metadata properties associated with the model package versions.

" + } } } }, @@ -7514,6 +7687,47 @@ } } }, + "com.amazonaws.sagemaker#CustomerMetadataKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,128}$" + } + }, + "com.amazonaws.sagemaker#CustomerMetadataKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CustomerMetadataKey" + } + }, + "com.amazonaws.sagemaker#CustomerMetadataMap": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#CustomerMetadataKey" + }, + "value": { + "target": "com.amazonaws.sagemaker#CustomerMetadataValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.sagemaker#CustomerMetadataValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,256}$" + } + }, "com.amazonaws.sagemaker#DataCaptureConfig": { "type": "structure", "members": { @@ -10646,6 +10860,24 @@ "traits": { "smithy.api#documentation": "

The Amazon Web Services KMS customer managed key used to encrypt\n the EFS volume attached to the domain.

" } + }, + "DomainSettings": { + "target": "com.amazonaws.sagemaker#DomainSettings", + "traits": { + "smithy.api#documentation": "

A collection of Domain settings.

" + } + }, + "AppSecurityGroupManagement": { + "target": "com.amazonaws.sagemaker#AppSecurityGroupManagement", + "traits": { + "smithy.api#documentation": "

The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. \n Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

" + } + }, + "SecurityGroupIdForDomainBoundary": { + "target": "com.amazonaws.sagemaker#SecurityGroupId", + "traits": { + "smithy.api#documentation": "

The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.

" + } } } }, @@ -12315,7 +12547,7 @@ "target": "com.amazonaws.sagemaker#DescribeModelPackageOutput" }, "traits": { - "smithy.api#documentation": "

Returns a description of the specified model package, which is used to create Amazon SageMaker\n models or list them on Amazon Web Services Marketplace.

\n

To create models in Amazon SageMaker, buyers can subscribe to model packages listed on Amazon Web Services\n Marketplace.

" + "smithy.api#documentation": "

Returns a description of the specified model package, which is used to create SageMaker\n models or list them on Amazon Web Services Marketplace.

\n

To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services\n Marketplace.

" } }, "com.amazonaws.sagemaker#DescribeModelPackageGroup": { @@ -12393,7 +12625,7 @@ "ModelPackageName": { "target": "com.amazonaws.sagemaker#VersionedArnOrName", "traits": { - "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of the model package to describe.

\n

When you specify a name, the name must have 1 to 63 characters. Valid\n characters are a-z, A-Z, 0-9, and - (hyphen).

", + "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of the model package to describe.

\n

When you specify a name, the name must have 1 to 63 characters. Valid\n characters are a-z, A-Z, 0-9, and - (hyphen).

", "smithy.api#required": {} } } @@ -12456,7 +12688,7 @@ "ValidationSpecification": { "target": "com.amazonaws.sagemaker#ModelPackageValidationSpecification", "traits": { - "smithy.api#documentation": "

Configurations for one or more transform jobs that Amazon SageMaker runs to test the model\n package.

" + "smithy.api#documentation": "

Configurations for one or more transform jobs that SageMaker runs to test the model\n package.

" } }, "ModelPackageStatus": { @@ -12511,6 +12743,12 @@ "traits": { "smithy.api#documentation": "

A description provided for the model approval.

" } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

The metadata properties associated with the model package versions.

" + } } } }, @@ -13545,6 +13783,15 @@ "smithy.api#documentation": "

The time when the project was created.

", "smithy.api#required": {} } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when project was last modified.

" + } + }, + "LastModifiedBy": { + "target": "com.amazonaws.sagemaker#UserContext" } } }, @@ -15087,6 +15334,52 @@ "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" } }, + "com.amazonaws.sagemaker#DomainSecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#SecurityGroupId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, + "com.amazonaws.sagemaker#DomainSettings": { + "type": "structure", + "members": { + "SecurityGroupIds": { + "target": "com.amazonaws.sagemaker#DomainSecurityGroupIds", + "traits": { + "smithy.api#documentation": "

The security groups for the Amazon Virtual Private Cloud that the Domain uses for communication between Domain-level apps and user apps.

" + } + }, + "RStudioServerProDomainSettings": { + "target": "com.amazonaws.sagemaker#RStudioServerProDomainSettings", + "traits": { + "smithy.api#documentation": "

A collection of settings that configure the RStudioServerPro Domain-level app.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A collection of settings that apply to the SageMaker Domain. These settings are specified through the CreateDomain API call.

" + } + }, + "com.amazonaws.sagemaker#DomainSettingsForUpdate": { + "type": "structure", + "members": { + "RStudioServerProDomainSettingsForUpdate": { + "target": "com.amazonaws.sagemaker#RStudioServerProDomainSettingsForUpdate", + "traits": { + "smithy.api#documentation": "

A collection of RStudioServerPro Domain-level app settings to update.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A collection of Domain configuration settings to update.

" + } + }, "com.amazonaws.sagemaker#DomainStatus": { "type": "string", "traits": { @@ -25567,6 +25860,12 @@ "traits": { "smithy.api#documentation": "

A list of the tags associated with the model package. For more information, see Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference Guide.

" } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

The metadata properties for the model package.

" + } } }, "traits": { @@ -25583,6 +25882,18 @@ "smithy.api#pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package/" } }, + "com.amazonaws.sagemaker#ModelPackageArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#ModelPackageArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.sagemaker#ModelPackageContainerDefinition": { "type": "structure", "members": { @@ -25888,6 +26199,15 @@ "target": "com.amazonaws.sagemaker#ModelPackageStatusItem" } }, + "com.amazonaws.sagemaker#ModelPackageSummaries": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#ModelPackageArn" + }, + "value": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageSummary" + } + }, "com.amazonaws.sagemaker#ModelPackageSummary": { "type": "structure", "members": { @@ -30477,6 +30797,15 @@ "traits": { "smithy.api#documentation": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in\n different ways, for example, by purpose, owner, or environment. For more information,\n see Tagging Amazon Web Services\n Resources.

" } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

A timestamp container for when the project was last modified.

" + } + }, + "LastModifiedBy": { + "target": "com.amazonaws.sagemaker#UserContext" } }, "traits": { @@ -30574,6 +30903,18 @@ { "value": "DeleteCompleted", "name": "DELETE_COMPLETED" + }, + { + "value": "UpdateInProgress", + "name": "UPDATE_IN_PROGRESS" + }, + { + "value": "UpdateCompleted", + "name": "UPDATE_COMPLETED" + }, + { + "value": "UpdateFailed", + "name": "UPDATE_FAILED" } ] } @@ -30787,6 +31128,111 @@ } } }, + "com.amazonaws.sagemaker#RSessionAppSettings": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

A collection of settings that apply to an RSessionGateway app.

" + } + }, + "com.amazonaws.sagemaker#RStudioServerProAccessStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "Enabled" + }, + { + "value": "DISABLED", + "name": "Disabled" + } + ] + } + }, + "com.amazonaws.sagemaker#RStudioServerProAppSettings": { + "type": "structure", + "members": { + "AccessStatus": { + "target": "com.amazonaws.sagemaker#RStudioServerProAccessStatus", + "traits": { + "smithy.api#documentation": "

Indicates whether the current user has access to the RStudioServerPro app.

" + } + }, + "UserGroup": { + "target": "com.amazonaws.sagemaker#RStudioServerProUserGroup", + "traits": { + "smithy.api#documentation": "

The level of permissions that the user has within the RStudioServerPro app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A collection of settings that configure user interaction with the RStudioServerPro app. RStudioServerProAppSettings cannot be updated. The RStudioServerPro app must be deleted and a new one created to make any changes.

" + } + }, + "com.amazonaws.sagemaker#RStudioServerProDomainSettings": { + "type": "structure", + "members": { + "DomainExecutionRoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

The ARN of the execution role for the RStudioServerPro Domain-level app.

", + "smithy.api#required": {} + } + }, + "RStudioConnectUrl": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

A URL pointing to an RStudio Connect server.

" + } + }, + "RStudioPackageManagerUrl": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

A URL pointing to an RStudio Package Manager server.

" + } + }, + "DefaultResourceSpec": { + "target": "com.amazonaws.sagemaker#ResourceSpec" + } + }, + "traits": { + "smithy.api#documentation": "

A collection of settings that configure the RStudioServerPro Domain-level app.

" + } + }, + "com.amazonaws.sagemaker#RStudioServerProDomainSettingsForUpdate": { + "type": "structure", + "members": { + "DomainExecutionRoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

The execution role for the RStudioServerPro Domain-level app.

", + "smithy.api#required": {} + } + }, + "DefaultResourceSpec": { + "target": "com.amazonaws.sagemaker#ResourceSpec" + } + }, + "traits": { + "smithy.api#documentation": "

A collection of settings that update the current configuration for the RStudioServerPro Domain-level app.

" + } + }, + "com.amazonaws.sagemaker#RStudioServerProUserGroup": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "R_STUDIO_ADMIN", + "name": "Admin" + }, + { + "value": "R_STUDIO_USER", + "name": "User" + } + ] + } + }, "com.amazonaws.sagemaker#RealtimeInferenceInstanceTypes": { "type": "list", "member": { @@ -31687,6 +32133,24 @@ }, "com.amazonaws.sagemaker#SageMaker": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "SageMaker", + "arnNamespace": "sagemaker", + "cloudFormationName": "SageMaker", + "cloudTrailEventSource": "sagemaker.amazonaws.com", + "endpointPrefix": "api.sagemaker" + }, + "aws.auth#sigv4": { + "name": "sagemaker" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Provides APIs for creating and managing Amazon SageMaker resources.

\n

Other Resources:

\n ", + "smithy.api#title": "Amazon SageMaker Service", + "smithy.api#xmlNamespace": { + "uri": "http://sagemaker.amazonaws.com/doc/2017-05-13/" + } + }, "version": "2017-07-24", "operations": [ { @@ -31698,6 +32162,9 @@ { "target": "com.amazonaws.sagemaker#AssociateTrialComponent" }, + { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackage" + }, { "target": "com.amazonaws.sagemaker#CreateAction" }, @@ -32391,6 +32858,9 @@ { "target": "com.amazonaws.sagemaker#UpdatePipelineExecution" }, + { + "target": "com.amazonaws.sagemaker#UpdateProject" + }, { "target": "com.amazonaws.sagemaker#UpdateTrainingJob" }, @@ -32409,25 +32879,7 @@ { "target": "com.amazonaws.sagemaker#UpdateWorkteam" } - ], - "traits": { - "aws.api#service": { - "sdkId": "SageMaker", - "arnNamespace": "sagemaker", - "cloudFormationName": "SageMaker", - "cloudTrailEventSource": "sagemaker.amazonaws.com", - "endpointPrefix": "api.sagemaker" - }, - "aws.auth#sigv4": { - "name": "sagemaker" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Provides APIs for creating and managing Amazon SageMaker resources.

\n

Other Resources:

\n ", - "smithy.api#title": "Amazon SageMaker Service", - "smithy.api#xmlNamespace": { - "uri": "http://sagemaker.amazonaws.com/doc/2017-05-13/" - } - } + ] }, "com.amazonaws.sagemaker#SagemakerServicecatalogStatus": { "type": "string", @@ -33020,6 +33472,26 @@ "smithy.api#documentation": "

Details that you specify to provision a service catalog product. For information about\n service catalog, see What is Amazon Web Services Service\n Catalog.

" } }, + "com.amazonaws.sagemaker#ServiceCatalogProvisioningUpdateDetails": { + "type": "structure", + "members": { + "ProvisioningArtifactId": { + "target": "com.amazonaws.sagemaker#ServiceCatalogEntityId", + "traits": { + "smithy.api#documentation": "

The ID of the provisioning artifact.

" + } + }, + "ProvisioningParameters": { + "target": "com.amazonaws.sagemaker#ProvisioningParameters", + "traits": { + "smithy.api#documentation": "

A list of key value pairs that you specify when you provision a product.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details that you specify to provision a service catalog product. \n For information about service catalog, see What is Amazon Web Services Service Catalog.\n

" + } + }, "com.amazonaws.sagemaker#SessionExpirationDurationInSeconds": { "type": "integer", "traits": { @@ -37216,6 +37688,12 @@ "traits": { "smithy.api#documentation": "

A collection of settings.

" } + }, + "DomainSettingsForUpdate": { + "target": "com.amazonaws.sagemaker#DomainSettingsForUpdate", + "traits": { + "smithy.api#documentation": "

A collection of DomainSettings configuration values to update.

" + } } } }, @@ -37484,15 +37962,14 @@ "ModelPackageArn": { "target": "com.amazonaws.sagemaker#ModelPackageArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model package.

", "smithy.api#required": {} } }, "ModelApprovalStatus": { "target": "com.amazonaws.sagemaker#ModelApprovalStatus", "traits": { - "smithy.api#documentation": "

The approval status of the model.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The approval status of the model.

" } }, "ApprovalDescription": { @@ -37500,6 +37977,18 @@ "traits": { "smithy.api#documentation": "

A description for the approval status of the model.

" } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

The metadata properties associated with the model package versions.

" + } + }, + "CustomerMetadataPropertiesToRemove": { + "target": "com.amazonaws.sagemaker#CustomerMetadataKeyList", + "traits": { + "smithy.api#documentation": "

The metadata properties associated with the model package versions to remove.

" + } } } }, @@ -37832,6 +38321,60 @@ } } }, + "com.amazonaws.sagemaker#UpdateProject": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#UpdateProjectInput" + }, + "output": { + "target": "com.amazonaws.sagemaker#UpdateProjectOutput" + }, + "traits": { + "smithy.api#documentation": "

Updates a machine learning (ML) project that is created from a template that \n sets up an ML pipeline from training to deploying an approved model.

\n \n

You must not update a project that is in use. If you update the\n ServiceCatalogProvisioningUpdateDetails of a project that is active\n or being created, or updated, you may lose resources already created by the\n project.

\n
" + } + }, + "com.amazonaws.sagemaker#UpdateProjectInput": { + "type": "structure", + "members": { + "ProjectName": { + "target": "com.amazonaws.sagemaker#ProjectEntityName", + "traits": { + "smithy.api#documentation": "

The name of the project.

", + "smithy.api#required": {} + } + }, + "ProjectDescription": { + "target": "com.amazonaws.sagemaker#EntityDescription", + "traits": { + "smithy.api#documentation": "

The description for the project.

" + } + }, + "ServiceCatalogProvisioningUpdateDetails": { + "target": "com.amazonaws.sagemaker#ServiceCatalogProvisioningUpdateDetails", + "traits": { + "smithy.api#documentation": "

The product ID and provisioning artifact ID to provision a service catalog. \n The provisioning artifact ID will default to the latest provisioning artifact \n ID of the product, if you don't provide the provisioning artifact ID. For more \n information, see What is Amazon Web Services Service Catalog.\n

" + } + }, + "Tags": { + "target": "com.amazonaws.sagemaker#TagList", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs. You can use tags to categorize your \n Amazon Web Services resources in different ways, for example, by purpose, owner, or \n environment. For more information, see Tagging Amazon Web Services Resources.

" + } + } + } + }, + "com.amazonaws.sagemaker#UpdateProjectOutput": { + "type": "structure", + "members": { + "ProjectArn": { + "target": "com.amazonaws.sagemaker#ProjectArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the project.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.sagemaker#UpdateTrainingJob": { "type": "operation", "input": { @@ -38391,6 +38934,18 @@ "traits": { "smithy.api#documentation": "

The TensorBoard app settings.

" } + }, + "RStudioServerProAppSettings": { + "target": "com.amazonaws.sagemaker#RStudioServerProAppSettings", + "traits": { + "smithy.api#documentation": "

A collection of settings that configure user interaction with the RStudioServerPro app.

" + } + }, + "RSessionAppSettings": { + "target": "com.amazonaws.sagemaker#RSessionAppSettings", + "traits": { + "smithy.api#documentation": "

A collection of settings that configure the RSessionGateway app.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json b/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json index 1a5cdd1ad4b..8c47f84597d 100644 --- a/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json +++ b/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json @@ -12,7 +12,7 @@ } }, "traits": { - "smithy.api#documentation": "

You don't have sufficient access to perform this action.

", + "smithy.api#documentation": "

You don't have sufficient access to perform this operation.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -23,7 +23,7 @@ "ssmAutomation": { "target": "com.amazonaws.ssmincidents#SsmAutomation", "traits": { - "smithy.api#documentation": "

The Systems Manager automation document to start as the runbook at the beginning of the\n incident.

" + "smithy.api#documentation": "

The Systems Manager automation document to start as the runbook at the beginning of\n the incident.

" } } }, @@ -48,8 +48,11 @@ "regionName": { "target": "com.amazonaws.ssmincidents#RegionName", "traits": { - "smithy.api#documentation": "

The Region name to add to the replication set.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Web Services Region name to add to the replication set.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "sseKmsKeyId": { @@ -60,7 +63,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines the Region and KMS key to add to the replication set.

" + "smithy.api#documentation": "

Defines the Amazon Web Services Region and KMS key to add to the\n replication set.

" } }, "com.amazonaws.ssmincidents#Arn": { @@ -98,12 +101,15 @@ "ssmExecutionArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the automation process.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the automation process.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } }, "traits": { - "smithy.api#documentation": "

The Systems Manager automation document\n process\n to start as the runbook at the beginning of the incident.

" + "smithy.api#documentation": "

The Systems Manager automation document process to start as the runbook at the\n beginning of the incident.

" } }, "com.amazonaws.ssmincidents#AutomationExecutionSet": { @@ -129,18 +135,23 @@ "chatbotSns": { "target": "com.amazonaws.ssmincidents#ChatbotSnsConfigurationSet", "traits": { - "smithy.api#documentation": "

The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an\n incident. You can also make updates to the incident through the chat channel\n by\n using the SNS topics.

" + "smithy.api#documentation": "

The Amazon SNS targets that Chatbot uses to notify the chat channel\n of updates to an incident. You can also make updates to the incident through the chat\n channel\n by\n using the Amazon SNS topics.

" } } }, "traits": { - "smithy.api#documentation": "

The AWS Chatbot chat channel used for collaboration during an incident.

" + "smithy.api#documentation": "

The Chatbot chat channel used for collaboration during an\n incident.

" } }, "com.amazonaws.ssmincidents#ChatbotSnsConfigurationSet": { "type": "set", "member": { - "target": "com.amazonaws.ssmincidents#SnsArn" + "target": "com.amazonaws.ssmincidents#SnsArn", + "traits": { + "smithy.api#tags": [ + "logs_investigations" + ] + } }, "traits": { "smithy.api#length": { @@ -163,13 +174,19 @@ "before": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

Before the specified timestamp

" + "smithy.api#documentation": "

Before the specified timestamp

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "after": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

After the specified timestamp.

" + "smithy.api#documentation": "

After the specified timestamp.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "equals": { @@ -203,6 +220,12 @@ "traits": { "smithy.api#documentation": "The resource type" } + }, + "retryAfter": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "If present in the output, the operation can be retried after this time" + } } }, "traits": { @@ -261,8 +284,11 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -308,7 +334,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a response plan that automates the initial response to incidents. A response\n plan engages contacts, starts chat channel collaboration, and\n initiates\n runbooks at the beginning of an incident.

", + "smithy.api#documentation": "

Creates a response plan that automates the initial response to incidents. A response\n plan engages contacts, starts chat channel collaboration, and initiates runbooks at the\n beginning of an incident.

", "smithy.api#http": { "method": "POST", "uri": "/createResponsePlan", @@ -323,15 +349,21 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "name": { "target": "com.amazonaws.ssmincidents#ResponsePlanName", "traits": { "smithy.api#documentation": "

The short format name of the response plan. Can't include spaces.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "displayName": { @@ -350,7 +382,7 @@ "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

The\n AWS Chatbot\n chat channel used for collaboration during an incident.

" + "smithy.api#documentation": "

The Chatbot chat channel used for collaboration during an\n incident.

" } }, "engagements": { @@ -429,35 +461,47 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record you are adding the event\n to.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record to which the event will be\n added.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "eventTime": { "target": "smithy.api#Timestamp", "traits": { "smithy.api#documentation": "

The time that the event occurred.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "eventType": { "target": "com.amazonaws.ssmincidents#TimelineEventType", "traits": { "smithy.api#documentation": "

The type of the event. You can create timeline events of type Custom\n Event.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "eventData": { "target": "com.amazonaws.ssmincidents#EventData", "traits": { - "smithy.api#documentation": "

A valid JSON string. There is no other schema imposed. A short description of the event.

", + "smithy.api#documentation": "

A short description of the event as a valid JSON string. There is no other schema\n imposed.

", "smithy.api#required": {} } } @@ -529,7 +573,10 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record you are deleting.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -544,13 +591,16 @@ "regionName": { "target": "com.amazonaws.ssmincidents#RegionName", "traits": { - "smithy.api#documentation": "

The name of the Region you're deleting from the replication set.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the Amazon Web Services Region you're deleting from the replication\n set.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } } }, "traits": { - "smithy.api#documentation": "

Defines the information about the Region you're deleting from your replication\n set.

" + "smithy.api#documentation": "

Defines the information about the Amazon Web Services Region you're deleting from your\n replication set.

" } }, "com.amazonaws.ssmincidents#DeleteReplicationSet": { @@ -595,7 +645,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replication set you're deleting.

", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -630,7 +683,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the resource policy that\n AWS\n Resource Access Manager uses to share your Incident Manager resource.

", + "smithy.api#documentation": "

Deletes the resource policy that Resource Access Manager uses to share your Incident Manager\n resource.

", "smithy.api#http": { "method": "POST", "uri": "/deleteResourcePolicy", @@ -645,14 +698,20 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource you're deleting the policy from.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "policyId": { "target": "com.amazonaws.ssmincidents#PolicyId", "traits": { "smithy.api#documentation": "

The ID of the resource policy you're deleting.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigation" + ] } } } @@ -684,7 +743,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified response plan. Deleting a response plan stops all linked\n CloudWatch alarms and EventBridge events from creating an incident with this response\n plan.

", + "smithy.api#documentation": "

Deletes the specified response plan. Deleting a response plan stops all linked CloudWatch alarms and EventBridge events from creating an incident with this\n response plan.

", "smithy.api#http": { "method": "POST", "uri": "/deleteResponsePlan", @@ -700,7 +759,10 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -747,15 +809,21 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that the event is part of.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "eventId": { "target": "com.amazonaws.ssmincidents#UUID", "traits": { - "smithy.api#documentation": "

The ID of the event you are updating. You can find this by using ListTimelineEvents.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the event you are updating. You can find this by using\n ListTimelineEvents.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -774,7 +842,12 @@ "com.amazonaws.ssmincidents#EngagementSet": { "type": "set", "member": { - "target": "com.amazonaws.ssmincidents#SsmContactsArn" + "target": "com.amazonaws.ssmincidents#SsmContactsArn", + "traits": { + "smithy.api#tags": [ + "logs_investigations" + ] + } }, "traits": { "smithy.api#length": { @@ -857,7 +930,10 @@ "smithy.api#length": { "max": 50 }, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "condition": { @@ -909,7 +985,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the details of the specified incident record.

", + "smithy.api#documentation": "

Returns the details for the specified incident record.

", "smithy.api#http": { "method": "GET", "uri": "/getIncidentRecord", @@ -926,7 +1002,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record.

", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -937,7 +1016,7 @@ "incidentRecord": { "target": "com.amazonaws.ssmincidents#IncidentRecord", "traits": { - "smithy.api#documentation": "

Details structure of the incident record.

", + "smithy.api#documentation": "

Details the structure of the incident record.

", "smithy.api#required": {} } } @@ -1068,7 +1147,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replication set you want to retrieve.

", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -1134,19 +1216,28 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan with the attached resource policy.

", "smithy.api#httpQuery": "resourceArn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of resource policies to display per page of results.

" + "smithy.api#documentation": "

The maximum number of resource policies to display per page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

The pagination token to continue to the next page of results.

" + "smithy.api#documentation": "

The pagination token to continue to the next page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -1212,7 +1303,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan.

", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -1230,7 +1324,7 @@ "name": { "target": "com.amazonaws.ssmincidents#ResponsePlanName", "traits": { - "smithy.api#documentation": "

The short format name of the response plan. Can't contain spaces.

", + "smithy.api#documentation": "

The short format name of the response plan. The name can't contain spaces.

", "smithy.api#required": {} } }, @@ -1250,7 +1344,7 @@ "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

The\n AWS\n Chatbot chat channel used for collaboration during an\n incident.

" + "smithy.api#documentation": "

The Chatbot chat channel used for collaboration during an\n incident.

" } }, "engagements": { @@ -1308,17 +1402,23 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that the timeline event is part of.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

", "smithy.api#httpQuery": "incidentRecordArn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "eventId": { "target": "com.amazonaws.ssmincidents#UUID", "traits": { - "smithy.api#documentation": "

The ID of the event. You can get an event's ID when you create it or by using ListTimelineEvents.

", + "smithy.api#documentation": "

The ID of the event. You can get an event's ID when you create it, or by using\n ListTimelineEvents.

", "smithy.api#httpQuery": "eventId", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -1365,7 +1465,7 @@ "summary": { "target": "com.amazonaws.ssmincidents#IncidentSummary", "traits": { - "smithy.api#documentation": "

The summary of the incident. The summary is a brief synopsis of what occurred, what is currently happening, and context.

" + "smithy.api#documentation": "

The summary of the incident. The summary is a brief synopsis of what occurred, what's\n currently happening, and context of the incident.

" } }, "status": { @@ -1425,7 +1525,7 @@ "dedupeString": { "target": "com.amazonaws.ssmincidents#DedupeString", "traits": { - "smithy.api#documentation": "

The string Incident Manager uses to prevent duplicate incidents from being created by the same incident.

", + "smithy.api#documentation": "

The string Incident Manager uses to prevent duplicate incidents from being created by the same incident in the same account.

", "smithy.api#required": {} } }, @@ -1438,7 +1538,7 @@ "notificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

The SNS targets that are notified when updates are made to an incident.

" + "smithy.api#documentation": "

The Amazon SNS targets that are notified when updates are made to an\n incident.

" } } }, @@ -1453,31 +1553,43 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The principal that started the incident.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "invokedBy": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The principal the assumed the role specified of the createdBy.

" + "smithy.api#documentation": "

The principal the assumed the role specified of the createdBy.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "resourceArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The resource that caused the incident to be created.

" + "smithy.api#documentation": "

The resource that caused the incident to be created.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "source": { "target": "com.amazonaws.ssmincidents#IncidentSource", "traits": { - "smithy.api#documentation": "

The service that started the incident. This can be manually created from Incident Manager,\n automatically created using an\n AWS\n CloudWatch alarm, or\n Amazon\n EventBridge event.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The service that started the incident. This can be manually created from Incident Manager,\n automatically created using an Amazon CloudWatch alarm, or Amazon EventBridge\n event.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } } }, "traits": { - "smithy.api#documentation": "

Details about how the incident record was created and when.

" + "smithy.api#documentation": "

Details about what created the incident record and when it was created.

" } }, "com.amazonaws.ssmincidents#IncidentRecordStatus": { @@ -1604,13 +1716,16 @@ "dedupeString": { "target": "com.amazonaws.ssmincidents#DedupeString", "traits": { - "smithy.api#documentation": "

Used to stop Incident Manager from creating multiple incident records for the same incident.

" + "smithy.api#documentation": "

Used to stop Incident Manager from creating multiple incident records for the same incident.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "notificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

The SNS targets that are notified when updates are made to an incident.

" + "smithy.api#documentation": "

The Amazon SNS targets that are notified when updates are made to an\n incident.

" } } }, @@ -1629,7 +1744,12 @@ "com.amazonaws.ssmincidents#IntegerList": { "type": "list", "member": { - "target": "smithy.api#Integer" + "target": "smithy.api#Integer", + "traits": { + "smithy.api#tags": [ + "logs_investigations" + ] + } }, "traits": { "smithy.api#length": { @@ -1667,7 +1787,10 @@ "target": "com.amazonaws.ssmincidents#ItemType", "traits": { "smithy.api#documentation": "

The type of related item. Incident Manager supports the following types:

\n ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } } }, @@ -1712,19 +1835,22 @@ "arn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the related item, if the related item is an Amazon\n resource.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the related item, if the related item is an Amazon\n resource.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "url": { "target": "com.amazonaws.ssmincidents#Url", "traits": { - "smithy.api#documentation": "

The URL, if the related item is a non-AWS resource.

" + "smithy.api#documentation": "

The URL, if the related item is a non-Amazon Web Services resource.

" } }, "metricDefinition": { "target": "com.amazonaws.ssmincidents#MetricDefinition", "traits": { - "smithy.api#documentation": "

The metric definition, if the related item is a metric in CloudWatch.

" + "smithy.api#documentation": "

The metric definition, if the related item is a metric in Amazon CloudWatch.

" } } }, @@ -1776,19 +1902,25 @@ "filters": { "target": "com.amazonaws.ssmincidents#FilterList", "traits": { - "smithy.api#documentation": "

Filter the list of incident records you are searching through. You can filter on the\n following keys:

\n " + "smithy.api#documentation": "

Filters the list of incident records through which you are searching. You can filter\n on the following keys:

\n \n

Note the following when deciding how to use Filters:

\n " } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results per page.

" + "smithy.api#documentation": "

The maximum number of results per page.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

The pagination token to continue to the next page of results.

" + "smithy.api#documentation": "

The pagination token to continue to the next page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -1855,20 +1987,29 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record that you are listing related items for.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record containing the listed related\n items.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of related items per page.

" + "smithy.api#documentation": "

The maximum number of related items per page.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

The pagination token to continue to the next page of results.

" + "smithy.api#documentation": "

The pagination token to continue to the next page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -1935,13 +2076,19 @@ "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results per page.

" + "smithy.api#documentation": "

The maximum number of results per page.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

The pagination token to continue to the next page of results.

" + "smithy.api#documentation": "

The pagination token to continue to the next page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -2008,13 +2155,19 @@ "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of response plans per page.

" + "smithy.api#documentation": "

The maximum number of response plans per page.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

The pagination token to continue to the next page of results.

" + "smithy.api#documentation": "

The pagination token to continue to the next page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -2080,7 +2233,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -2120,7 +2276,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists timeline events of the specified incident record.

", + "smithy.api#documentation": "

Lists timeline events for the specified incident record.

", "smithy.api#http": { "method": "POST", "uri": "/listTimelineEvents", @@ -2141,38 +2297,53 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that the event is part of.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "filters": { "target": "com.amazonaws.ssmincidents#FilterList", "traits": { - "smithy.api#documentation": "

Filters the timeline events based on the provided conditional values. You can filter\n timeline events using the following keys:

\n " + "smithy.api#documentation": "

Filters the timeline events based on the provided conditional values. You can filter\n timeline events using the following keys:

\n \n

Note the following when deciding how to use Filters:

\n " } }, "sortBy": { "target": "com.amazonaws.ssmincidents#TimelineEventSort", "traits": { - "smithy.api#documentation": "

Sort by the specified key value pair.

" + "smithy.api#documentation": "

Sort by the specified key value pair.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "sortOrder": { "target": "com.amazonaws.ssmincidents#SortOrder", "traits": { - "smithy.api#documentation": "

Sorts the order of timeline events by the value specified in the sortBy\n field.

" + "smithy.api#documentation": "

Sorts the order of timeline events by the value specified in the sortBy\n field.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results per page.

" + "smithy.api#documentation": "

The maximum number of results per page.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

The pagination token to continue to the next page of results.

" + "smithy.api#documentation": "

The pagination token to continue to the next page of results.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -2217,7 +2388,7 @@ "type": "string", "traits": { "smithy.api#length": { - "max": 1000 + "max": 2000 } } }, @@ -2227,7 +2398,10 @@ "snsTopicArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the SNS topic.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the SNS topic.

", + "smithy.api#tags": [ + "logs_investigations" + ] } } }, @@ -2304,14 +2478,20 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan you're adding the resource policy\n to.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "policy": { "target": "com.amazonaws.ssmincidents#Policy", "traits": { "smithy.api#documentation": "

Details of the resource policy.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } } } @@ -2342,32 +2522,32 @@ "sseKmsKeyId": { "target": "com.amazonaws.ssmincidents#SseKmsKey", "traits": { - "smithy.api#documentation": "

The ID of the KMS key used to encrypt the data in this Region.

" + "smithy.api#documentation": "

The ID of the KMS key used to encrypt the data in this Amazon Web Services Region.

" } }, "status": { "target": "com.amazonaws.ssmincidents#RegionStatus", "traits": { - "smithy.api#documentation": "

The status of the Region in the replication set.

", + "smithy.api#documentation": "

The status of the Amazon Web Services Region in the replication set.

", "smithy.api#required": {} } }, "statusMessage": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

Information displayed about the status of the Region.

" + "smithy.api#documentation": "

Information displayed about the status of the Amazon Web Services Region.

" } }, "statusUpdateDateTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The most recent date and time that the Region's status was updated.

", + "smithy.api#documentation": "

The most recent date and time that Incident Manager updated the Amazon Web Services Region's status.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about a Region in your replication set.

" + "smithy.api#documentation": "

Information about a Amazon Web Services Region in your replication set.

" } }, "com.amazonaws.ssmincidents#RegionInfoMap": { @@ -2382,7 +2562,12 @@ "com.amazonaws.ssmincidents#RegionMapInput": { "type": "map", "key": { - "target": "com.amazonaws.ssmincidents#RegionName" + "target": "com.amazonaws.ssmincidents#RegionName", + "traits": { + "smithy.api#tags": [ + "logs_investigations" + ] + } }, "value": { "target": "com.amazonaws.ssmincidents#RegionMapInputValue" @@ -2405,7 +2590,7 @@ } }, "traits": { - "smithy.api#documentation": "

The mapping between a Region and the key that's used to encrypt the data.

" + "smithy.api#documentation": "

The mapping between a Amazon Web Services Region and the key that's used to encrypt the\n data.

" } }, "com.amazonaws.ssmincidents#RegionName": { @@ -2510,7 +2695,7 @@ "regionMap": { "target": "com.amazonaws.ssmincidents#RegionInfoMap", "traits": { - "smithy.api#documentation": "

The map between each Region in your replication set and the KMS key that is used to\n encrypt the data in that Region.

", + "smithy.api#documentation": "

The map between each Amazon Web Services Region in your replication set and the KMS key that's used to encrypt the data in that Region.

", "smithy.api#required": {} } }, @@ -2524,7 +2709,7 @@ "deletionProtected": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Determines if the replication set deletion protection is enabled or not. If deletion\n protection is enabled, you can't delete the last Region in the replication set.

", + "smithy.api#documentation": "

Determines if the replication set deletion protection is enabled or not. If deletion\n protection is enabled, you can't delete the last Amazon Web Services Region in the\n replication set.

", "smithy.api#required": {} } }, @@ -2558,7 +2743,7 @@ } }, "traits": { - "smithy.api#documentation": "

The set of Regions that your Incident Manager data will be replicated to and the KMS key used\n to encrypt the data.

" + "smithy.api#documentation": "

The set of Amazon Web Services Region that your Incident Manager data will be replicated to\n and the KMS key used to encrypt the data.

" } }, "com.amazonaws.ssmincidents#ReplicationSetArnList": { @@ -2622,7 +2807,7 @@ } }, "traits": { - "smithy.api#documentation": "

Request references a resource which does not exist.

", + "smithy.api#documentation": "

Request references a resource which doesn't exist.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -2647,7 +2832,7 @@ "ramResourceShareRegion": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The Region that policy allows resources to be used in.

", + "smithy.api#documentation": "

The Amazon Web Services Region that policy allows resources to be used in.

", "smithy.api#required": {} } } @@ -2875,7 +3060,7 @@ "x-amzn-platform-id" ] }, - "smithy.api#documentation": "

AWS Systems Manager Incident Manager is an incident management console designed to help\n users mitigate and recover from incidents affecting their AWS-hosted applications. An incident\n is any unplanned interruption or reduction in quality of services.

\n

Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder team\n escalation.

", + "smithy.api#documentation": "

Systems Manager Incident Manager is an incident management console designed to help users\n mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An\n incident is any unplanned interruption or reduction in quality of services.

\n

Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder\n team escalation.

", "smithy.api#title": "AWS Systems Manager Incident Manager" } }, @@ -2973,7 +3158,10 @@ "target": "com.amazonaws.ssmincidents#RoleArn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "documentName": { @@ -2981,7 +3169,10 @@ "traits": { "smithy.api#documentation": "

The automation document's name.

", "smithy.api#pattern": "^[a-zA-Z0-9_\\-.:/]{3,128}$", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "documentVersion": { @@ -2990,13 +3181,19 @@ "smithy.api#documentation": "

The automation document's version to use when running.

", "smithy.api#length": { "max": 128 - } + }, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "targetAccount": { "target": "com.amazonaws.ssmincidents#SsmTargetAccount", "traits": { - "smithy.api#documentation": "

The account that the automation document will be run in. This can be in either the management account or an application account.

" + "smithy.api#documentation": "

The account that the automation document will be run in. This can be in either the management account or an application account.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "parameters": { @@ -3007,7 +3204,7 @@ } }, "traits": { - "smithy.api#documentation": "

Details about the Systems Manager automation document that will be used as a runbook during an incident.

" + "smithy.api#documentation": "

Details about the Systems Manager automation document that will be used as a runbook\n during an incident.

" } }, "com.amazonaws.ssmincidents#SsmContactsArn": { @@ -3102,7 +3299,7 @@ } ], "traits": { - "smithy.api#documentation": "

Used to start an incident from CloudWatch alarms, EventBridge events, or manually.

", + "smithy.api#documentation": "

Used to start an incident from CloudWatch alarms, EventBridge events, or\n manually.

", "smithy.api#http": { "method": "POST", "uri": "/startIncident", @@ -3117,15 +3314,21 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "responsePlanArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat\n channels, SNS topics, runbooks, title, and impact of the incident.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat\n channels, Amazon SNS topics, runbooks, title, and impact of the incident.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "title": { @@ -3149,7 +3352,7 @@ "relatedItems": { "target": "com.amazonaws.ssmincidents#RelatedItemList", "traits": { - "smithy.api#documentation": "

Add related items to the incident for other responders to use. Related items are AWS\n resources, external links, or files uploaded to an S3 bucket.

" + "smithy.api#documentation": "

Add related items to the incident for other responders to use. Related items are AWS\n resources, external links, or files uploaded to an Amazon S3 bucket.

" } } } @@ -3173,7 +3376,10 @@ "traits": { "smithy.api#length": { "max": 1000 - } + }, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "traits": { @@ -3267,7 +3473,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan you're adding the tags to.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "tags": { @@ -3397,27 +3606,36 @@ "source": { "target": "com.amazonaws.ssmincidents#IncidentSource", "traits": { - "smithy.api#documentation": "

Identifies the service that sourced the event. All events sourced from within AWS begin\n with \"aws.\" Customer-generated events can have any value here, as long as it doesn't begin\n with \"aws.\" We recommend the use of Java package-name style reverse domain-name strings.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Identifies the service that sourced the event. All events sourced from within Amazon Web Services begin with \"aws.\" Customer-generated events can have any value\n here, as long as it doesn't begin with \"aws.\" We recommend the use of Java\n package-name style reverse domain-name strings.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "triggerArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The ARN of the source that detected the incident.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source that detected the incident.

", + "smithy.api#tags": [ + "logs_required" + ] } }, "timestamp": { "target": "smithy.api#Timestamp", "traits": { "smithy.api#documentation": "

The time that the incident was detected.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "rawData": { "target": "com.amazonaws.ssmincidents#RawData", "traits": { - "smithy.api#documentation": "

Raw data passed from either EventBridge, CloudWatch, or Incident Manager when an\n incident is created.

" + "smithy.api#documentation": "

Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or Incident Manager when an incident is created.

" } } }, @@ -3479,7 +3697,10 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan you're removing a tag from.

", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "tagKeys": { @@ -3543,21 +3764,30 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replication set you're updating.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "deletionProtected": { "target": "smithy.api#Boolean", "traits": { "smithy.api#documentation": "

Details if deletion protection is enabled or disabled in your account.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -3595,7 +3825,7 @@ } ], "traits": { - "smithy.api#documentation": "

Update the details of an incident record. You can use this action to update an\n incident record from the defined chat channel. For more information about using actions\n in chat channels, see Interacting through chat.

", + "smithy.api#documentation": "

Update the details of an incident record. You can use this operation to update an\n incident record from the defined chat channel. For more information about using actions\n in chat channels, see Interacting through chat.

", "smithy.api#http": { "method": "POST", "uri": "/updateIncidentRecord", @@ -3610,51 +3840,60 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token that ensures that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "arn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record you are updating.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "title": { "target": "com.amazonaws.ssmincidents#IncidentTitle", "traits": { - "smithy.api#documentation": "

The title of the incident is a brief and easily recognizable.

" + "smithy.api#documentation": "

A brief description of the incident.

" } }, "summary": { "target": "com.amazonaws.ssmincidents#IncidentSummary", "traits": { - "smithy.api#documentation": "

The summary describes what has happened during the incident.

" + "smithy.api#documentation": "

A longer description of what occurred during the incident.

" } }, "impact": { "target": "com.amazonaws.ssmincidents#Impact", "traits": { - "smithy.api#documentation": "

Defines the impact to customers and applications. Providing an impact overwrites the\n impact provided by the response plan.

\n

\n Possible impacts:\n

\n " + "smithy.api#documentation": "

Defines the impact of the incident to customers and applications. Providing an impact\n overwrites the impact provided by the response plan.

\n

\n Possible impacts:\n

\n " } }, "status": { "target": "com.amazonaws.ssmincidents#IncidentRecordStatus", "traits": { - "smithy.api#documentation": "

The status of the incident. An incident can be Open or Resolved.

" + "smithy.api#documentation": "

The status of the incident. An incident can be Open or\n Resolved.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

The AWS Chatbot chat channel for responders to collaborate in.

" + "smithy.api#documentation": "

The Chatbot chat channel where responders can collaborate.

" } }, "notificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

The SNS targets that are notified when updates are made to an incident.

\n

Using multiple SNS topics creates redundancy in the case that a Region is down during\n the incident.

" + "smithy.api#documentation": "

The Amazon SNS targets that are notified when updates are made to an\n incident.

\n

Using multiple SNS topics creates redundancy in the event that a Region is down during\n the incident.

" } } } @@ -3707,15 +3946,21 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record you are updating related items\n in.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident record containing the related items you\n are updating.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "relatedItemsUpdate": { @@ -3771,13 +4016,13 @@ "addRegionAction": { "target": "com.amazonaws.ssmincidents#AddRegionAction", "traits": { - "smithy.api#documentation": "

Details about the Region that you're adding to the replication set.

" + "smithy.api#documentation": "

Details about the Amazon Web Services Region that you're adding to the replication\n set.

" } }, "deleteRegionAction": { "target": "com.amazonaws.ssmincidents#DeleteRegionAction", "traits": { - "smithy.api#documentation": "

Details about the Region that you're deleting to the replication set.

" + "smithy.api#documentation": "

Details about the Amazon Web Services Region that you're deleting to the replication\n set.

" } } }, @@ -3792,7 +4037,10 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the replication set you're updating.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "actions": { @@ -3809,8 +4057,11 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } } } @@ -3863,27 +4114,33 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "arn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the response plan.

", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "displayName": { "target": "com.amazonaws.ssmincidents#ResponsePlanDisplayName", "traits": { - "smithy.api#documentation": "

The long format name of the response plan. Can't contain spaces.

" + "smithy.api#documentation": "

The long format name of the response plan. The display name can't contain\n spaces.

" } }, "incidentTemplateTitle": { "target": "com.amazonaws.ssmincidents#IncidentTitle", "traits": { - "smithy.api#documentation": "

The short format name of the incident. Can't contain spaces.

" + "smithy.api#documentation": "

The short format name of the incident. The title can't contain spaces.

" } }, "incidentTemplateImpact": { @@ -3901,19 +4158,22 @@ "incidentTemplateDedupeString": { "target": "com.amazonaws.ssmincidents#DedupeString", "traits": { - "smithy.api#documentation": "

Used to create only one incident record for an incident.

" + "smithy.api#documentation": "

The string Incident Manager uses to prevent duplicate incidents from being created by the\n same incident in the same account.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "incidentTemplateNotificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

The SNS targets that are notified when updates are made to an incident.

" + "smithy.api#documentation": "

The Amazon SNS targets that are notified when updates are made to an\n incident.

" } }, "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

The\n AWS\n Chatbot chat channel used for collaboration during an\n incident.

\n

Use the empty structure to remove the chat channel from the response plan.

" + "smithy.api#documentation": "

The Chatbot chat channel used for collaboration during an\n incident.

\n

Use the empty structure to remove the chat channel from the response plan.

" } }, "engagements": { @@ -3978,34 +4238,49 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

A token ensuring that the action is called only once with the specified details.

", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

A token ensuring that the operation is called only once with the specified\n details.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": [ + "logs_investigations" + ] } }, "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that the timeline event is part\n of.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "eventId": { "target": "com.amazonaws.ssmincidents#UUID", "traits": { - "smithy.api#documentation": "

The ID of the event you are updating. You can find this by using ListTimelineEvents.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the event you are updating. You can find this by using\n ListTimelineEvents.

", + "smithy.api#required": {}, + "smithy.api#tags": [ + "logs_required" + ] } }, "eventTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The time that the event occurred.

" + "smithy.api#documentation": "

The time that the event occurred.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "eventType": { "target": "com.amazonaws.ssmincidents#TimelineEventType", "traits": { - "smithy.api#documentation": "

The type of the event. You can update events of type Custom Event.

" + "smithy.api#documentation": "

The type of the event. You can update events of type Custom Event.

", + "smithy.api#tags": [ + "logs_investigations" + ] } }, "eventData": { @@ -4039,7 +4314,7 @@ } }, "traits": { - "smithy.api#documentation": "

The input fails to satisfy the constraints specified by an AWS service.

", + "smithy.api#documentation": "

The input fails to satisfy the constraints specified by an Amazon Web Services\n service.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/codegen/sdk-codegen/aws-models/textract.2018-06-27.json b/codegen/sdk-codegen/aws-models/textract.2018-06-27.json index 13f62ff80b2..bf00e011431 100644 --- a/codegen/sdk-codegen/aws-models/textract.2018-06-27.json +++ b/codegen/sdk-codegen/aws-models/textract.2018-06-27.json @@ -307,7 +307,7 @@ "Page": { "target": "com.amazonaws.textract#UInteger", "traits": { - "smithy.api#documentation": "

The page on which a block was detected. Page is returned by asynchronous\n operations. Page values greater than 1 are only returned for multipage documents that are\n in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is\n considered to be a single-page document. The value of Page is always 1.\n Synchronous operations don't return Page because every input document is\n considered to be a single-page document.

" + "smithy.api#documentation": "

The page on which a block was detected. Page is returned by asynchronous\n operations. Page values greater than 1 are only returned for multipage documents that are\n in PDF or TIFF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is\n considered to be a single-page document. The value of Page is always 1.\n Synchronous operations don't return Page because every input document is\n considered to be a single-page document.

" } } }, @@ -972,6 +972,115 @@ } } }, + "com.amazonaws.textract#GetExpenseAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.textract#GetExpenseAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.textract#GetExpenseAnalysisResponse" + }, + "errors": [ + { + "target": "com.amazonaws.textract#AccessDeniedException" + }, + { + "target": "com.amazonaws.textract#InternalServerError" + }, + { + "target": "com.amazonaws.textract#InvalidJobIdException" + }, + { + "target": "com.amazonaws.textract#InvalidKMSKeyException" + }, + { + "target": "com.amazonaws.textract#InvalidParameterException" + }, + { + "target": "com.amazonaws.textract#InvalidS3ObjectException" + }, + { + "target": "com.amazonaws.textract#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.textract#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the results for an Amazon Textract asynchronous operation that analyzes invoices and\n receipts. Amazon Textract finds contact information, items purchased, and vendor name, from input\n invoices and receipts.

\n

You start asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, which returns a job identifier (JobId). Upon\n completion of the invoice/receipt analysis, Amazon Textract publishes the completion status to the\n Amazon Simple Notification Service (Amazon SNS) topic. This topic must be registered in the initial call to\n StartExpenseAnalysis. To get the results of the invoice/receipt analysis operation,\n first ensure that the status value published to the Amazon SNS topic is SUCCEEDED. If so,\n call GetExpenseAnalysis, and pass the job identifier (JobId) from the\n initial call to StartExpenseAnalysis.

\n

Use the MaxResults parameter to limit the number of blocks that are returned. If there are\n more results than specified in MaxResults, the value of NextToken in\n the operation response contains a pagination token for getting the next set of results. To get\n the next page of results, call GetExpenseAnalysis, and populate the\n NextToken request parameter with the token value that's returned from the previous\n call to GetExpenseAnalysis.

\n

For more information, see Analyzing Invoices and Receipts.

" + } + }, + "com.amazonaws.textract#GetExpenseAnalysisRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.textract#JobId", + "traits": { + "smithy.api#documentation": "

A unique identifier for the text detection job. The JobId is returned from\n StartExpenseAnalysis. A JobId value is only valid for 7 days.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.textract#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can\n specify is 20. If you specify a value greater than 20, a maximum of 20 results is\n returned. The default value is 20.

" + } + }, + "NextToken": { + "target": "com.amazonaws.textract#PaginationToken", + "traits": { + "smithy.api#documentation": "

If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination\n token in the response. You can use this pagination token to retrieve the next set of blocks.

" + } + } + } + }, + "com.amazonaws.textract#GetExpenseAnalysisResponse": { + "type": "structure", + "members": { + "DocumentMetadata": { + "target": "com.amazonaws.textract#DocumentMetadata", + "traits": { + "smithy.api#documentation": "

Information about a document that Amazon Textract processed. DocumentMetadata is\n returned in every page of paginated responses from an Amazon Textract operation.

" + } + }, + "JobStatus": { + "target": "com.amazonaws.textract#JobStatus", + "traits": { + "smithy.api#documentation": "

The current status of the text detection job.

" + } + }, + "NextToken": { + "target": "com.amazonaws.textract#PaginationToken", + "traits": { + "smithy.api#documentation": "

If the response is truncated, Amazon Textract returns this token. You can use this token in\n the subsequent request to retrieve the next set of text-detection results.

" + } + }, + "ExpenseDocuments": { + "target": "com.amazonaws.textract#ExpenseDocumentList", + "traits": { + "smithy.api#documentation": "

The expenses detected by Amazon Textract.

" + } + }, + "Warnings": { + "target": "com.amazonaws.textract#Warnings", + "traits": { + "smithy.api#documentation": "

A list of warnings that occurred during the text-detection operation for the\n document.

" + } + }, + "StatusMessage": { + "target": "com.amazonaws.textract#StatusMessage", + "traits": { + "smithy.api#documentation": "

Returns if the detection job could not be completed. Contains explanation for what error occured.

" + } + }, + "AnalyzeExpenseModelVersion": { + "target": "com.amazonaws.textract#String", + "traits": { + "smithy.api#documentation": "

The current model version of AnalyzeExpense.

" + } + } + } + }, "com.amazonaws.textract#HumanLoopActivationOutput": { "type": "structure", "members": { @@ -1528,7 +1637,7 @@ "Name": { "target": "com.amazonaws.textract#S3ObjectName", "traits": { - "smithy.api#documentation": "

The file name of the input document. Synchronous operations can use image files that are\n in JPEG or PNG format. Asynchronous operations also support PDF format files.

" + "smithy.api#documentation": "

The file name of the input document. Synchronous operations can use image files that are\n in JPEG or PNG format. Asynchronous operations also support PDF and TIFF format files.

" } }, "Version": { @@ -1634,7 +1743,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts the asynchronous analysis of an input document for relationships between detected\n items such as key-value pairs, tables, and selection elements.

\n\n

\n StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

\n

\n StartDocumentAnalysis returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n analysis operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentAnalysis, and pass\n the job identifier (JobId) from the initial call to\n StartDocumentAnalysis.

\n

For more information, see Document Text Analysis.

" + "smithy.api#documentation": "

Starts the asynchronous analysis of an input document for relationships between detected\n items such as key-value pairs, tables, and selection elements.

\n\n

\n StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

\n

\n StartDocumentAnalysis returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n analysis operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentAnalysis, and pass\n the job identifier (JobId) from the initial call to\n StartDocumentAnalysis.

\n

For more information, see Document Text Analysis.

" } }, "com.amazonaws.textract#StartDocumentAnalysisRequest": { @@ -1744,7 +1853,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of\n text and the words that make up a line of text.

\n

\n StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

\n

\n StartTextDetection returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n detection operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentTextDetection, and\n pass the job identifier (JobId) from the initial call to\n StartDocumentTextDetection.

\n

For more information, see Document Text Detection.

" + "smithy.api#documentation": "

Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of\n text and the words that make up a line of text.

\n

\n StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

\n

\n StartTextDetection returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n detection operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentTextDetection, and\n pass the job identifier (JobId) from the initial call to\n StartDocumentTextDetection.

\n

For more information, see Document Text Detection.

" } }, "com.amazonaws.textract#StartDocumentTextDetectionRequest": { @@ -1800,6 +1909,109 @@ } } }, + "com.amazonaws.textract#StartExpenseAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.textract#StartExpenseAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.textract#StartExpenseAnalysisResponse" + }, + "errors": [ + { + "target": "com.amazonaws.textract#AccessDeniedException" + }, + { + "target": "com.amazonaws.textract#BadDocumentException" + }, + { + "target": "com.amazonaws.textract#DocumentTooLargeException" + }, + { + "target": "com.amazonaws.textract#IdempotentParameterMismatchException" + }, + { + "target": "com.amazonaws.textract#InternalServerError" + }, + { + "target": "com.amazonaws.textract#InvalidKMSKeyException" + }, + { + "target": "com.amazonaws.textract#InvalidParameterException" + }, + { + "target": "com.amazonaws.textract#InvalidS3ObjectException" + }, + { + "target": "com.amazonaws.textract#LimitExceededException" + }, + { + "target": "com.amazonaws.textract#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.textract#ThrottlingException" + }, + { + "target": "com.amazonaws.textract#UnsupportedDocumentException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts the asynchronous analysis of invoices or receipts for data like contact information,\n items purchased, and vendor names.

\n \n

\n StartExpenseAnalysis can analyze text in documents that are in JPEG, PNG, and\n PDF format. The documents must be stored in an Amazon S3 bucket. Use the DocumentLocation parameter to specify the name of your S3 bucket and the name of the\n document in that bucket.

\n

\n StartExpenseAnalysis returns a job identifier (JobId) that you\n will provide to GetExpenseAnalysis to retrieve the results of the operation. When\n the analysis of the input invoices/receipts is finished, Amazon Textract publishes a completion\n status to the Amazon Simple Notification Service (Amazon SNS) topic that you provide to the NotificationChannel.\n To obtain the results of the invoice and receipt analysis operation, ensure that the status value\n published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job identifier (JobId) that was\n returned by your call to StartExpenseAnalysis.

\n

For more information, see Analyzing Invoices and Receipts.

" + } + }, + "com.amazonaws.textract#StartExpenseAnalysisRequest": { + "type": "structure", + "members": { + "DocumentLocation": { + "target": "com.amazonaws.textract#DocumentLocation", + "traits": { + "smithy.api#documentation": "

The location of the document to be processed.

", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.textract#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. \n Use ClientRequestToken to prevent the same job from being accidentally started more than once. \n For more information, see Calling Amazon Textract Asynchronous Operations\n

" + } + }, + "JobTag": { + "target": "com.amazonaws.textract#JobTag", + "traits": { + "smithy.api#documentation": "

An identifier you specify that's included in the completion notification published\n to the Amazon SNS topic. For example, you can use JobTag to identify the type of\n document that the completion notification corresponds to (such as a tax form or a\n receipt).

" + } + }, + "NotificationChannel": { + "target": "com.amazonaws.textract#NotificationChannel", + "traits": { + "smithy.api#documentation": "

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the\n operation to.

" + } + }, + "OutputConfig": { + "target": "com.amazonaws.textract#OutputConfig", + "traits": { + "smithy.api#documentation": "

Sets if the output will go to a customer defined bucket. By default, Amazon Textract will\n save the results internally to be accessed by the GetExpenseAnalysis\n operation.

" + } + }, + "KMSKeyId": { + "target": "com.amazonaws.textract#KMSKeyId", + "traits": { + "smithy.api#documentation": "

The KMS key used to encrypt the inference results. This can be \n in either Key ID or Key Alias format. When a KMS key is provided, the \n KMS key will be used for server-side encryption of the objects in the \n customer bucket. When this parameter is not enabled, the result will \n be encrypted server side,using SSE-S3.

" + } + } + } + }, + "com.amazonaws.textract#StartExpenseAnalysisResponse": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.textract#JobId", + "traits": { + "smithy.api#documentation": "

A unique identifier for the text detection job. The JobId is returned from\n StartExpenseAnalysis. A JobId value is only valid for 7 days.

" + } + } + } + }, "com.amazonaws.textract#StatusMessage": { "type": "string" }, @@ -1833,6 +2045,21 @@ }, "com.amazonaws.textract#Textract": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Textract", + "arnNamespace": "textract", + "cloudFormationName": "Textract", + "cloudTrailEventSource": "textract.amazonaws.com", + "endpointPrefix": "textract" + }, + "aws.auth#sigv4": { + "name": "textract" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Amazon Textract detects and analyzes text in documents and converts it\n into machine-readable text. This is the API reference documentation for\n Amazon Textract.

", + "smithy.api#title": "Amazon Textract" + }, "version": "2018-06-27", "operations": [ { @@ -1850,28 +2077,19 @@ { "target": "com.amazonaws.textract#GetDocumentTextDetection" }, + { + "target": "com.amazonaws.textract#GetExpenseAnalysis" + }, { "target": "com.amazonaws.textract#StartDocumentAnalysis" }, { "target": "com.amazonaws.textract#StartDocumentTextDetection" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "Textract", - "arnNamespace": "textract", - "cloudFormationName": "Textract", - "cloudTrailEventSource": "textract.amazonaws.com", - "endpointPrefix": "textract" - }, - "aws.auth#sigv4": { - "name": "textract" }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Amazon Textract detects and analyzes text in documents and converts it\n into machine-readable text. This is the API reference documentation for\n Amazon Textract.

", - "smithy.api#title": "Amazon Textract" - } + { + "target": "com.amazonaws.textract#StartExpenseAnalysis" + } + ] }, "com.amazonaws.textract#ThrottlingException": { "type": "structure", diff --git a/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json b/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json index 19348a5f836..3884164d5f1 100644 --- a/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json +++ b/codegen/sdk-codegen/aws-models/transcribe.2017-10-26.json @@ -188,7 +188,7 @@ "DataAccessRoleArn": { "target": "com.amazonaws.transcribe#DataAccessRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) that you use to get access to the analytics job.

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) that you use to access the analytics job. ARNs have the format\n arn:partition:service:region:account-id:resource-type/resource-id.

" } }, "IdentifiedLanguageScore": { @@ -259,6 +259,12 @@ "traits": { "smithy.api#documentation": "

When you run a call analytics job, you can specify the language spoken in the audio, or you can have Amazon Transcribe identify\n the language for you.

\n

To specify a language, specify an array with one language code. If you don't know the language, you can leave this \n field blank and Amazon Transcribe will use machine learning to identify the language for you. To improve the ability of Amazon Transcribe to \n correctly identify the language, you can provide an array of the languages that can be present in the audio. Refer to \n Supported languages and language-specific\n features for additional information.

" } + }, + "LanguageIdSettings": { + "target": "com.amazonaws.transcribe#LanguageIdSettingsMap", + "traits": { + "smithy.api#documentation": "

The language identification settings associated with your call analytics job. These settings include\n VocabularyName, VocabularyFilterName, and \n LanguageModelName.

" + } } }, "traits": { @@ -1820,7 +1826,7 @@ "DataAccessRoleArn": { "target": "com.amazonaws.transcribe#DataAccessRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that uniquely identifies the permissions you've given Amazon Transcribe to access your \n Amazon S3 buckets containing your media files or text data.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that uniquely identifies the permissions you've given Amazon Transcribe to access your \n Amazon S3 buckets containing your media files or text data. ARNs have the format\n arn:partition:service:region:account-id:resource-type/resource-id.

", "smithy.api#required": {} } } @@ -1892,7 +1898,7 @@ "DataAccessRoleArn": { "target": "com.amazonaws.transcribe#DataAccessRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that contains the input files. Amazon Transcribe\n assumes this role to read queued media files. If you have specified an output S3 bucket for the transcription results,\n this role should have access to the output bucket as well.

\n

If you specify the AllowDeferredExecution field, you must specify the\n DataAccessRoleArn field.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN), in the form\n arn:partition:service:region:account-id:resource-type/resource-id, of a role \n that has access to the S3 bucket that contains the input files. Amazon Transcribe assumes this role to read queued\n media files. If you have specified an output S3 bucket for the transcription results, this role should \n have access to the output bucket as well.

\n

If you specify the AllowDeferredExecution field, you must specify the\n DataAccessRoleArn field.

" } } }, @@ -2092,6 +2098,47 @@ ] } }, + "com.amazonaws.transcribe#LanguageIdSettings": { + "type": "structure", + "members": { + "VocabularyName": { + "target": "com.amazonaws.transcribe#VocabularyName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary you want to use when processing your transcription job. The \n vocabulary you specify must have the same language code as the transcription job; if the languages don't \n match, the vocabulary won't be applied.

" + } + }, + "VocabularyFilterName": { + "target": "com.amazonaws.transcribe#VocabularyFilterName", + "traits": { + "smithy.api#documentation": "

The name of the vocabulary filter you want to use when transcribing your audio. The filter you specify \n must have the same language code as the transcription job; if the languages don't match, the vocabulary \n filter won't be applied.

" + } + }, + "LanguageModelName": { + "target": "com.amazonaws.transcribe#ModelName", + "traits": { + "smithy.api#documentation": "

The name of the language model you want to use when transcribing your audio. The model you specify\n must have the same language code as the transcription job; if the languages don't match, the language model \n won't be applied.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Language-specific settings that can be specified when language identification is enabled.

" + } + }, + "com.amazonaws.transcribe#LanguageIdSettingsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.transcribe#LanguageCode" + }, + "value": { + "target": "com.amazonaws.transcribe#LanguageIdSettings" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, "com.amazonaws.transcribe#LanguageModel": { "type": "structure", "members": { @@ -2634,7 +2681,7 @@ "ResourceArn": { "target": "com.amazonaws.transcribe#TranscribeArn", "traits": { - "smithy.api#documentation": "

Lists all tags associated with a given Amazon Resource Name (ARN).

", + "smithy.api#documentation": "

Lists all tags associated with a given Amazon Resource Name (ARN). ARNs have the format\n arn:partition:service:region:account-id:resource-type/resource-id (for example,\n arn:aws:transcribe:us-east-1:account-id:transcription-job/your-job-name). Valid \n values for resource-type are: transcription-job,\n medical-transcription-job, vocabulary, \n medical-vocabulary, vocabulary-filter, and \n language-model.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2647,7 +2694,7 @@ "ResourceArn": { "target": "com.amazonaws.transcribe#TranscribeArn", "traits": { - "smithy.api#documentation": "

Lists all tags associated with the given Amazon Resource Name (ARN).

" + "smithy.api#documentation": "

Lists all tags associated with the given Amazon Resource Name (ARN).

" } }, "Tags": { @@ -3864,7 +3911,7 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribe#KMSKeyId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to \n encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob \n operation must have permission to use the specified KMS key.

\n

You use either of the following to identify a KMS key in the current account:

\n \n

You can use either of the following to identify a KMS key in the current account or another account:

\n \n

If you don't specify an encryption key, the output of the medical transcription job is encrypted with the default Amazon S3 \n key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify an output location in the \n OutputBucketName parameter.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to \n encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob \n operation must have permission to use the specified KMS key.

\n

You use either of the following to identify a KMS key in the current account:

\n \n

You can use either of the following to identify a KMS key in the current account or another account:

\n \n

If you don't specify an encryption key, the output of the medical transcription job is encrypted with the default Amazon S3 \n key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify an output location in the \n OutputBucketName parameter.

" } }, "KMSEncryptionContext": { @@ -4000,7 +4047,7 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribe#KMSKeyId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to \n encrypt the output of the transcription job. The user calling the StartTranscriptionJob \n operation must have permission to use the specified KMS key.

\n

You can use either of the following to identify a KMS key in the current account:

\n \n

You can use either of the following to identify a KMS key in the current account or another account:

\n \n

If you don't specify an encryption key, the output of the transcription job is encrypted with the default \n Amazon S3 key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify an output location in the \n OutputBucketName parameter.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) key used to \n encrypt the output of the transcription job. The user calling the StartTranscriptionJob \n operation must have permission to use the specified KMS key.

\n

You can use either of the following to identify a KMS key in the current account:

\n \n

You can use either of the following to identify a KMS key in the current account or another account:

\n \n

If you don't specify an encryption key, the output of the transcription job is encrypted with the default \n Amazon S3 key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify an output location in the \n OutputBucketName parameter.

" } }, "KMSEncryptionContext": { @@ -4056,6 +4103,12 @@ "traits": { "smithy.api#documentation": "

Add tags to an Amazon Transcribe transcription job.

" } + }, + "LanguageIdSettings": { + "target": "com.amazonaws.transcribe#LanguageIdSettingsMap", + "traits": { + "smithy.api#documentation": "

The language identification settings associated with your transcription job. These settings include\n VocabularyName, VocabularyFilterName, and \n LanguageModelName.

" + } } } }, @@ -4226,7 +4279,7 @@ } ], "traits": { - "smithy.api#documentation": "

Tags a Amazon Transcribe resource with the given list of tags.

", + "smithy.api#documentation": "

Tags an Amazon Transcribe resource with the given list of tags.

", "smithy.api#http": { "method": "PUT", "uri": "/tags/{ResourceArn}", @@ -4240,7 +4293,7 @@ "ResourceArn": { "target": "com.amazonaws.transcribe#TranscribeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Transcribe resource you want to tag.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Transcribe resource you want to tag. ARNs have the format\n arn:partition:service:region:account-id:resource-type/resource-id (for example,\n arn:aws:transcribe:us-east-1:account-id:transcription-job/your-job-name). Valid \n values for resource-type are: transcription-job,\n medical-transcription-job, vocabulary, \n medical-vocabulary, vocabulary-filter, and \n language-model.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4279,6 +4332,21 @@ }, "com.amazonaws.transcribe#Transcribe": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Transcribe", + "arnNamespace": "transcribe", + "cloudFormationName": "Transcribe", + "cloudTrailEventSource": "transcribe.amazonaws.com", + "endpointPrefix": "transcribe" + }, + "aws.auth#sigv4": { + "name": "transcribe" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Operations and objects for transcribing speech to text.

", + "smithy.api#title": "Amazon Transcribe Service" + }, "version": "2017-10-26", "operations": [ { @@ -4398,22 +4466,7 @@ { "target": "com.amazonaws.transcribe#UpdateVocabularyFilter" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Transcribe", - "arnNamespace": "transcribe", - "cloudFormationName": "Transcribe", - "cloudTrailEventSource": "transcribe.amazonaws.com", - "endpointPrefix": "transcribe" - }, - "aws.auth#sigv4": { - "name": "transcribe" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Operations and objects for transcribing speech to text.

", - "smithy.api#title": "Amazon Transcribe Service" - } + ] }, "com.amazonaws.transcribe#TranscribeArn": { "type": "string", @@ -4624,6 +4677,12 @@ "traits": { "smithy.api#documentation": "

Generate subtitles for your batch transcription job.

" } + }, + "LanguageIdSettings": { + "target": "com.amazonaws.transcribe#LanguageIdSettingsMap", + "traits": { + "smithy.api#documentation": "

Language-specific settings that can be specified when language identification is enabled for your transcription \n job. These settings include VocabularyName, VocabularyFilterName, and \n LanguageModelNameLanguageModelName.

" + } } }, "traits": { @@ -4801,7 +4860,7 @@ "ResourceArn": { "target": "com.amazonaws.transcribe#TranscribeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Transcribe resource you want to remove tags from.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Transcribe resource you want to remove tags from. \n ARNs have the format\n arn:partition:service:region:account-id:resource-type/resource-id (for example,\n arn:aws:transcribe:us-east-1:account-id:transcription-job/your-job-name). Valid \n values for resource-type are: transcription-job,\n medical-transcription-job, vocabulary, \n medical-vocabulary, vocabulary-filter, and \n language-model.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/ShapeBackwardsCompatabilityTransforms.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/ShapeBackwardsCompatabilityTransforms.java new file mode 100644 index 00000000000..e5024be1746 --- /dev/null +++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/ShapeBackwardsCompatabilityTransforms.java @@ -0,0 +1,42 @@ +/* + * Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.smithy.aws.go.codegen.customization; + +import java.util.Map; +import software.amazon.smithy.go.codegen.GoSettings; +import software.amazon.smithy.go.codegen.integration.GoIntegration; +import software.amazon.smithy.model.Model; +import software.amazon.smithy.model.shapes.ShapeId; +import software.amazon.smithy.model.shapes.ShapeType; +import software.amazon.smithy.model.transform.ModelTransformer; +import software.amazon.smithy.utils.MapUtils; + +public class ShapeBackwardsCompatabilityTransforms implements GoIntegration { + private static final Map SHAPE_ID_SHAPE_TYPE_MAP = MapUtils.of( + ShapeId.from("com.amazonaws.nimble#StudioComponentConfiguration"), ShapeType.STRUCTURE + ); + + @Override + public byte getOrder() { + return -127; + } + + @Override + public Model preprocessModel(Model model, GoSettings settings) { + return ModelTransformer.create() + .changeShapeType(model, SHAPE_ID_SHAPE_TYPE_MAP); + } +} diff --git a/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration b/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration index 21d099230c1..e99bfaf99f0 100644 --- a/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration +++ b/codegen/smithy-aws-go-codegen/src/main/resources/META-INF/services/software.amazon.smithy.go.codegen.integration.GoIntegration @@ -10,6 +10,7 @@ software.amazon.smithy.aws.go.codegen.AwsSdkServiceId software.amazon.smithy.aws.go.codegen.AwsRetryMiddlewareHelper software.amazon.smithy.aws.go.codegen.AWSRequestIDRetriever software.amazon.smithy.aws.go.codegen.AWSResponseErrorWrapper +software.amazon.smithy.aws.go.codegen.customization.ShapeBackwardsCompatabilityTransforms software.amazon.smithy.aws.go.codegen.customization.BackfillBoxTrait software.amazon.smithy.aws.go.codegen.customization.DynamoDBValidateResponseChecksum software.amazon.smithy.aws.go.codegen.customization.S3UpdateEndpoint diff --git a/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json b/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json index 7ca19728be4..bf5693d66b4 100644 --- a/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json +++ b/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json @@ -3,7 +3,20 @@ "defaults" : { "hostname" : "{service}.{region}.{dnsSuffix}", "protocols" : [ "https" ], - "signatureVersions" : [ "v4" ] + "signatureVersions" : [ "v4" ], + "variants" : [ { + "dnsSuffix" : "amazonaws.com", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + }, { + "dnsSuffix" : "api.aws", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "dualstack", "fips" ] + }, { + "dnsSuffix" : "api.aws", + "hostname" : "{service}.{region}.{dnsSuffix}", + "tags" : [ "dualstack" ] + } ] }, "dnsSuffix" : "amazonaws.com", "partition" : "aws", @@ -90,7 +103,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "access-analyzer-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -101,38 +119,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "access-analyzer-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "access-analyzer-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "access-analyzer-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "access-analyzer-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "access-analyzer-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "access-analyzer-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "access-analyzer-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "access-analyzer-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "access-analyzer-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "account" : { @@ -157,11 +200,17 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "acm-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "ca-central-1-fips" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "acm-fips.ca-central-1.amazonaws.com" }, "eu-central-1" : { }, @@ -172,32 +221,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "acm-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "acm-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "acm-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "acm-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "acm-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "acm-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "acm-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "acm-fips.us-west-2.amazonaws.com" } } @@ -215,7 +288,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "acm-pca-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -226,38 +304,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "acm-pca-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "acm-pca-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "acm-pca-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "acm-pca-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "acm-pca-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "acm-pca-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "acm-pca-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "acm-pca-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "acm-pca-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "airflow" : { @@ -339,37 +442,67 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "api.detective-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "api.detective-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "api.detective-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "api.detective-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "api.detective-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "api.detective-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "api.detective-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "api.detective-fips.us-west-2.amazonaws.com" } } }, "api.ecr" : { + "defaults" : { + "variants" : [ { + "hostname" : "ecr-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "af-south-1" : { "credentialScope" : { @@ -425,6 +558,46 @@ }, "hostname" : "api.ecr.ca-central-1.amazonaws.com" }, + "dkr-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "ecr-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "dkr-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "ecr-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "dkr-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "ecr-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "dkr-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "ecr-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" @@ -465,48 +638,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-east-1.amazonaws.com" }, "fips-dkr-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ecr-fips.us-east-2.amazonaws.com" }, "fips-dkr-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-west-1.amazonaws.com" }, "fips-dkr-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ecr-fips.us-west-2.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ecr-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ecr-fips.us-west-2.amazonaws.com" }, "me-south-1" : { @@ -525,25 +706,41 @@ "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "api.ecr.us-east-1.amazonaws.com" + "hostname" : "api.ecr.us-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "ecr-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, - "hostname" : "api.ecr.us-east-2.amazonaws.com" + "hostname" : "api.ecr.us-east-2.amazonaws.com", + "variants" : [ { + "hostname" : "ecr-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, - "hostname" : "api.ecr.us-west-1.amazonaws.com" + "hostname" : "api.ecr.us-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "ecr-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, - "hostname" : "api.ecr.us-west-2.amazonaws.com" + "hostname" : "api.ecr.us-west-2.amazonaws.com", + "variants" : [ { + "hostname" : "ecr-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -576,7 +773,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "api.fleethub.iot-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -585,29 +787,48 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "api.fleethub.iot-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "api.fleethub.iot-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "api.fleethub.iot-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "api.fleethub.iot-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "api.fleethub.iot-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "api.fleethub.iot-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "api.fleethub.iot-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "api.mediatailor" : { @@ -633,6 +854,12 @@ } }, "api.sagemaker" : { + "defaults" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "af-south-1" : { }, "ap-east-1" : { }, @@ -651,32 +878,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "api-fips.sagemaker.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "api-fips.sagemaker.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "api-fips.sagemaker.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "api-fips.sagemaker.us-west-2.amazonaws.com" } } @@ -766,6 +1017,30 @@ "us-west-2" : { } } }, + "applicationinsights" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "appmesh" : { "endpoints" : { "af-south-1" : { }, @@ -819,10 +1094,35 @@ "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "appstream2-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "appstream2-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "appstream2-fips.us-east-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "appstream2-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "appstream2-fips.us-west-2.amazonaws.com" + } } }, "appsync" : { @@ -886,32 +1186,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "athena-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "athena-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "athena-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "athena-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "athena-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "athena-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "athena-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "athena-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "auditmanager" : { @@ -1012,6 +1336,12 @@ } }, "batch" : { + "defaults" : { + "variants" : [ { + "hostname" : "fips.batch.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "af-south-1" : { }, "ap-east-1" : { }, @@ -1032,32 +1362,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "fips.batch.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "fips.batch.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "fips.batch.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "fips.batch.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "fips.batch.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "fips.batch.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "fips.batch.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "fips.batch.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "braket" : { @@ -1142,7 +1496,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -1153,38 +1512,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "clouddirectory" : { @@ -1219,32 +1603,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "cloudformation-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "cloudformation-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "cloudformation-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "cloudformation-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "cloudformation-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "cloudformation-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "cloudformation-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "cloudformation-fips.us-west-2.amazonaws.com" } } @@ -1340,32 +1748,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "cloudtrail-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "cloudtrail-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "cloudtrail-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "cloudtrail-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "cloudtrail-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "cloudtrail-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "cloudtrail-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "cloudtrail-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "codeartifact" : { @@ -1404,32 +1836,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "codebuild-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "codebuild-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "codebuild-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "codebuild-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "codebuild-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "codebuild-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "codebuild-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "codebuild-fips.us-west-2.amazonaws.com" } } @@ -1444,7 +1900,19 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "codecommit-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "codecommit-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -1455,61 +1923,134 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "codecommit-fips.ca-central-1.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "codedeploy" : { - "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "codecommit-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, + "hostname" : "codecommit-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "codecommit-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "codecommit-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "codecommit-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "codecommit-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "codecommit-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "codecommit-fips.us-west-2.amazonaws.com" + } + } + }, + "codedeploy" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "codedeploy-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, "hostname" : "codedeploy-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "codedeploy-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "codedeploy-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "codedeploy-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "codedeploy-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "codedeploy-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "codedeploy-fips.us-west-2.amazonaws.com" } } @@ -1536,7 +2077,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "codepipeline-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -1547,37 +2093,62 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "codepipeline-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "codepipeline-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "codepipeline-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "codepipeline-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "codepipeline-fips.us-west-2.amazonaws.com" }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "codepipeline-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "codepipeline-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "codepipeline-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "codepipeline-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "codestar" : { @@ -1634,26 +2205,44 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "cognito-identity-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "cognito-identity-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "cognito-identity-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "cognito-identity-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "cognito-identity-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1" : { }, - "us-west-2" : { } + "us-west-2" : { + "variants" : [ { + "hostname" : "cognito-identity-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "cognito-idp" : { @@ -1673,32 +2262,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "cognito-idp-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "cognito-idp-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "cognito-idp-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "cognito-idp-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "cognito-idp-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "cognito-idp-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "cognito-idp-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "cognito-idp-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "cognito-sync" : { @@ -1734,23 +2347,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "comprehend-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "comprehend-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "comprehend-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "comprehend-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "comprehend-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "comprehend-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "comprehendmedical" : { @@ -1763,23 +2394,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "comprehendmedical-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "comprehendmedical-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "comprehendmedical-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "comprehendmedical-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "comprehendmedical-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "comprehendmedical-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "config" : { @@ -1803,37 +2452,62 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "config-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "config-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "config-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "config-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "config-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "config-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "config-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "config-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "connect" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, @@ -1846,6 +2520,7 @@ "contact-lens" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, @@ -1873,7 +2548,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "data.iot-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -1883,38 +2563,63 @@ "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "data.iot-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "data.iot-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "data.iot-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "data.iot-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "data.jobs.iot" : { @@ -1925,7 +2630,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -1935,38 +2645,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "data.mediastore" : { @@ -2039,7 +2774,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "datasync-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -2050,38 +2790,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "datasync-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "datasync-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "datasync-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "datasync-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "datasync-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "datasync-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "datasync-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "datasync-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "datasync-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "dax" : { @@ -2127,32 +2892,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "directconnect-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "directconnect-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "directconnect-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "directconnect-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "directconnect-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "directconnect-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "directconnect-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "directconnect-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "discovery" : { @@ -2177,10 +2966,21 @@ "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, + "dms" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "dms-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "dms-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "dms-fips.us-west-1.amazonaws.com" }, "eu-central-1" : { }, @@ -2191,10 +2991,58 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "dms-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "dms-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "dms-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "dms-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "dms-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "dms-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "dms-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "dms-fips.us-west-2.amazonaws.com" + } } }, "docdb" : { @@ -2295,7 +3143,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "ds-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -2306,38 +3159,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "ds-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ds-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ds-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ds-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ds-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "ds-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "ds-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ds-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "ds-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "dynamodb" : { @@ -2353,11 +3231,17 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "ca-central-1-fips" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com" }, "eu-central-1" : { }, @@ -2375,32 +3259,56 @@ }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "dynamodb-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "dynamodb-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "dynamodb-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "dynamodb-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "dynamodb-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "dynamodb-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "dynamodb-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "dynamodb-fips.us-west-2.amazonaws.com" } } @@ -2415,7 +3323,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "ebs-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -2426,38 +3339,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "ebs-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ebs-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ebs-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ebs-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ebs-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "ebs-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "ebs-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ebs-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "ebs-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "ec2" : { @@ -2470,52 +3408,106 @@ "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-northeast-3" : { }, - "ap-south-1" : { }, + "ap-south-1" : { + "variants" : [ { + "hostname" : "api.ec2.ap-south-1.aws", + "tags" : [ "dualstack" ] + } ] + }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "ec2-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, - "eu-west-1" : { }, + "eu-west-1" : { + "variants" : [ { + "hostname" : "api.ec2.eu-west-1.aws", + "tags" : [ "dualstack" ] + } ] + }, "eu-west-2" : { }, "eu-west-3" : { }, "fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "ec2-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ec2-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ec2-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ec2-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ec2-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "sa-east-1" : { + "variants" : [ { + "hostname" : "api.ec2.sa-east-1.aws", + "tags" : [ "dualstack" ] + } ] + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "api.ec2.us-east-1.aws", + "tags" : [ "dualstack" ] + }, { + "hostname" : "ec2-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "api.ec2.us-east-2.aws", + "tags" : [ "dualstack" ] + }, { + "hostname" : "ec2-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ec2-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "api.ec2.us-west-2.aws", + "tags" : [ "dualstack" ] + }, { + "hostname" : "ec2-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "ecs" : { @@ -2539,37 +3531,65 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ecs-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ecs-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ecs-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ecs-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "ecs-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "ecs-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ecs-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "ecs-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "eks" : { "defaults" : { - "protocols" : [ "http", "https" ] + "protocols" : [ "http", "https" ], + "variants" : [ { + "hostname" : "fips.eks.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "af-south-1" : { }, @@ -2591,32 +3611,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "fips.eks.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "fips.eks.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "fips.eks.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "fips.eks.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "fips.eks.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "fips.eks.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "fips.eks.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "fips.eks.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elasticache" : { @@ -2640,14 +3684,63 @@ "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "elasticache-fips.us-west-1.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "elasticache-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "elasticache-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "elasticache-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "elasticache-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "elasticache-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "elasticache-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "elasticache-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "elasticache-fips.us-west-2.amazonaws.com" + } } }, "elasticbeanstalk" : { @@ -2671,183 +3764,333 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "elasticbeanstalk-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "elasticbeanstalk-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "elasticbeanstalk-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "elasticbeanstalk-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "elasticbeanstalk-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "elasticbeanstalk-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "elasticbeanstalk-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "elasticbeanstalk-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elasticfilesystem" : { "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, + "af-south-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.af-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-east-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-northeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-2" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-northeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-3" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-northeast-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-south-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-southeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-2" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-southeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-central-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.eu-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-north-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.eu-north-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-south-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.eu-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.eu-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-2" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.eu-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-3" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.eu-west-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "fips-af-south-1" : { "credentialScope" : { "region" : "af-south-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.af-south-1.amazonaws.com" }, "fips-ap-east-1" : { "credentialScope" : { "region" : "ap-east-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-east-1.amazonaws.com" }, "fips-ap-northeast-1" : { "credentialScope" : { "region" : "ap-northeast-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-northeast-1.amazonaws.com" }, "fips-ap-northeast-2" : { "credentialScope" : { "region" : "ap-northeast-2" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-northeast-2.amazonaws.com" }, "fips-ap-northeast-3" : { "credentialScope" : { "region" : "ap-northeast-3" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-northeast-3.amazonaws.com" }, "fips-ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-south-1.amazonaws.com" }, "fips-ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-southeast-1.amazonaws.com" }, "fips-ap-southeast-2" : { "credentialScope" : { "region" : "ap-southeast-2" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-southeast-2.amazonaws.com" }, "fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.ca-central-1.amazonaws.com" }, "fips-eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-central-1.amazonaws.com" }, "fips-eu-north-1" : { "credentialScope" : { "region" : "eu-north-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-north-1.amazonaws.com" }, "fips-eu-south-1" : { "credentialScope" : { "region" : "eu-south-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-south-1.amazonaws.com" }, "fips-eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-west-1.amazonaws.com" }, "fips-eu-west-2" : { "credentialScope" : { "region" : "eu-west-2" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-west-2.amazonaws.com" }, "fips-eu-west-3" : { "credentialScope" : { "region" : "eu-west-3" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-west-3.amazonaws.com" }, "fips-me-south-1" : { "credentialScope" : { "region" : "me-south-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.me-south-1.amazonaws.com" }, "fips-sa-east-1" : { "credentialScope" : { "region" : "sa-east-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.sa-east-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-west-2.amazonaws.com" }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "me-south-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.me-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "sa-east-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.sa-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elasticloadbalancing" : { @@ -2874,32 +4117,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "elasticloadbalancing-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "elasticloadbalancing-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "elasticloadbalancing-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "elasticloadbalancing-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "elasticloadbalancing-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "elasticloadbalancing-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "elasticloadbalancing-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "elasticloadbalancing-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elasticmapreduce" : { @@ -2916,7 +4183,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "elasticmapreduce-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { "sslCommonName" : "{service}.{region}.{dnsSuffix}" }, @@ -2929,40 +4201,64 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "elasticmapreduce-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "elasticmapreduce-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "elasticmapreduce-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "elasticmapreduce-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "elasticmapreduce-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { - "sslCommonName" : "{service}.{region}.{dnsSuffix}" + "sslCommonName" : "{service}.{region}.{dnsSuffix}", + "variants" : [ { + "hostname" : "elasticmapreduce-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-2" : { + "variants" : [ { + "hostname" : "elasticmapreduce-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "elasticmapreduce-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "elasticmapreduce-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elastictranscoder" : { @@ -2994,7 +4290,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "emr-containers-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -3004,37 +4305,62 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "emr-containers-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "emr-containers-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "emr-containers-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "emr-containers-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "emr-containers-fips.us-west-2.amazonaws.com" }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "emr-containers-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "emr-containers-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "emr-containers-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "emr-containers-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "entitlement.marketplace" : { @@ -3068,14 +4394,63 @@ "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "es-fips.us-west-1.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "es-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "es-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "es-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "es-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "es-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "es-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "es-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "es-fips.us-west-2.amazonaws.com" + } } }, "events" : { @@ -3099,32 +4474,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "events-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "events-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "events-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "events-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "events-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "events-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "events-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "events-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "finspace" : { @@ -3166,32 +4565,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "firehose-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "firehose-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "firehose-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "firehose-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "firehose-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "firehose-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "firehose-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "firehose-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "fms" : { @@ -3199,141 +4622,255 @@ "protocols" : [ "https" ] }, "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, + "af-south-1" : { + "variants" : [ { + "hostname" : "fms-fips.af-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-east-1" : { + "variants" : [ { + "hostname" : "fms-fips.ap-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-1" : { + "variants" : [ { + "hostname" : "fms-fips.ap-northeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-2" : { + "variants" : [ { + "hostname" : "fms-fips.ap-northeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, + "ap-south-1" : { + "variants" : [ { + "hostname" : "fms-fips.ap-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-1" : { + "variants" : [ { + "hostname" : "fms-fips.ap-southeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-2" : { + "variants" : [ { + "hostname" : "fms-fips.ap-southeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "fms-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-central-1" : { + "variants" : [ { + "hostname" : "fms-fips.eu-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, + "eu-south-1" : { + "variants" : [ { + "hostname" : "fms-fips.eu-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-1" : { + "variants" : [ { + "hostname" : "fms-fips.eu-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-2" : { + "variants" : [ { + "hostname" : "fms-fips.eu-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-3" : { + "variants" : [ { + "hostname" : "fms-fips.eu-west-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "fips-af-south-1" : { "credentialScope" : { "region" : "af-south-1" }, + "deprecated" : true, "hostname" : "fms-fips.af-south-1.amazonaws.com" }, "fips-ap-east-1" : { "credentialScope" : { "region" : "ap-east-1" }, + "deprecated" : true, "hostname" : "fms-fips.ap-east-1.amazonaws.com" }, "fips-ap-northeast-1" : { "credentialScope" : { "region" : "ap-northeast-1" }, + "deprecated" : true, "hostname" : "fms-fips.ap-northeast-1.amazonaws.com" }, "fips-ap-northeast-2" : { "credentialScope" : { "region" : "ap-northeast-2" }, + "deprecated" : true, "hostname" : "fms-fips.ap-northeast-2.amazonaws.com" }, "fips-ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" }, + "deprecated" : true, "hostname" : "fms-fips.ap-south-1.amazonaws.com" }, "fips-ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" }, + "deprecated" : true, "hostname" : "fms-fips.ap-southeast-1.amazonaws.com" }, "fips-ap-southeast-2" : { "credentialScope" : { "region" : "ap-southeast-2" }, + "deprecated" : true, "hostname" : "fms-fips.ap-southeast-2.amazonaws.com" }, "fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "fms-fips.ca-central-1.amazonaws.com" }, "fips-eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" }, + "deprecated" : true, "hostname" : "fms-fips.eu-central-1.amazonaws.com" }, "fips-eu-south-1" : { "credentialScope" : { "region" : "eu-south-1" }, + "deprecated" : true, "hostname" : "fms-fips.eu-south-1.amazonaws.com" }, "fips-eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" }, + "deprecated" : true, "hostname" : "fms-fips.eu-west-1.amazonaws.com" }, "fips-eu-west-2" : { "credentialScope" : { "region" : "eu-west-2" }, + "deprecated" : true, "hostname" : "fms-fips.eu-west-2.amazonaws.com" }, "fips-eu-west-3" : { "credentialScope" : { "region" : "eu-west-3" }, + "deprecated" : true, "hostname" : "fms-fips.eu-west-3.amazonaws.com" }, "fips-me-south-1" : { "credentialScope" : { "region" : "me-south-1" }, + "deprecated" : true, "hostname" : "fms-fips.me-south-1.amazonaws.com" }, "fips-sa-east-1" : { "credentialScope" : { "region" : "sa-east-1" }, + "deprecated" : true, "hostname" : "fms-fips.sa-east-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "fms-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "fms-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "fms-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "fms-fips.us-west-2.amazonaws.com" }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "me-south-1" : { + "variants" : [ { + "hostname" : "fms-fips.me-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "sa-east-1" : { + "variants" : [ { + "hostname" : "fms-fips.sa-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "fms-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "fms-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "fms-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "fms-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "forecast" : { @@ -3349,23 +4886,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "forecast-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "forecast-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "forecast-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "forecast-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "forecast-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "forecast-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "forecastquery" : { @@ -3381,23 +4936,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "forecastquery-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "forecastquery-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "forecastquery-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "forecastquery-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "forecastquery-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "forecastquery-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "frauddetector" : { @@ -3420,49 +4993,164 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "fsx-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "fsx-fips.ca-central-1.amazonaws.com" + }, "fips-prod-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "fsx-fips.ca-central-1.amazonaws.com" }, "fips-prod-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "fsx-fips.us-east-1.amazonaws.com" }, "fips-prod-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "fsx-fips.us-east-2.amazonaws.com" }, "fips-prod-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "fsx-fips.us-west-1.amazonaws.com" }, "fips-prod-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, + "hostname" : "fsx-fips.us-west-2.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "fsx-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "fsx-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "fsx-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, "hostname" : "fsx-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, + "prod-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "prod-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "prod-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "prod-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "prod-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "fsx-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "fsx-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "fsx-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "fsx-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "gamelift" : { @@ -3502,7 +5190,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "glacier-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -3513,38 +5206,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "glacier-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "glacier-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "glacier-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "glacier-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "glacier-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "glacier-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "glacier-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "glacier-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "glacier-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "glue" : { @@ -3568,32 +5286,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "glue-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "glue-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "glue-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "glue-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "glue-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "glue-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "glue-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "glue-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "grafana" : { @@ -3691,24 +5433,42 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "groundstation-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "groundstation-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "groundstation-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "groundstation-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "groundstation-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "groundstation-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "guardduty" : { @@ -3733,32 +5493,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "guardduty-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "guardduty-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "guardduty-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "guardduty-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "guardduty-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "guardduty-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "guardduty-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "guardduty-fips.us-west-2.amazonaws.com" } }, @@ -3770,7 +5554,18 @@ "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "health-fips.us-east-2.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "health-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -3795,12 +5590,34 @@ "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "iam.amazonaws.com" + "hostname" : "iam.amazonaws.com", + "variants" : [ { + "hostname" : "iam-fips.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "aws-global-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "iam-fips.amazonaws.com" + }, + "iam" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "iam-fips.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "iam-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "iam-fips.amazonaws.com" } }, @@ -3809,11 +5626,17 @@ }, "identity-chime" : { "endpoints" : { - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "identity-chime-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "identity-chime-fips.us-east-1.amazonaws.com" } } @@ -3863,30 +5686,54 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "inspector-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "inspector-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "inspector-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "inspector-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "inspector-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "inspector-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "inspector-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "inspector-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "iot" : { @@ -3902,7 +5749,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "iot-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -3912,38 +5764,63 @@ "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "iot-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "iot-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "iot-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "iot-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "iotanalytics" : { @@ -4044,6 +5921,12 @@ } }, "iotsecuredtunneling" : { + "defaults" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "ap-east-1" : { }, "ap-northeast-1" : { }, @@ -4051,7 +5934,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -4061,37 +5949,75 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, + "iotsitewise" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, "us-west-2" : { } } }, @@ -4204,23 +6130,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "kendra-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "kendra-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "kendra-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "kendra-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "kendra-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "kendra-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "kinesis" : { @@ -4244,99 +6188,375 @@ "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "kinesis-fips.us-east-1.amazonaws.com" + "deprecated" : true, + "hostname" : "kinesis-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "kinesis-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "kinesis-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "kinesis-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "kinesis-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "kinesis-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "kinesis-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "kinesis-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, + "kinesisanalytics" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "kinesisvideo" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "kms" : { + "endpoints" : { + "af-south-1" : { + "variants" : [ { + "hostname" : "kms-fips.af-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "af-south-1-fips" : { + "credentialScope" : { + "region" : "af-south-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.af-south-1.amazonaws.com" + }, + "ap-east-1" : { + "variants" : [ { + "hostname" : "kms-fips.ap-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-east-1-fips" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-east-1.amazonaws.com" + }, + "ap-northeast-1" : { + "variants" : [ { + "hostname" : "kms-fips.ap-northeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-1-fips" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "variants" : [ { + "hostname" : "kms-fips.ap-northeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-2-fips" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-northeast-2.amazonaws.com" + }, + "ap-northeast-3" : { + "variants" : [ { + "hostname" : "kms-fips.ap-northeast-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-3-fips" : { + "credentialScope" : { + "region" : "ap-northeast-3" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-northeast-3.amazonaws.com" + }, + "ap-south-1" : { + "variants" : [ { + "hostname" : "kms-fips.ap-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-south-1-fips" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "variants" : [ { + "hostname" : "kms-fips.ap-southeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-1-fips" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "variants" : [ { + "hostname" : "kms-fips.ap-southeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-2-fips" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "kms-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "variants" : [ { + "hostname" : "kms-fips.eu-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-central-1-fips" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.eu-central-1.amazonaws.com" + }, + "eu-north-1" : { + "variants" : [ { + "hostname" : "kms-fips.eu-north-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-north-1-fips" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.eu-north-1.amazonaws.com" + }, + "eu-south-1" : { + "variants" : [ { + "hostname" : "kms-fips.eu-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-south-1-fips" : { + "credentialScope" : { + "region" : "eu-south-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.eu-south-1.amazonaws.com" + }, + "eu-west-1" : { + "variants" : [ { + "hostname" : "kms-fips.eu-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-1-fips" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "variants" : [ { + "hostname" : "kms-fips.eu-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-2-fips" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "deprecated" : true, + "hostname" : "kms-fips.eu-west-2.amazonaws.com" + }, + "eu-west-3" : { + "variants" : [ { + "hostname" : "kms-fips.eu-west-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-3-fips" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "deprecated" : true, + "hostname" : "kms-fips.eu-west-3.amazonaws.com" + }, + "me-south-1" : { + "variants" : [ { + "hostname" : "kms-fips.me-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "me-south-1-fips" : { + "credentialScope" : { + "region" : "me-south-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.me-south-1.amazonaws.com" + }, + "sa-east-1" : { + "variants" : [ { + "hostname" : "kms-fips.sa-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "sa-east-1-fips" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.sa-east-1.amazonaws.com" + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.us-east-1.amazonaws.com" }, - "fips-us-east-2" : { + "us-east-2" : { + "variants" : [ { + "hostname" : "kms-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, - "hostname" : "kinesis-fips.us-east-2.amazonaws.com" + "deprecated" : true, + "hostname" : "kms-fips.us-east-2.amazonaws.com" }, - "fips-us-west-1" : { + "us-west-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, - "hostname" : "kinesis-fips.us-west-1.amazonaws.com" + "deprecated" : true, + "hostname" : "kms-fips.us-west-1.amazonaws.com" }, - "fips-us-west-2" : { + "us-west-2" : { + "variants" : [ { + "hostname" : "kms-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, - "hostname" : "kinesis-fips.us-west-2.amazonaws.com" - }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "kinesisanalytics" : { - "endpoints" : { - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "kinesisvideo" : { - "endpoints" : { - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "kms" : { - "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "deprecated" : true, + "hostname" : "kms-fips.us-west-2.amazonaws.com" + } } }, "lakeformation" : { @@ -4360,32 +6580,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "lakeformation-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "lakeformation-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "lakeformation-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "lakeformation-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "lakeformation-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "lakeformation-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "lakeformation-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "lakeformation-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "lambda" : { @@ -4409,32 +6653,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "lambda-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "lambda-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "lambda-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "lambda-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "lambda-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "lambda-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "lambda-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "lambda-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "license-manager" : { @@ -4458,32 +6726,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "license-manager-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "license-manager-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "license-manager-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "license-manager-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "license-manager-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "license-manager-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "license-manager-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "license-manager-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "lightsail" : { @@ -4525,32 +6817,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "logs-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "logs-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "logs-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "logs-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "logs-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "logs-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "logs-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "logs-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "lookoutequipment" : { @@ -4583,16 +6899,28 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "macie-fips.us-east-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "macie-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "macie-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "macie-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "macie2" : { @@ -4616,32 +6944,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "macie2-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "macie2-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "macie2-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "macie2-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "macie2-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "macie2-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "macie2-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "macie2-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "managedblockchain" : { @@ -4686,7 +7038,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "mediaconvert-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -4696,37 +7053,62 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "mediaconvert-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "mediaconvert-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "mediaconvert-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "mediaconvert-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "mediaconvert-fips.us-west-2.amazonaws.com" }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "mediaconvert-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "mediaconvert-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "mediaconvert-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "mediaconvert-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "medialive" : { @@ -4745,24 +7127,42 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "medialive-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "medialive-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "medialive-fips.us-west-2.amazonaws.com" }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "medialive-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "medialive-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "medialive-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "mediapackage" : { @@ -4818,11 +7218,17 @@ }, "messaging-chime" : { "endpoints" : { - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "messaging-chime-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "messaging-chime-fips.us-east-1.amazonaws.com" } } @@ -4868,6 +7274,27 @@ "us-west-2" : { } } }, + "mgn" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "mobileanalytics" : { "endpoints" : { "us-east-1" : { } @@ -4892,7 +7319,11 @@ "defaults" : { "credentialScope" : { "service" : "lex" - } + }, + "variants" : [ { + "hostname" : "models-fips.lex.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "ap-northeast-1" : { }, @@ -4901,18 +7332,30 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "models-fips.lex.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "models-fips.lex.us-east-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "models-fips.lex.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "models-fips.lex.us-west-2.amazonaws.com" } } @@ -4941,32 +7384,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "monitoring-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "monitoring-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "monitoring-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "monitoring-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "monitoring-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "monitoring-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "monitoring-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "monitoring-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "mq" : { @@ -4989,32 +7456,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "mq-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "mq-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "mq-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "mq-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "mq-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "mq-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "mq-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "mq-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "mturk-requester" : { @@ -5148,7 +7639,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "network-firewall-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -5159,37 +7655,83 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "network-firewall-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "network-firewall-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "network-firewall-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "network-firewall-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "network-firewall-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "network-firewall-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "network-firewall-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "network-firewall-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "network-firewall-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, + "networkmanager" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "networkmanager.us-west-2.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "nimble" : { + "endpoints" : { + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, "us-west-2" : { } } }, @@ -5325,12 +7867,17 @@ "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "organizations.us-east-1.amazonaws.com" + "hostname" : "organizations.us-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "organizations-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "fips-aws-global" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "organizations-fips.us-east-1.amazonaws.com" } }, @@ -5347,7 +7894,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "outposts-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -5358,38 +7910,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "outposts-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "outposts-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "outposts-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "outposts-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "outposts-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "outposts-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "outposts-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "outposts-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "outposts-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "personalize" : { @@ -5427,25 +8004,35 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "pinpoint-fips.us-east-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "pinpoint-fips.us-west-2.amazonaws.com" }, "us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "pinpoint.us-east-1.amazonaws.com" + "hostname" : "pinpoint.us-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "pinpoint-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, - "hostname" : "pinpoint.us-west-2.amazonaws.com" + "hostname" : "pinpoint.us-west-2.amazonaws.com", + "variants" : [ { + "hostname" : "pinpoint-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -5468,36 +8055,78 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "polly-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "polly-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "polly-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "polly-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "polly-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "polly-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "polly-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "polly-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "portal.sso" : { "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "portal.sso.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "portal.sso.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "portal.sso.ap-south-1.amazonaws.com" + }, "ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" @@ -5522,6 +8151,12 @@ }, "hostname" : "portal.sso.eu-central-1.amazonaws.com" }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "portal.sso.eu-north-1.amazonaws.com" + }, "eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" @@ -5534,6 +8169,18 @@ }, "hostname" : "portal.sso.eu-west-2.amazonaws.com" }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "portal.sso.eu-west-3.amazonaws.com" + }, + "sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "portal.sso.sa-east-1.amazonaws.com" + }, "us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -5590,23 +8237,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "qldb-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "qldb-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "qldb-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "qldb-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "qldb-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "qldb-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "quicksight" : { @@ -5637,7 +8302,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "ram-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -5648,38 +8318,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "ram-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ram-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ram-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ram-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ram-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "ram-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "ram-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ram-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "ram-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "rds" : { @@ -5692,7 +8387,19 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "rds-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "rds-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -5704,39 +8411,141 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "rds-fips.ca-central-1.amazonaws.com" }, "rds-fips.us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "rds-fips.us-east-1.amazonaws.com" }, "rds-fips.us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "rds-fips.us-east-2.amazonaws.com" }, "rds-fips.us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "rds-fips.us-west-1.amazonaws.com" }, "rds-fips.us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "rds-fips.us-west-2.amazonaws.com" }, + "rds.ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rds-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rds.us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rds-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rds.us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rds-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rds.us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rds-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rds.us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rds-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "sa-east-1" : { }, "us-east-1" : { - "sslCommonName" : "{service}.{dnsSuffix}" + "sslCommonName" : "{service}.{dnsSuffix}", + "variants" : [ { + "hostname" : "rds-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "rds-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "rds-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "rds-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "rds-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "rds-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "rds-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "rds-fips.us-west-2.amazonaws.com" + } } }, "redshift" : { @@ -5749,7 +8558,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "redshift-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -5760,38 +8574,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "redshift-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "redshift-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "redshift-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "redshift-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "redshift-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "redshift-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "redshift-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "redshift-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "redshift-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "rekognition" : { @@ -5801,7 +8640,19 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "rekognition-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "rekognition-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, @@ -5809,36 +8660,139 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "rekognition-fips.ca-central-1.amazonaws.com" }, "rekognition-fips.us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "rekognition-fips.us-east-1.amazonaws.com" }, "rekognition-fips.us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "rekognition-fips.us-east-2.amazonaws.com" }, "rekognition-fips.us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "rekognition-fips.us-west-1.amazonaws.com" }, "rekognition-fips.us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "rekognition-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "rekognition.ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rekognition-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rekognition.us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rekognition-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rekognition.us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rekognition-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rekognition.us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rekognition-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "rekognition.us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rekognition-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "rekognition-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "rekognition-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "rekognition-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "rekognition-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "rekognition-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "rekognition-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "rekognition-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "rekognition-fips.us-west-2.amazonaws.com" + } } }, "resource-groups" : { @@ -5862,32 +8816,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "resource-groups-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "resource-groups-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "resource-groups-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "resource-groups-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "resource-groups-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "resource-groups-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "resource-groups-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "resource-groups-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "robomaker" : { @@ -5907,12 +8885,17 @@ "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "route53.amazonaws.com" + "hostname" : "route53.amazonaws.com", + "variants" : [ { + "hostname" : "route53-fips.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "fips-aws-global" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "route53-fips.amazonaws.com" } }, @@ -5981,7 +8964,11 @@ "defaults" : { "credentialScope" : { "service" : "lex" - } + }, + "variants" : [ { + "hostname" : "runtime-fips.lex.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "ap-northeast-1" : { }, @@ -5990,23 +8977,41 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "runtime-fips.lex.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "runtime-fips.lex.us-east-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "runtime-fips.lex.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "runtime-fips.lex.us-west-2.amazonaws.com" } } }, "runtime.sagemaker" : { + "defaults" : { + "variants" : [ { + "hostname" : "runtime-fips.sagemaker.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "af-south-1" : { }, "ap-east-1" : { }, @@ -6025,32 +9030,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "runtime-fips.sagemaker.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "runtime-fips.sagemaker.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "runtime-fips.sagemaker.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "runtime-fips.sagemaker.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "runtime-fips.sagemaker.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "runtime-fips.sagemaker.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "runtime-fips.sagemaker.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "runtime-fips.sagemaker.us-west-2.amazonaws.com" } } @@ -6058,109 +9087,71 @@ "s3" : { "defaults" : { "protocols" : [ "http", "https" ], - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "dnsSuffix" : "amazonaws.com", + "hostname" : "{service}-fips.dualstack.{region}.{dnsSuffix}", + "tags" : [ "dualstack", "fips" ] + }, { + "dnsSuffix" : "amazonaws.com", + "hostname" : "{service}.dualstack.{region}.{dnsSuffix}", + "tags" : [ "dualstack" ] + } ] }, "endpoints" : { - "accesspoint-af-south-1" : { - "hostname" : "s3-accesspoint.af-south-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-east-1" : { - "hostname" : "s3-accesspoint.ap-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-northeast-1" : { - "hostname" : "s3-accesspoint.ap-northeast-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-northeast-2" : { - "hostname" : "s3-accesspoint.ap-northeast-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-northeast-3" : { - "hostname" : "s3-accesspoint.ap-northeast-3.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-south-1" : { - "hostname" : "s3-accesspoint.ap-south-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-southeast-1" : { - "hostname" : "s3-accesspoint.ap-southeast-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ap-southeast-2" : { - "hostname" : "s3-accesspoint.ap-southeast-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-ca-central-1" : { - "hostname" : "s3-accesspoint.ca-central-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-eu-central-1" : { - "hostname" : "s3-accesspoint.eu-central-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-eu-north-1" : { - "hostname" : "s3-accesspoint.eu-north-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-eu-south-1" : { - "hostname" : "s3-accesspoint.eu-south-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-eu-west-1" : { - "hostname" : "s3-accesspoint.eu-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-eu-west-2" : { - "hostname" : "s3-accesspoint.eu-west-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-eu-west-3" : { - "hostname" : "s3-accesspoint.eu-west-3.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-me-south-1" : { - "hostname" : "s3-accesspoint.me-south-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-sa-east-1" : { - "hostname" : "s3-accesspoint.sa-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "af-south-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.af-south-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "accesspoint-us-east-1" : { - "hostname" : "s3-accesspoint.us-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "ap-east-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.ap-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "accesspoint-us-east-2" : { - "hostname" : "s3-accesspoint.us-east-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "ap-northeast-1" : { + "hostname" : "s3.ap-northeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3.dualstack.ap-northeast-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "accesspoint-us-west-1" : { - "hostname" : "s3-accesspoint.us-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "ap-northeast-2" : { + "variants" : [ { + "hostname" : "s3.dualstack.ap-northeast-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "accesspoint-us-west-2" : { - "hostname" : "s3-accesspoint.us-west-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "ap-northeast-3" : { + "variants" : [ { + "hostname" : "s3.dualstack.ap-northeast-3.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { - "hostname" : "s3.ap-northeast-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "ap-south-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.ap-south-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, "ap-southeast-1" : { "hostname" : "s3.ap-southeast-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3.dualstack.ap-southeast-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ap-southeast-2" : { "hostname" : "s3.ap-southeast-2.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3.dualstack.ap-southeast-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "aws-global" : { "credentialScope" : { @@ -6169,37 +9160,97 @@ "hostname" : "s3.amazonaws.com", "signatureVersions" : [ "s3", "s3v4" ] }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "s3-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-fips.dualstack.ca-central-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3.dualstack.ca-central-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] + }, + "eu-central-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.eu-central-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] + }, + "eu-north-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.eu-north-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] + }, + "eu-south-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.eu-south-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] + }, "eu-west-1" : { "hostname" : "s3.eu-west-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3.dualstack.eu-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "fips-accesspoint-ca-central-1" : { - "hostname" : "s3-accesspoint-fips.ca-central-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "eu-west-2" : { + "variants" : [ { + "hostname" : "s3.dualstack.eu-west-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "fips-accesspoint-us-east-1" : { - "hostname" : "s3-accesspoint-fips.us-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "eu-west-3" : { + "variants" : [ { + "hostname" : "s3.dualstack.eu-west-3.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "fips-accesspoint-us-east-2" : { - "hostname" : "s3-accesspoint-fips.us-east-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "s3-fips.ca-central-1.amazonaws.com" }, - "fips-accesspoint-us-west-1" : { - "hostname" : "s3-accesspoint-fips.us-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "s3-fips.us-east-1.amazonaws.com" }, - "fips-accesspoint-us-west-2" : { - "hostname" : "s3-accesspoint-fips.us-west-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "s3-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "s3-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "s3-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.me-south-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "me-south-1" : { }, "s3-external-1" : { "credentialScope" : { "region" : "us-east-1" @@ -6209,20 +9260,65 @@ }, "sa-east-1" : { "hostname" : "s3.sa-east-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3.dualstack.sa-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-east-1" : { "hostname" : "s3.us-east-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3-fips.dualstack.us-east-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3.dualstack.us-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "s3-fips.dualstack.us-east-2.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3.dualstack.us-east-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, - "us-east-2" : { }, "us-west-1" : { "hostname" : "s3.us-west-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3-fips.dualstack.us-west-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3.dualstack.us-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-west-2" : { "hostname" : "s3.us-west-2.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "hostname" : "s3-fips.dualstack.us-west-2.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3.dualstack.us-west-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] } }, "isRegionalized" : true, @@ -6239,54 +9335,89 @@ "region" : "ap-northeast-1" }, "hostname" : "s3-control.ap-northeast-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.ap-northeast-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ap-northeast-2" : { "credentialScope" : { "region" : "ap-northeast-2" }, "hostname" : "s3-control.ap-northeast-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.ap-northeast-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ap-northeast-3" : { "credentialScope" : { "region" : "ap-northeast-3" }, "hostname" : "s3-control.ap-northeast-3.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.ap-northeast-3.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" }, "hostname" : "s3-control.ap-south-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.ap-south-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" }, "hostname" : "s3-control.ap-southeast-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.ap-southeast-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ap-southeast-2" : { "credentialScope" : { "region" : "ap-southeast-2" }, "hostname" : "s3-control.ap-southeast-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.ap-southeast-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, "hostname" : "s3-control.ca-central-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control-fips.dualstack.ca-central-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control.dualstack.ca-central-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "ca-central-1-fips" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "s3-control-fips.ca-central-1.amazonaws.com", "signatureVersions" : [ "s3v4" ] }, @@ -6295,54 +9426,89 @@ "region" : "eu-central-1" }, "hostname" : "s3-control.eu-central-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.eu-central-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "eu-north-1" : { "credentialScope" : { "region" : "eu-north-1" }, "hostname" : "s3-control.eu-north-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.eu-north-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" }, "hostname" : "s3-control.eu-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.eu-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "eu-west-2" : { "credentialScope" : { "region" : "eu-west-2" }, "hostname" : "s3-control.eu-west-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.eu-west-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "eu-west-3" : { "credentialScope" : { "region" : "eu-west-3" }, "hostname" : "s3-control.eu-west-3.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.eu-west-3.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "sa-east-1" : { "credentialScope" : { "region" : "sa-east-1" }, "hostname" : "s3-control.sa-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.sa-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, "hostname" : "s3-control.us-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.dualstack.us-east-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control.dualstack.us-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "s3-control-fips.us-east-1.amazonaws.com", "signatureVersions" : [ "s3v4" ] }, @@ -6351,12 +9517,23 @@ "region" : "us-east-2" }, "hostname" : "s3-control.us-east-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.dualstack.us-east-2.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control.dualstack.us-east-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "s3-control-fips.us-east-2.amazonaws.com", "signatureVersions" : [ "s3v4" ] }, @@ -6365,12 +9542,23 @@ "region" : "us-west-1" }, "hostname" : "s3-control.us-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.dualstack.us-west-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control.dualstack.us-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "s3-control-fips.us-west-1.amazonaws.com", "signatureVersions" : [ "s3v4" ] }, @@ -6379,12 +9567,23 @@ "region" : "us-west-2" }, "hostname" : "s3-control.us-west-2.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.dualstack.us-west-2.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control.dualstack.us-west-2.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "s3-control-fips.us-west-2.amazonaws.com", "signatureVersions" : [ "s3v4" ] } @@ -6460,32 +9659,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "secretsmanager-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "secretsmanager-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "secretsmanager-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "secretsmanager-fips.us-west-2.amazonaws.com" } } @@ -6511,32 +9734,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "securityhub-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "securityhub-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "securityhub-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "securityhub-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "securityhub-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "securityhub-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "securityhub-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "securityhub-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "serverlessrepo" : { @@ -6619,32 +9866,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "servicecatalog-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "servicecatalog-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "servicecatalog-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "servicecatalog-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "servicecatalog-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "servicecatalog-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "servicecatalog-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "servicecatalog-fips.us-west-2.amazonaws.com" } } @@ -6658,7 +9929,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -6669,38 +9945,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "servicediscovery" : { @@ -6712,7 +10013,19 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -6721,16 +10034,75 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, + "servicediscovery" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "servicediscovery-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "servicediscovery-fips" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "servicediscovery-fips.ca-central-1.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.us-west-2.amazonaws.com" + } } }, "servicequotas" : { @@ -6774,23 +10146,41 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "session.qldb-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "session.qldb-fips.us-east-2.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "session.qldb-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "session.qldb-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "session.qldb-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "session.qldb-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "shield" : { @@ -6803,12 +10193,17 @@ "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "shield.us-east-1.amazonaws.com" + "hostname" : "shield.us-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "shield-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "fips-aws-global" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "shield-fips.us-east-1.amazonaws.com" } }, @@ -6835,152 +10230,272 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "sms-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "sms-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "sms-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "sms-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "sms-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "sms-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "sms-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "sms-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "snowball" : { "endpoints" : { "af-south-1" : { }, "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, + "ap-northeast-1" : { + "variants" : [ { + "hostname" : "snowball-fips.ap-northeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-2" : { + "variants" : [ { + "hostname" : "snowball-fips.ap-northeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-northeast-3" : { + "variants" : [ { + "hostname" : "snowball-fips.ap-northeast-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-south-1" : { + "variants" : [ { + "hostname" : "snowball-fips.ap-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-1" : { + "variants" : [ { + "hostname" : "snowball-fips.ap-southeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ap-southeast-2" : { + "variants" : [ { + "hostname" : "snowball-fips.ap-southeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "snowball-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-central-1" : { + "variants" : [ { + "hostname" : "snowball-fips.eu-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-north-1" : { }, "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, + "eu-west-1" : { + "variants" : [ { + "hostname" : "snowball-fips.eu-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-2" : { + "variants" : [ { + "hostname" : "snowball-fips.eu-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-west-3" : { + "variants" : [ { + "hostname" : "snowball-fips.eu-west-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "fips-ap-northeast-1" : { "credentialScope" : { "region" : "ap-northeast-1" }, + "deprecated" : true, "hostname" : "snowball-fips.ap-northeast-1.amazonaws.com" }, "fips-ap-northeast-2" : { "credentialScope" : { "region" : "ap-northeast-2" }, + "deprecated" : true, "hostname" : "snowball-fips.ap-northeast-2.amazonaws.com" }, "fips-ap-northeast-3" : { "credentialScope" : { "region" : "ap-northeast-3" }, + "deprecated" : true, "hostname" : "snowball-fips.ap-northeast-3.amazonaws.com" }, "fips-ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" }, + "deprecated" : true, "hostname" : "snowball-fips.ap-south-1.amazonaws.com" }, "fips-ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" }, + "deprecated" : true, "hostname" : "snowball-fips.ap-southeast-1.amazonaws.com" }, "fips-ap-southeast-2" : { "credentialScope" : { "region" : "ap-southeast-2" }, + "deprecated" : true, "hostname" : "snowball-fips.ap-southeast-2.amazonaws.com" }, "fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "snowball-fips.ca-central-1.amazonaws.com" }, "fips-eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" }, + "deprecated" : true, "hostname" : "snowball-fips.eu-central-1.amazonaws.com" }, "fips-eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" }, + "deprecated" : true, "hostname" : "snowball-fips.eu-west-1.amazonaws.com" }, "fips-eu-west-2" : { "credentialScope" : { "region" : "eu-west-2" }, + "deprecated" : true, "hostname" : "snowball-fips.eu-west-2.amazonaws.com" }, "fips-eu-west-3" : { "credentialScope" : { "region" : "eu-west-3" }, + "deprecated" : true, "hostname" : "snowball-fips.eu-west-3.amazonaws.com" }, "fips-sa-east-1" : { "credentialScope" : { "region" : "sa-east-1" }, + "deprecated" : true, "hostname" : "snowball-fips.sa-east-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "snowball-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "snowball-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "snowball-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "snowball-fips.us-west-2.amazonaws.com" }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "sa-east-1" : { + "variants" : [ { + "hostname" : "snowball-fips.sa-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1" : { + "variants" : [ { + "hostname" : "snowball-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "snowball-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "snowball-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "snowball-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "sns" : { @@ -7007,32 +10522,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "sns-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "sns-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "sns-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "sns-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "sns-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "sns-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "sns-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "sns-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "sqs" : { @@ -7060,34 +10599,57 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "sqs-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "sqs-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "sqs-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "sqs-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { - "sslCommonName" : "queue.{dnsSuffix}" + "sslCommonName" : "queue.{dnsSuffix}", + "variants" : [ { + "hostname" : "sqs-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-2" : { + "variants" : [ { + "hostname" : "sqs-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "sqs-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "sqs-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "ssm" : { @@ -7100,7 +10662,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "ssm-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -7111,38 +10678,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "ssm-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "ssm-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "ssm-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "ssm-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "ssm-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "ssm-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "ssm-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ssm-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "ssm-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "ssm-incidents" : { @@ -7179,32 +10771,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "states-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "states-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "states-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "states-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "states-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "states-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "states-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "states-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "storagegateway" : { @@ -7217,7 +10833,19 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "storagegateway-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -7228,14 +10856,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "storagegateway-fips.ca-central-1.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "storagegateway-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "storagegateway-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "storagegateway-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "storagegateway-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.us-west-2.amazonaws.com" + } } }, "streams.dynamodb" : { @@ -7327,32 +11004,56 @@ "eu-west-3" : { }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "sts-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "sts-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "sts-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "sts-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "sts-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-1-fips" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "sts-fips.us-west-1.amazonaws.com" }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "sts-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "sts-fips.us-west-2.amazonaws.com" } }, @@ -7390,32 +11091,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "swf-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "swf-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "swf-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "swf-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "swf-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "swf-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "tagging" : { @@ -7449,7 +11174,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "textract-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, @@ -7458,43 +11188,73 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "textract-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "textract-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "textract-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "textract-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "textract-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "textract-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "textract-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "textract-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "textract-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "transcribe" : { "defaults" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "fips.transcribe.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { + "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, @@ -7503,6 +11263,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -7510,32 +11271,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "fips.transcribe.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "fips.transcribe.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "fips.transcribe.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "fips.transcribe.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "fips.transcribe.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "fips.transcribe.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "fips.transcribe.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "fips.transcribe.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "transcribestreaming" : { @@ -7548,30 +11333,74 @@ "eu-west-1" : { }, "eu-west-2" : { }, "sa-east-1" : { }, + "transcribestreaming-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "transcribestreaming-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "transcribestreaming-fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "transcribestreaming-fips.ca-central-1.amazonaws.com" }, "transcribestreaming-fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "transcribestreaming-fips.us-east-1.amazonaws.com" }, "transcribestreaming-fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "transcribestreaming-fips.us-east-2.amazonaws.com" }, "transcribestreaming-fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "transcribestreaming-fips.us-west-2.amazonaws.com" }, + "transcribestreaming-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "transcribestreaming-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "transcribestreaming-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "transcribestreaming-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "transcribestreaming-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "transcribestreaming-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } @@ -7586,7 +11415,12 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "transfer-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -7597,38 +11431,63 @@ "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "transfer-fips.ca-central-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "transfer-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "transfer-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "transfer-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "transfer-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "transfer-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "transfer-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "transfer-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "transfer-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "translate" : { @@ -7648,26 +11507,44 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, - "us-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "translate-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-1-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "translate-fips.us-east-1.amazonaws.com" }, - "us-east-2" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "translate-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-east-2-fips" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "translate-fips.us-east-2.amazonaws.com" }, "us-west-1" : { }, - "us-west-2" : { }, + "us-west-2" : { + "variants" : [ { + "hostname" : "translate-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2-fips" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "translate-fips.us-west-2.amazonaws.com" } } @@ -7685,17 +11562,39 @@ }, "waf" : { "endpoints" : { + "aws" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "waf-fips.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "aws-fips" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "waf-fips.amazonaws.com" }, - "aws-global" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf.amazonaws.com", + "variants" : [ { + "hostname" : "waf-fips.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "aws-global-fips" : { "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "waf.amazonaws.com" + "deprecated" : true, + "hostname" : "waf-fips.amazonaws.com" } }, "isRegionalized" : false, @@ -7707,256 +11606,371 @@ "credentialScope" : { "region" : "af-south-1" }, - "hostname" : "waf-regional.af-south-1.amazonaws.com" + "hostname" : "waf-regional.af-south-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.af-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-east-1" : { "credentialScope" : { "region" : "ap-east-1" }, - "hostname" : "waf-regional.ap-east-1.amazonaws.com" + "hostname" : "waf-regional.ap-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-northeast-1" : { "credentialScope" : { "region" : "ap-northeast-1" }, - "hostname" : "waf-regional.ap-northeast-1.amazonaws.com" + "hostname" : "waf-regional.ap-northeast-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-northeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-northeast-2" : { "credentialScope" : { "region" : "ap-northeast-2" }, - "hostname" : "waf-regional.ap-northeast-2.amazonaws.com" + "hostname" : "waf-regional.ap-northeast-2.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-northeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-northeast-3" : { "credentialScope" : { "region" : "ap-northeast-3" }, - "hostname" : "waf-regional.ap-northeast-3.amazonaws.com" + "hostname" : "waf-regional.ap-northeast-3.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-northeast-3.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" }, - "hostname" : "waf-regional.ap-south-1.amazonaws.com" + "hostname" : "waf-regional.ap-south-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" }, - "hostname" : "waf-regional.ap-southeast-1.amazonaws.com" + "hostname" : "waf-regional.ap-southeast-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-southeast-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ap-southeast-2" : { "credentialScope" : { "region" : "ap-southeast-2" }, - "hostname" : "waf-regional.ap-southeast-2.amazonaws.com" + "hostname" : "waf-regional.ap-southeast-2.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ap-southeast-2.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, - "hostname" : "waf-regional.ca-central-1.amazonaws.com" + "hostname" : "waf-regional.ca-central-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" }, - "hostname" : "waf-regional.eu-central-1.amazonaws.com" + "hostname" : "waf-regional.eu-central-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.eu-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "eu-north-1" : { "credentialScope" : { "region" : "eu-north-1" }, - "hostname" : "waf-regional.eu-north-1.amazonaws.com" + "hostname" : "waf-regional.eu-north-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.eu-north-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "eu-south-1" : { "credentialScope" : { "region" : "eu-south-1" }, - "hostname" : "waf-regional.eu-south-1.amazonaws.com" + "hostname" : "waf-regional.eu-south-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.eu-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" }, - "hostname" : "waf-regional.eu-west-1.amazonaws.com" + "hostname" : "waf-regional.eu-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.eu-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "eu-west-2" : { "credentialScope" : { "region" : "eu-west-2" }, - "hostname" : "waf-regional.eu-west-2.amazonaws.com" + "hostname" : "waf-regional.eu-west-2.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.eu-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "eu-west-3" : { "credentialScope" : { "region" : "eu-west-3" }, - "hostname" : "waf-regional.eu-west-3.amazonaws.com" + "hostname" : "waf-regional.eu-west-3.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.eu-west-3.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "fips-af-south-1" : { "credentialScope" : { "region" : "af-south-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.af-south-1.amazonaws.com" }, "fips-ap-east-1" : { "credentialScope" : { "region" : "ap-east-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-east-1.amazonaws.com" }, "fips-ap-northeast-1" : { "credentialScope" : { "region" : "ap-northeast-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-northeast-1.amazonaws.com" }, "fips-ap-northeast-2" : { "credentialScope" : { "region" : "ap-northeast-2" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-northeast-2.amazonaws.com" }, "fips-ap-northeast-3" : { "credentialScope" : { "region" : "ap-northeast-3" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-northeast-3.amazonaws.com" }, "fips-ap-south-1" : { "credentialScope" : { "region" : "ap-south-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-south-1.amazonaws.com" }, "fips-ap-southeast-1" : { "credentialScope" : { "region" : "ap-southeast-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-southeast-1.amazonaws.com" }, "fips-ap-southeast-2" : { "credentialScope" : { "region" : "ap-southeast-2" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ap-southeast-2.amazonaws.com" }, "fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.ca-central-1.amazonaws.com" }, "fips-eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.eu-central-1.amazonaws.com" }, "fips-eu-north-1" : { "credentialScope" : { "region" : "eu-north-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.eu-north-1.amazonaws.com" }, "fips-eu-south-1" : { "credentialScope" : { "region" : "eu-south-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.eu-south-1.amazonaws.com" }, "fips-eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.eu-west-1.amazonaws.com" }, "fips-eu-west-2" : { "credentialScope" : { "region" : "eu-west-2" }, + "deprecated" : true, "hostname" : "waf-regional-fips.eu-west-2.amazonaws.com" }, "fips-eu-west-3" : { "credentialScope" : { "region" : "eu-west-3" }, + "deprecated" : true, "hostname" : "waf-regional-fips.eu-west-3.amazonaws.com" }, "fips-me-south-1" : { "credentialScope" : { "region" : "me-south-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.me-south-1.amazonaws.com" }, "fips-sa-east-1" : { "credentialScope" : { "region" : "sa-east-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.sa-east-1.amazonaws.com" }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "waf-regional-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "waf-regional-fips.us-west-2.amazonaws.com" }, "me-south-1" : { "credentialScope" : { "region" : "me-south-1" }, - "hostname" : "waf-regional.me-south-1.amazonaws.com" + "hostname" : "waf-regional.me-south-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.me-south-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "sa-east-1" : { "credentialScope" : { "region" : "sa-east-1" }, - "hostname" : "waf-regional.sa-east-1.amazonaws.com" + "hostname" : "waf-regional.sa-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.sa-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-east-1" : { "credentialScope" : { "region" : "us-east-1" }, - "hostname" : "waf-regional.us-east-1.amazonaws.com" + "hostname" : "waf-regional.us-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, - "hostname" : "waf-regional.us-east-2.amazonaws.com" + "hostname" : "waf-regional.us-east-2.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, - "hostname" : "waf-regional.us-west-1.amazonaws.com" + "hostname" : "waf-regional.us-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, - "hostname" : "waf-regional.us-west-2.amazonaws.com" + "hostname" : "waf-regional.us-west-2.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, + "wisdom" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "workdocs" : { "endpoints" : { "ap-northeast-1" : { }, @@ -7967,16 +11981,28 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "workdocs-fips.us-east-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "workdocs-fips.us-west-2.amazonaws.com" }, - "us-east-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "workdocs-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "workdocs-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "workmail" : { @@ -8004,17 +12030,29 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "workspaces-fips.us-east-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "workspaces-fips.us-west-2.amazonaws.com" }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "workspaces-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "workspaces-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "xray" : { @@ -8038,32 +12076,56 @@ "credentialScope" : { "region" : "us-east-1" }, + "deprecated" : true, "hostname" : "xray-fips.us-east-1.amazonaws.com" }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" }, + "deprecated" : true, "hostname" : "xray-fips.us-east-2.amazonaws.com" }, "fips-us-west-1" : { "credentialScope" : { "region" : "us-west-1" }, + "deprecated" : true, "hostname" : "xray-fips.us-west-1.amazonaws.com" }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" }, + "deprecated" : true, "hostname" : "xray-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "xray-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "xray-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "xray-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "xray-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } } } @@ -8071,7 +12133,20 @@ "defaults" : { "hostname" : "{service}.{region}.{dnsSuffix}", "protocols" : [ "https" ], - "signatureVersions" : [ "v4" ] + "signatureVersions" : [ "v4" ], + "variants" : [ { + "dnsSuffix" : "amazonaws.com.cn", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + }, { + "dnsSuffix" : "api.amazonwebservices.com.cn", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "dualstack", "fips" ] + }, { + "dnsSuffix" : "api.amazonwebservices.com.cn", + "hostname" : "{service}.{region}.{dnsSuffix}", + "tags" : [ "dualstack" ] + } ] }, "dnsSuffix" : "amazonaws.com.cn", "partition" : "aws-cn", @@ -8147,6 +12222,12 @@ "cn-northwest-1" : { } } }, + "applicationinsights" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "appmesh" : { "endpoints" : { "cn-north-1" : { }, @@ -8389,18 +12470,30 @@ }, "elasticfilesystem" : { "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { }, + "cn-north-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.cn-north-1.amazonaws.com.cn", + "tags" : [ "fips" ] + } ] + }, + "cn-northwest-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn", + "tags" : [ "fips" ] + } ] + }, "fips-cn-north-1" : { "credentialScope" : { "region" : "cn-north-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.cn-north-1.amazonaws.com.cn" }, "fips-cn-northwest-1" : { "credentialScope" : { "region" : "cn-northwest-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" } } @@ -8557,6 +12650,11 @@ "cn-northwest-1" : { } } }, + "iotsitewise" : { + "endpoints" : { + "cn-north-1" : { } + } + }, "kafka" : { "endpoints" : { "cn-north-1" : { }, @@ -8722,19 +12820,26 @@ "s3" : { "defaults" : { "protocols" : [ "http", "https" ], - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "dnsSuffix" : "amazonaws.com.cn", + "hostname" : "{service}.dualstack.{region}.{dnsSuffix}", + "tags" : [ "dualstack" ] + } ] }, "endpoints" : { - "accesspoint-cn-north-1" : { - "hostname" : "s3-accesspoint.cn-north-1.amazonaws.com.cn", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-cn-northwest-1" : { - "hostname" : "s3-accesspoint.cn-northwest-1.amazonaws.com.cn", - "signatureVersions" : [ "s3v4" ] + "cn-north-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.cn-north-1.amazonaws.com.cn", + "tags" : [ "dualstack" ] + } ] }, - "cn-north-1" : { }, - "cn-northwest-1" : { } + "cn-northwest-1" : { + "variants" : [ { + "hostname" : "s3.dualstack.cn-northwest-1.amazonaws.com.cn", + "tags" : [ "dualstack" ] + } ] + } } }, "s3-control" : { @@ -8748,14 +12853,22 @@ "region" : "cn-north-1" }, "hostname" : "s3-control.cn-north-1.amazonaws.com.cn", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.cn-north-1.amazonaws.com.cn", + "tags" : [ "dualstack" ] + } ] }, "cn-northwest-1" : { "credentialScope" : { "region" : "cn-northwest-1" }, "hostname" : "s3-control.cn-northwest-1.amazonaws.com.cn", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control.dualstack.cn-northwest-1.amazonaws.com.cn", + "tags" : [ "dualstack" ] + } ] } } }, @@ -8804,18 +12917,30 @@ }, "snowball" : { "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { }, + "cn-north-1" : { + "variants" : [ { + "hostname" : "snowball-fips.cn-north-1.amazonaws.com.cn", + "tags" : [ "fips" ] + } ] + }, + "cn-northwest-1" : { + "variants" : [ { + "hostname" : "snowball-fips.cn-northwest-1.amazonaws.com.cn", + "tags" : [ "fips" ] + } ] + }, "fips-cn-north-1" : { "credentialScope" : { "region" : "cn-north-1" }, + "deprecated" : true, "hostname" : "snowball-fips.cn-north-1.amazonaws.com.cn" }, "fips-cn-northwest-1" : { "credentialScope" : { "region" : "cn-northwest-1" }, + "deprecated" : true, "hostname" : "snowball-fips.cn-northwest-1.amazonaws.com.cn" } } @@ -8935,24 +13060,34 @@ "credentialScope" : { "region" : "cn-north-1" }, - "hostname" : "waf-regional.cn-north-1.amazonaws.com.cn" + "hostname" : "waf-regional.cn-north-1.amazonaws.com.cn", + "variants" : [ { + "hostname" : "waf-regional-fips.cn-north-1.amazonaws.com.cn", + "tags" : [ "fips" ] + } ] }, "cn-northwest-1" : { "credentialScope" : { "region" : "cn-northwest-1" }, - "hostname" : "waf-regional.cn-northwest-1.amazonaws.com.cn" + "hostname" : "waf-regional.cn-northwest-1.amazonaws.com.cn", + "variants" : [ { + "hostname" : "waf-regional-fips.cn-northwest-1.amazonaws.com.cn", + "tags" : [ "fips" ] + } ] }, "fips-cn-north-1" : { "credentialScope" : { "region" : "cn-north-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.cn-north-1.amazonaws.com.cn" }, "fips-cn-northwest-1" : { "credentialScope" : { "region" : "cn-northwest-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.cn-northwest-1.amazonaws.com.cn" } } @@ -8973,7 +13108,20 @@ "defaults" : { "hostname" : "{service}.{region}.{dnsSuffix}", "protocols" : [ "https" ], - "signatureVersions" : [ "v4" ] + "signatureVersions" : [ "v4" ], + "variants" : [ { + "dnsSuffix" : "amazonaws.com", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + }, { + "dnsSuffix" : "api.aws", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "dualstack", "fips" ] + }, { + "dnsSuffix" : "api.aws", + "hostname" : "{service}.{region}.{dnsSuffix}", + "tags" : [ "dualstack" ] + } ] }, "dnsSuffix" : "amazonaws.com", "partition" : "aws-us-gov", @@ -9022,23 +13170,39 @@ }, "acm-pca" : { "defaults" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "acm-pca.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "acm-pca.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "acm-pca.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "acm-pca.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "acm-pca.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "api.detective" : { @@ -9046,76 +13210,149 @@ "protocols" : [ "https" ] }, "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "api.detective-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "api.detective-fips.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "api.detective-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "api.detective-fips.us-gov-west-1.amazonaws.com" } } }, "api.ecr" : { + "defaults" : { + "variants" : [ { + "hostname" : "ecr-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { + "dkr-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "ecr-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "dkr-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "ecr-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "fips-dkr-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-gov-east-1.amazonaws.com" }, "fips-dkr-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-gov-west-1.amazonaws.com" }, "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "ecr-fips.us-gov-west-1.amazonaws.com" }, "us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, - "hostname" : "api.ecr.us-gov-east-1.amazonaws.com" + "hostname" : "api.ecr.us-gov-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "ecr-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "api.ecr.us-gov-west-1.amazonaws.com" + "hostname" : "api.ecr.us-gov-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "ecr-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, "api.sagemaker" : { + "defaults" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "api-fips.sagemaker.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "api-fips.sagemaker.us-gov-west-1.amazonaws.com" }, "us-gov-west-1-fips-secondary" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "api.sagemaker.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1-secondary" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "api.sagemaker.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -9138,6 +13375,22 @@ } } }, + "applicationinsights" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "applicationinsights.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "applicationinsights.us-gov-west-1.amazonaws.com" + } + } + }, "appstream2" : { "defaults" : { "credentialScope" : { @@ -9150,9 +13403,22 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "appstream2-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "appstream2-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "appstream2-fips.us-gov-west-1.amazonaws.com" + } } }, "athena" : { @@ -9161,16 +13427,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "athena-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "athena-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "athena-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "athena-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "autoscaling" : { @@ -9203,21 +13481,39 @@ } }, "batch" : { + "defaults" : { + "variants" : [ { + "hostname" : "batch.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "batch.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "batch.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "batch.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "batch.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "cloudcontrolapi" : { @@ -9226,16 +13522,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "cloudcontrolapi-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "cloudcontrolapi-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "clouddirectory" : { @@ -9293,18 +13601,30 @@ }, "codebuild" : { "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "codebuild-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "codebuild-fips.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "codebuild-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "codebuild-fips.us-gov-west-1.amazonaws.com" } } @@ -9315,26 +13635,63 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "codecommit-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "codecommit-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "codecommit-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "codecommit-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "codecommit-fips.us-gov-west-1.amazonaws.com" + } } }, "codedeploy" : { "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "codedeploy-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "codedeploy-fips.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "codedeploy-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "codedeploy-fips.us-gov-west-1.amazonaws.com" } } @@ -9345,9 +13702,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "codepipeline-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "codepipeline-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "cognito-identity" : { @@ -9356,9 +13719,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "cognito-identity-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "cognito-identity-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "cognito-idp" : { @@ -9367,9 +13736,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "cognito-idp-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "cognito-idp-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "comprehend" : { @@ -9381,9 +13756,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "comprehend-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "comprehend-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "comprehendmedical" : { @@ -9392,27 +13773,51 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "comprehendmedical-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "comprehendmedical-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "config" : { + "defaults" : { + "variants" : [ { + "hostname" : "config.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "config.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "config.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "config.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "config.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "connect" : { @@ -9432,16 +13837,28 @@ "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "service" : "iotdata" }, + "deprecated" : true, "hostname" : "data.iot-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "data.iot-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "data.iot-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "data.jobs.iot" : { @@ -9450,16 +13867,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "data.jobs.iot-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "data.jobs.iot-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "databrew" : { @@ -9473,16 +13902,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "datasync-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "datasync-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "datasync-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "datasync-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "directconnect" : { @@ -9502,15 +13943,56 @@ } }, "dms" : { + "defaults" : { + "variants" : [ { + "hostname" : "dms.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { + "dms" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "dms.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "dms-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "dms.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "dms.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "dms.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "dms.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "dms.us-gov-west-1.amazonaws.com" + } } }, "docdb" : { @@ -9529,32 +14011,62 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "ds-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "ds-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "ds-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "ds-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "dynamodb" : { + "defaults" : { + "variants" : [ { + "hostname" : "dynamodb.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "dynamodb.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "dynamodb.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "dynamodb.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" } } @@ -9587,49 +14099,96 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "ecs-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "ecs-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "ecs-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "ecs-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "eks" : { "defaults" : { - "protocols" : [ "http", "https" ] + "protocols" : [ "http", "https" ], + "variants" : [ { + "hostname" : "eks.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "eks.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "eks.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "eks.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "eks.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elasticache" : { + "defaults" : { + "variants" : [ { + "hostname" : "elasticache.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "elasticache.us-gov-west-1.amazonaws.com" }, "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "elasticache.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "elasticache.us-gov-west-1.amazonaws.com" + } } }, "elasticbeanstalk" : { @@ -9654,55 +14213,101 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "elasticloadbalancing" : { + "defaults" : { + "variants" : [ { + "hostname" : "elasticloadbalancing.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "elasticloadbalancing.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "elasticloadbalancing.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "elasticloadbalancing.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1" : { - "protocols" : [ "http", "https" ] + "protocols" : [ "http", "https" ], + "variants" : [ { + "hostname" : "elasticloadbalancing.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, "elasticmapreduce" : { + "defaults" : { + "variants" : [ { + "hostname" : "elasticmapreduce.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "elasticmapreduce.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "elasticmapreduce.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "elasticmapreduce.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "elasticmapreduce.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -9712,9 +14317,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "email-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "email-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "es" : { @@ -9723,10 +14334,35 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "es-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "es-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "es-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "es-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "es-fips.us-gov-west-1.amazonaws.com" + } } }, "events" : { @@ -9751,16 +14387,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "firehose-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "firehose-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "firehose-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "firehose-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "fms" : { @@ -9772,16 +14420,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "fms-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "fms-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "fms-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "fms-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "fsx" : { @@ -9790,16 +14450,62 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "fsx-fips.us-gov-east-1.amazonaws.com" }, "fips-prod-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "fsx-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "fsx-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "fsx-fips.us-gov-west-1.amazonaws.com" + }, + "prod-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "prod-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "fsx-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "fsx-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "fsx-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "glacier" : { @@ -9825,16 +14531,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "glue-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "glue-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "glue-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "glue-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "greengrass" : { @@ -9858,13 +14576,18 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "greengrass-fips.us-gov-east-1.amazonaws.com" }, "us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, - "hostname" : "greengrass.us-gov-east-1.amazonaws.com" + "hostname" : "greengrass.us-gov-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "greengrass-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-gov-west-1" : { "credentialScope" : { @@ -9877,21 +14600,37 @@ }, "guardduty" : { "defaults" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "guardduty.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "guardduty.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "guardduty.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "guardduty.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "guardduty.us-gov-west-1.amazonaws.com" } }, @@ -9903,7 +14642,18 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "health-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "health-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -9913,12 +14663,34 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "hostname" : "iam.us-gov.amazonaws.com", + "variants" : [ { + "hostname" : "iam.us-gov.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "aws-us-gov-global-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, "hostname" : "iam.us-gov.amazonaws.com" }, + "iam-govcloud" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "iam.us-gov.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "iam-govcloud-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "iam.us-gov.amazonaws.com" } }, @@ -9931,9 +14703,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "identitystore.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "identitystore.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "inspector" : { @@ -9942,16 +14720,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "inspector-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "inspector-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "inspector-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "inspector-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "iot" : { @@ -9965,16 +14755,28 @@ "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "service" : "execute-api" }, + "deprecated" : true, "hostname" : "iot-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "iot-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "iot-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "iotevents" : { @@ -9993,20 +14795,43 @@ } }, "iotsecuredtunneling" : { + "defaults" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, + "iotsitewise" : { + "endpoints" : { "us-gov-west-1" : { } } }, @@ -10018,7 +14843,19 @@ }, "kendra" : { "endpoints" : { - "us-gov-west-1" : { } + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "kendra-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "kendra-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "kinesis" : { @@ -10049,10 +14886,35 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "kms-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.us-gov-west-1.amazonaws.com" + } } }, "lakeformation" : { @@ -10061,9 +14923,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "lakeformation-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "lakeformation-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "lambda" : { @@ -10072,16 +14940,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "lambda-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "lambda-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "lambda-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "lambda-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "license-manager" : { @@ -10090,16 +14970,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "license-manager-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "license-manager-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "license-manager-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "license-manager-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "logs" : { @@ -10143,34 +15035,62 @@ "defaults" : { "credentialScope" : { "service" : "lex" - } + }, + "variants" : [ { + "hostname" : "models-fips.lex.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "models-fips.lex.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "models-fips.lex.us-gov-west-1.amazonaws.com" } } }, "monitoring" : { + "defaults" : { + "variants" : [ { + "hostname" : "monitoring.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "monitoring.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "monitoring.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "monitoring.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "monitoring.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "mq" : { @@ -10179,16 +15099,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "mq-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "mq-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "mq-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "mq-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "neptune" : { @@ -10213,18 +15145,42 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "network-firewall-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "network-firewall-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "network-firewall-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "network-firewall-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, + "networkmanager" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "networkmanager.us-gov-west-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, "oidc" : { "endpoints" : { "us-gov-west-1" : { @@ -10241,12 +15197,17 @@ "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "organizations.us-gov-west-1.amazonaws.com" + "hostname" : "organizations.us-gov-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "organizations.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "fips-aws-us-gov-global" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "organizations.us-gov-west-1.amazonaws.com" } }, @@ -10280,13 +15241,18 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "pinpoint-fips.us-gov-west-1.amazonaws.com" }, "us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "pinpoint.us-gov-west-1.amazonaws.com" + "hostname" : "pinpoint.us-gov-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "pinpoint-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -10296,9 +15262,25 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "polly-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "polly-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, + "portal.sso" : { + "endpoints" : { + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "portal.sso.us-gov-west-1.amazonaws.com" + } } }, "quicksight" : { @@ -10329,16 +15311,42 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "rds.us-gov-east-1.amazonaws.com" }, "rds.us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "rds.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "rds.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "rds.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "rds.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "rds.us-gov-west-1.amazonaws.com" + } } }, "redshift" : { @@ -10363,27 +15371,68 @@ "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "rekognition-fips.us-gov-west-1.amazonaws.com" + "deprecated" : true, + "hostname" : "rekognition-fips.us-gov-west-1.amazonaws.com" + }, + "rekognition.us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "rekognition-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "rekognition-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "rekognition-fips.us-gov-west-1.amazonaws.com" + } } }, "resource-groups" : { + "defaults" : { + "variants" : [ { + "hostname" : "resource-groups.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "resource-groups.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "resource-groups.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "resource-groups.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "resource-groups.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "route53" : { @@ -10392,12 +15441,17 @@ "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "route53.us-gov.amazonaws.com" + "hostname" : "route53.us-gov.amazonaws.com", + "variants" : [ { + "hostname" : "route53.us-gov.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "fips-aws-us-gov-global" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "route53.us-gov.amazonaws.com" } }, @@ -10414,63 +15468,94 @@ "defaults" : { "credentialScope" : { "service" : "lex" - } + }, + "variants" : [ { + "hostname" : "runtime-fips.lex.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "runtime-fips.lex.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "runtime-fips.lex.us-gov-west-1.amazonaws.com" } } }, "runtime.sagemaker" : { "endpoints" : { - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "runtime.sagemaker.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "runtime.sagemaker.us-gov-west-1.amazonaws.com" } } }, "s3" : { "defaults" : { - "signatureVersions" : [ "s3", "s3v4" ] + "signatureVersions" : [ "s3", "s3v4" ], + "variants" : [ { + "dnsSuffix" : "amazonaws.com", + "hostname" : "{service}-fips.dualstack.{region}.{dnsSuffix}", + "tags" : [ "dualstack", "fips" ] + }, { + "dnsSuffix" : "amazonaws.com", + "hostname" : "{service}.dualstack.{region}.{dnsSuffix}", + "tags" : [ "dualstack" ] + } ] }, "endpoints" : { - "accesspoint-us-gov-east-1" : { - "hostname" : "s3-accesspoint.us-gov-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "accesspoint-us-gov-west-1" : { - "hostname" : "s3-accesspoint.us-gov-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "fips-accesspoint-us-gov-east-1" : { - "hostname" : "s3-accesspoint-fips.us-gov-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] - }, - "fips-accesspoint-us-gov-west-1" : { - "hostname" : "s3-accesspoint-fips.us-gov-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "s3-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "s3-fips.us-gov-west-1.amazonaws.com" }, "us-gov-east-1" : { "hostname" : "s3.us-gov-east-1.amazonaws.com", - "protocols" : [ "http", "https" ] + "protocols" : [ "http", "https" ], + "variants" : [ { + "hostname" : "s3-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3.dualstack.us-gov-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-gov-west-1" : { "hostname" : "s3.us-gov-west-1.amazonaws.com", - "protocols" : [ "http", "https" ] + "protocols" : [ "http", "https" ], + "variants" : [ { + "hostname" : "s3-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3.dualstack.us-gov-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] } } }, @@ -10485,12 +15570,23 @@ "region" : "us-gov-east-1" }, "hostname" : "s3-control.us-gov-east-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.dualstack.us-gov-east-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control.dualstack.us-gov-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "s3-control-fips.us-gov-east-1.amazonaws.com", "signatureVersions" : [ "s3v4" ] }, @@ -10499,12 +15595,23 @@ "region" : "us-gov-west-1" }, "hostname" : "s3-control.us-gov-west-1.amazonaws.com", - "signatureVersions" : [ "s3v4" ] + "signatureVersions" : [ "s3v4" ], + "variants" : [ { + "hostname" : "s3-control-fips.dualstack.us-gov-west-1.amazonaws.com", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "s3-control-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "s3-control.dualstack.us-gov-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + } ] }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "s3-control-fips.us-gov-west-1.amazonaws.com", "signatureVersions" : [ "s3v4" ] } @@ -10512,18 +15619,30 @@ }, "secretsmanager" : { "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "secretsmanager-fips.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "secretsmanager-fips.us-gov-west-1.amazonaws.com" } } @@ -10534,16 +15653,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "securityhub-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "securityhub-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "securityhub-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "securityhub-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "serverlessrepo" : { @@ -10569,71 +15700,152 @@ }, "servicecatalog" : { "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "servicecatalog-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "servicecatalog-fips.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "servicecatalog-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "servicecatalog-fips.us-gov-west-1.amazonaws.com" } } }, "servicecatalog-appregistry" : { + "defaults" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "servicecatalog-appregistry.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "servicecatalog-appregistry.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "servicediscovery" : { "endpoints" : { + "servicediscovery" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "servicediscovery-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "servicediscovery-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "servicediscovery-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "servicediscovery-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "servicediscovery-fips.us-gov-west-1.amazonaws.com" + } } }, "servicequotas" : { "defaults" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "servicequotas.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "servicequotas.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "servicequotas.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "servicequotas.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "servicequotas.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "sms" : { @@ -10642,16 +15854,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "sms-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "sms-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "sms-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "sms-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "snowball" : { @@ -10660,16 +15884,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "snowball-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "snowball-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "snowball-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "snowball-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "sns" : { @@ -10708,21 +15944,39 @@ } }, "ssm" : { + "defaults" : { + "variants" : [ { + "hostname" : "ssm.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "ssm.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "ssm.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "ssm.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "ssm.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "states" : { @@ -10731,16 +15985,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "states-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "states.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "states-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "states.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "storagegateway" : { @@ -10749,10 +16015,35 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "storagegateway-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "storagegateway-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "storagegateway-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "storagegateway-fips.us-gov-west-1.amazonaws.com" + } } }, "streams.dynamodb" : { @@ -10779,19 +16070,37 @@ } }, "sts" : { + "defaults" : { + "variants" : [ { + "hostname" : "sts.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "sts.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-east-1-fips" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "sts.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "sts.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "sts.us-gov-west-1.amazonaws.com" } } @@ -10808,7 +16117,18 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "support.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "support.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } }, "partitionEndpoint" : "aws-us-gov-global" @@ -10841,37 +16161,65 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "textract-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "textract-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "textract-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "textract-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "transcribe" : { "defaults" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "fips.transcribe.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] }, "endpoints" : { "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "fips.transcribe.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "fips.transcribe.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "fips.transcribe.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "fips.transcribe.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "transfer" : { @@ -10880,16 +16228,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "transfer-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "transfer-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "transfer-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "transfer-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "translate" : { @@ -10897,11 +16257,17 @@ "protocols" : [ "https" ] }, "endpoints" : { - "us-gov-west-1" : { }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "translate-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1-fips" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "translate-fips.us-gov-west-1.amazonaws.com" } } @@ -10912,25 +16278,35 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "waf-regional-fips.us-gov-west-1.amazonaws.com" }, "us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, - "hostname" : "waf-regional.us-gov-east-1.amazonaws.com" + "hostname" : "waf-regional.us-gov-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] }, "us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "waf-regional.us-gov-west-1.amazonaws.com" + "hostname" : "waf-regional.us-gov-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "waf-regional-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, @@ -10940,9 +16316,15 @@ "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "workspaces-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-west-1" : { } + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "workspaces-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "xray" : { @@ -10951,16 +16333,28 @@ "credentialScope" : { "region" : "us-gov-east-1" }, + "deprecated" : true, "hostname" : "xray-fips.us-gov-east-1.amazonaws.com" }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, + "deprecated" : true, "hostname" : "xray-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "xray-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "xray-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } } } @@ -11070,14 +16464,43 @@ } }, "dms" : { + "defaults" : { + "variants" : [ { + "hostname" : "dms.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { + "dms" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "dms.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, "dms-fips" : { "credentialScope" : { "region" : "us-iso-east-1" }, + "deprecated" : true, "hostname" : "dms.us-iso-east-1.c2s.ic.gov" }, - "us-iso-east-1" : { } + "us-iso-east-1" : { + "variants" : [ { + "hostname" : "dms.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-east-1-fips" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "hostname" : "dms.us-iso-east-1.c2s.ic.gov" + } } }, "ds" : { @@ -11093,6 +16516,11 @@ "us-iso-west-1" : { } } }, + "ebs" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, "ec2" : { "endpoints" : { "us-iso-east-1" : { }, @@ -11117,9 +16545,15 @@ "credentialScope" : { "region" : "us-iso-east-1" }, + "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" }, - "us-iso-east-1" : { } + "us-iso-east-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + } } }, "elasticloadbalancing" : { @@ -11191,10 +16625,35 @@ "credentialScope" : { "region" : "us-iso-east-1" }, + "deprecated" : true, "hostname" : "kms-fips.us-iso-east-1.c2s.ic.gov" }, - "us-iso-east-1" : { }, - "us-iso-west-1" : { } + "us-iso-east-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-east-1-fips" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.us-iso-east-1.c2s.ic.gov" + }, + "us-iso-west-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-iso-west-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-west-1-fips" : { + "credentialScope" : { + "region" : "us-iso-west-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.us-iso-west-1.c2s.ic.gov" + } } }, "lambda" : { @@ -11282,7 +16741,8 @@ "us-iso-east-1" : { "protocols" : [ "http", "https" ], "signatureVersions" : [ "s3v4" ] - } + }, + "us-iso-west-1" : { } } }, "secretsmanager" : { @@ -11453,14 +16913,43 @@ } }, "dms" : { + "defaults" : { + "variants" : [ { + "hostname" : "dms.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { + "dms" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "variants" : [ { + "hostname" : "dms.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + }, "dms-fips" : { "credentialScope" : { "region" : "us-isob-east-1" }, + "deprecated" : true, "hostname" : "dms.us-isob-east-1.sc2s.sgov.gov" }, - "us-isob-east-1" : { } + "us-isob-east-1" : { + "variants" : [ { + "hostname" : "dms.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + }, + "us-isob-east-1-fips" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "hostname" : "dms.us-isob-east-1.sc2s.sgov.gov" + } } }, "ds" : { @@ -11476,6 +16965,11 @@ "us-isob-east-1" : { } } }, + "ebs" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "ec2" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -11549,9 +17043,22 @@ "credentialScope" : { "region" : "us-isob-east-1" }, + "deprecated" : true, "hostname" : "kms-fips.us-isob-east-1.sc2s.sgov.gov" }, - "us-isob-east-1" : { } + "us-isob-east-1" : { + "variants" : [ { + "hostname" : "kms-fips.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + }, + "us-isob-east-1-fips" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "hostname" : "kms-fips.us-isob-east-1.sc2s.sgov.gov" + } } }, "lambda" : { diff --git a/service/applicationinsights/api_op_CreateApplication.go b/service/applicationinsights/api_op_CreateApplication.go index bd3ea2b9b36..96dd151fa92 100644 --- a/service/applicationinsights/api_op_CreateApplication.go +++ b/service/applicationinsights/api_op_CreateApplication.go @@ -28,11 +28,9 @@ func (c *Client) CreateApplication(ctx context.Context, params *CreateApplicatio } type CreateApplicationInput struct { + AutoConfigEnabled *bool - // The name of the resource group. - // - // This member is required. - ResourceGroupName *string + AutoCreate *bool // Indicates whether Application Insights can listen to CloudWatch events for the // application resources, such as instance terminated, failed deployment, and @@ -46,6 +44,9 @@ type CreateApplicationInput struct { // opsItem. Allows you to receive notifications for updates to the opsItem. OpsItemSNSTopicArn *string + // The name of the resource group. + ResourceGroupName *string + // List of tags to add to the application. tag key (Key) and an associated tag // value (Value). The maximum length of a tag key is 128 characters. The maximum // length of a tag value is 256 characters. diff --git a/service/applicationinsights/api_op_ListProblems.go b/service/applicationinsights/api_op_ListProblems.go index bf29b900b5b..117ec14b03b 100644 --- a/service/applicationinsights/api_op_ListProblems.go +++ b/service/applicationinsights/api_op_ListProblems.go @@ -30,6 +30,7 @@ func (c *Client) ListProblems(ctx context.Context, params *ListProblemsInput, op } type ListProblemsInput struct { + ComponentName *string // The time when the problem ended, in epoch seconds. If not specified, problems // within the past seven days are returned. @@ -61,6 +62,8 @@ type ListProblemsOutput struct { // The list of problems. ProblemList []types.Problem + ResourceGroupName *string + // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata diff --git a/service/applicationinsights/api_op_UpdateApplication.go b/service/applicationinsights/api_op_UpdateApplication.go index f92e1fd74e1..0bdf81df986 100644 --- a/service/applicationinsights/api_op_UpdateApplication.go +++ b/service/applicationinsights/api_op_UpdateApplication.go @@ -34,6 +34,8 @@ type UpdateApplicationInput struct { // This member is required. ResourceGroupName *string + AutoConfigEnabled *bool + // Indicates whether Application Insights can listen to CloudWatch events for the // application resources, such as instance terminated, failed deployment, and // others. diff --git a/service/applicationinsights/api_op_UpdateComponentConfiguration.go b/service/applicationinsights/api_op_UpdateComponentConfiguration.go index 3a4077222f9..7f150ff2dca 100644 --- a/service/applicationinsights/api_op_UpdateComponentConfiguration.go +++ b/service/applicationinsights/api_op_UpdateComponentConfiguration.go @@ -41,6 +41,8 @@ type UpdateComponentConfigurationInput struct { // This member is required. ResourceGroupName *string + AutoConfigEnabled *bool + // The configuration settings of the component. The value is the escaped JSON of // the configuration. For more information about the JSON format, see Working with // JSON diff --git a/service/applicationinsights/deserializers.go b/service/applicationinsights/deserializers.go index f65f9ef7738..9e538177234 100644 --- a/service/applicationinsights/deserializers.go +++ b/service/applicationinsights/deserializers.go @@ -3663,6 +3663,15 @@ func awsAwsjson11_deserializeDocumentApplicationInfo(v **types.ApplicationInfo, for key, value := range shape { switch key { + case "AutoConfigEnabled": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected AutoConfigEnabled to be of type *bool, got %T instead", value) + } + sv.AutoConfigEnabled = ptr.Bool(jtv) + } + case "CWEMonitorEnabled": if value != nil { jtv, ok := value.(bool) @@ -3672,6 +3681,15 @@ func awsAwsjson11_deserializeDocumentApplicationInfo(v **types.ApplicationInfo, sv.CWEMonitorEnabled = ptr.Bool(jtv) } + case "DiscoveryType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DiscoveryType to be of type string, got %T instead", value) + } + sv.DiscoveryType = types.DiscoveryType(jtv) + } + case "LifeCycle": if value != nil { jtv, ok := value.(string) @@ -4783,6 +4801,35 @@ func awsAwsjson11_deserializeDocumentProblem(v **types.Problem, value interface{ sv.Insights = ptr.String(jtv) } + case "LastRecurrenceTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastRecurrenceTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected LastRecurrenceTime to be a JSON Number, got %T instead", value) + + } + } + + case "RecurringCount": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected RecurringCount to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.RecurringCount = ptr.Int64(i64) + } + case "ResourceGroupName": if value != nil { jtv, ok := value.(string) @@ -6090,6 +6137,15 @@ func awsAwsjson11_deserializeOpDocumentListProblemsOutput(v **ListProblemsOutput return err } + case "ResourceGroupName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ResourceGroupName to be of type string, got %T instead", value) + } + sv.ResourceGroupName = ptr.String(jtv) + } + default: _, _ = key, value diff --git a/service/applicationinsights/internal/endpoints/endpoints.go b/service/applicationinsights/internal/endpoints/endpoints.go index e42ce06283c..70892aa15eb 100644 --- a/service/applicationinsights/internal/endpoints/endpoints.go +++ b/service/applicationinsights/internal/endpoints/endpoints.go @@ -62,6 +62,28 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "af-south-1": endpoints.Endpoint{}, + "ap-east-1": endpoints.Endpoint{}, + "ap-northeast-1": endpoints.Endpoint{}, + "ap-northeast-2": endpoints.Endpoint{}, + "ap-south-1": endpoints.Endpoint{}, + "ap-southeast-1": endpoints.Endpoint{}, + "ap-southeast-2": endpoints.Endpoint{}, + "ca-central-1": endpoints.Endpoint{}, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, + "me-south-1": endpoints.Endpoint{}, + "sa-east-1": endpoints.Endpoint{}, + "us-east-1": endpoints.Endpoint{}, + "us-east-2": endpoints.Endpoint{}, + "us-west-1": endpoints.Endpoint{}, + "us-west-2": endpoints.Endpoint{}, + }, }, { ID: "aws-cn", @@ -72,6 +94,10 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "cn-north-1": endpoints.Endpoint{}, + "cn-northwest-1": endpoints.Endpoint{}, + }, }, { ID: "aws-iso", @@ -102,5 +128,19 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "us-gov-east-1": endpoints.Endpoint{ + Hostname: "applicationinsights.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoints.Endpoint{ + Hostname: "applicationinsights.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, + }, }, } diff --git a/service/applicationinsights/serializers.go b/service/applicationinsights/serializers.go index f6e06726bd6..6e5b50e0350 100644 --- a/service/applicationinsights/serializers.go +++ b/service/applicationinsights/serializers.go @@ -1339,6 +1339,16 @@ func awsAwsjson11_serializeOpDocumentCreateApplicationInput(v *CreateApplication object := value.Object() defer object.Close() + if v.AutoConfigEnabled != nil { + ok := object.Key("AutoConfigEnabled") + ok.Boolean(*v.AutoConfigEnabled) + } + + if v.AutoCreate != nil { + ok := object.Key("AutoCreate") + ok.Boolean(*v.AutoCreate) + } + if v.CWEMonitorEnabled != nil { ok := object.Key("CWEMonitorEnabled") ok.Boolean(*v.CWEMonitorEnabled) @@ -1731,6 +1741,11 @@ func awsAwsjson11_serializeOpDocumentListProblemsInput(v *ListProblemsInput, val object := value.Object() defer object.Close() + if v.ComponentName != nil { + ok := object.Key("ComponentName") + ok.String(*v.ComponentName) + } + if v.EndTime != nil { ok := object.Key("EndTime") ok.Double(smithytime.FormatEpochSeconds(*v.EndTime)) @@ -1813,6 +1828,11 @@ func awsAwsjson11_serializeOpDocumentUpdateApplicationInput(v *UpdateApplication object := value.Object() defer object.Close() + if v.AutoConfigEnabled != nil { + ok := object.Key("AutoConfigEnabled") + ok.Boolean(*v.AutoConfigEnabled) + } + if v.CWEMonitorEnabled != nil { ok := object.Key("CWEMonitorEnabled") ok.Boolean(*v.CWEMonitorEnabled) @@ -1845,6 +1865,11 @@ func awsAwsjson11_serializeOpDocumentUpdateComponentConfigurationInput(v *Update object := value.Object() defer object.Close() + if v.AutoConfigEnabled != nil { + ok := object.Key("AutoConfigEnabled") + ok.Boolean(*v.AutoConfigEnabled) + } + if v.ComponentConfiguration != nil { ok := object.Key("ComponentConfiguration") ok.String(*v.ComponentConfiguration) diff --git a/service/applicationinsights/types/enums.go b/service/applicationinsights/types/enums.go index da8527dfc43..e049a77a355 100644 --- a/service/applicationinsights/types/enums.go +++ b/service/applicationinsights/types/enums.go @@ -67,6 +67,24 @@ func (ConfigurationEventStatus) Values() []ConfigurationEventStatus { } } +type DiscoveryType string + +// Enum values for DiscoveryType +const ( + DiscoveryTypeResourceGroupBased DiscoveryType = "RESOURCE_GROUP_BASED" + DiscoveryTypeAccountBased DiscoveryType = "ACCOUNT_BASED" +) + +// Values returns all known values for DiscoveryType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (DiscoveryType) Values() []DiscoveryType { + return []DiscoveryType{ + "RESOURCE_GROUP_BASED", + "ACCOUNT_BASED", + } +} + type FeedbackKey string // Enum values for FeedbackKey @@ -165,9 +183,10 @@ type Status string // Enum values for Status const ( - StatusIgnore Status = "IGNORE" - StatusResolved Status = "RESOLVED" - StatusPending Status = "PENDING" + StatusIgnore Status = "IGNORE" + StatusResolved Status = "RESOLVED" + StatusPending Status = "PENDING" + StatusRecurring Status = "RECURRING" ) // Values returns all known values for Status. Note that this can be expanded in @@ -178,6 +197,7 @@ func (Status) Values() []Status { "IGNORE", "RESOLVED", "PENDING", + "RECURRING", } } @@ -197,6 +217,11 @@ const ( TierPostgresql Tier = "POSTGRESQL" TierJavaJmx Tier = "JAVA_JMX" TierOracle Tier = "ORACLE" + TierSapHana Tier = "SAP_HANA" + TierSapHanaMultiNode Tier = "SAP_HANA_MULTI_NODE" + TierSapHanaSingleNode Tier = "SAP_HANA_SINGLE_NODE" + TierSapHanaHighAvailability Tier = "SAP_HANA_HIGH_AVAILABILITY" + TierSqlServerFailoverClusterInstance Tier = "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE" ) // Values returns all known values for Tier. Note that this can be expanded in the @@ -216,5 +241,10 @@ func (Tier) Values() []Tier { "POSTGRESQL", "JAVA_JMX", "ORACLE", + "SAP_HANA", + "SAP_HANA_MULTI_NODE", + "SAP_HANA_SINGLE_NODE", + "SAP_HANA_HIGH_AVAILABILITY", + "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE", } } diff --git a/service/applicationinsights/types/types.go b/service/applicationinsights/types/types.go index c35e3b7b4cd..57c4a0e5935 100644 --- a/service/applicationinsights/types/types.go +++ b/service/applicationinsights/types/types.go @@ -39,12 +39,15 @@ type ApplicationComponent struct { // Describes the status of the application. type ApplicationInfo struct { + AutoConfigEnabled *bool // Indicates whether Application Insights can listen to CloudWatch events for the // application resources, such as instance terminated, failed deployment, and // others. CWEMonitorEnabled *bool + DiscoveryType DiscoveryType + // The lifecycle of the application. LifeCycle *string @@ -295,6 +298,10 @@ type Problem struct { // A detailed analysis of the problem using machine learning. Insights *string + LastRecurrenceTime *time.Time + + RecurringCount *int64 + // The name of the resource group affected by the problem. ResourceGroupName *string diff --git a/service/applicationinsights/validators.go b/service/applicationinsights/validators.go index f5476846b0f..c1c379ebcee 100644 --- a/service/applicationinsights/validators.go +++ b/service/applicationinsights/validators.go @@ -626,9 +626,6 @@ func validateOpCreateApplicationInput(v *CreateApplicationInput) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "CreateApplicationInput"} - if v.ResourceGroupName == nil { - invalidParams.Add(smithy.NewErrParamRequired("ResourceGroupName")) - } if v.Tags != nil { if err := validateTagList(v.Tags); err != nil { invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) diff --git a/service/appstream/internal/endpoints/endpoints.go b/service/appstream/internal/endpoints/endpoints.go index 4fc8fd0dd08..e60317eb954 100644 --- a/service/appstream/internal/endpoints/endpoints.go +++ b/service/appstream/internal/endpoints/endpoints.go @@ -81,7 +81,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "appstream2-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "appstream2-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -134,6 +146,12 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "appstream2-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/auditmanager/api_op_AssociateAssessmentReportEvidenceFolder.go b/service/auditmanager/api_op_AssociateAssessmentReportEvidenceFolder.go index f3cd1dd0839..a989a898082 100644 --- a/service/auditmanager/api_op_AssociateAssessmentReportEvidenceFolder.go +++ b/service/auditmanager/api_op_AssociateAssessmentReportEvidenceFolder.go @@ -10,8 +10,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Associates an evidence folder to the specified assessment report in Audit -// Manager. +// Associates an evidence folder to an assessment report in a Audit Manager +// assessment. func (c *Client) AssociateAssessmentReportEvidenceFolder(ctx context.Context, params *AssociateAssessmentReportEvidenceFolderInput, optFns ...func(*Options)) (*AssociateAssessmentReportEvidenceFolderOutput, error) { if params == nil { params = &AssociateAssessmentReportEvidenceFolderInput{} @@ -29,12 +29,12 @@ func (c *Client) AssociateAssessmentReportEvidenceFolder(ctx context.Context, pa type AssociateAssessmentReportEvidenceFolderInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the folder in which evidence is stored. + // The identifier for the folder that the evidence is stored in. // // This member is required. EvidenceFolderId *string diff --git a/service/auditmanager/api_op_BatchAssociateAssessmentReportEvidence.go b/service/auditmanager/api_op_BatchAssociateAssessmentReportEvidence.go index 11898431b75..d32a5926e70 100644 --- a/service/auditmanager/api_op_BatchAssociateAssessmentReportEvidence.go +++ b/service/auditmanager/api_op_BatchAssociateAssessmentReportEvidence.go @@ -30,12 +30,12 @@ func (c *Client) BatchAssociateAssessmentReportEvidence(ctx context.Context, par type BatchAssociateAssessmentReportEvidenceInput struct { - // The unique identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the folder in which the evidence is stored. + // The identifier for the folder that the evidence is stored in. // // This member is required. EvidenceFolderId *string @@ -50,10 +50,10 @@ type BatchAssociateAssessmentReportEvidenceInput struct { type BatchAssociateAssessmentReportEvidenceOutput struct { - // A list of errors returned by the BatchAssociateAssessmentReportEvidence API. + // A list of errors that the BatchAssociateAssessmentReportEvidence API returned. Errors []types.AssessmentReportEvidenceError - // The identifier for the evidence. + // The list of evidence identifiers. EvidenceIds []string // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_BatchCreateDelegationByAssessment.go b/service/auditmanager/api_op_BatchCreateDelegationByAssessment.go index 81eebf711d2..6e58a97e59e 100644 --- a/service/auditmanager/api_op_BatchCreateDelegationByAssessment.go +++ b/service/auditmanager/api_op_BatchCreateDelegationByAssessment.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Create a batch of delegations for a specified assessment in Audit Manager. +// Creates a batch of delegations for an assessment in Audit Manager. func (c *Client) BatchCreateDelegationByAssessment(ctx context.Context, params *BatchCreateDelegationByAssessmentInput, optFns ...func(*Options)) (*BatchCreateDelegationByAssessmentOutput, error) { if params == nil { params = &BatchCreateDelegationByAssessmentInput{} @@ -29,7 +29,7 @@ func (c *Client) BatchCreateDelegationByAssessment(ctx context.Context, params * type BatchCreateDelegationByAssessmentInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string @@ -44,10 +44,10 @@ type BatchCreateDelegationByAssessmentInput struct { type BatchCreateDelegationByAssessmentOutput struct { - // The delegations associated with the assessment. + // The delegations that are associated with the assessment. Delegations []types.Delegation - // A list of errors returned by the BatchCreateDelegationByAssessment API. + // A list of errors that the BatchCreateDelegationByAssessment API returned. Errors []types.BatchCreateDelegationByAssessmentError // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_BatchDeleteDelegationByAssessment.go b/service/auditmanager/api_op_BatchDeleteDelegationByAssessment.go index 2368faf7312..6683d7d2680 100644 --- a/service/auditmanager/api_op_BatchDeleteDelegationByAssessment.go +++ b/service/auditmanager/api_op_BatchDeleteDelegationByAssessment.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deletes the delegations in the specified Audit Manager assessment. +// Deletes a batch of delegations for an assessment in Audit Manager. func (c *Client) BatchDeleteDelegationByAssessment(ctx context.Context, params *BatchDeleteDelegationByAssessmentInput, optFns ...func(*Options)) (*BatchDeleteDelegationByAssessmentOutput, error) { if params == nil { params = &BatchDeleteDelegationByAssessmentInput{} @@ -29,12 +29,12 @@ func (c *Client) BatchDeleteDelegationByAssessment(ctx context.Context, params * type BatchDeleteDelegationByAssessmentInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifiers for the specified delegations. + // The identifiers for the delegations. // // This member is required. DelegationIds []string @@ -44,7 +44,7 @@ type BatchDeleteDelegationByAssessmentInput struct { type BatchDeleteDelegationByAssessmentOutput struct { - // A list of errors returned by the BatchDeleteDelegationByAssessment API. + // A list of errors that the BatchDeleteDelegationByAssessment API returned. Errors []types.BatchDeleteDelegationByAssessmentError // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_BatchDisassociateAssessmentReportEvidence.go b/service/auditmanager/api_op_BatchDisassociateAssessmentReportEvidence.go index 55f7aa9b122..f089626aae4 100644 --- a/service/auditmanager/api_op_BatchDisassociateAssessmentReportEvidence.go +++ b/service/auditmanager/api_op_BatchDisassociateAssessmentReportEvidence.go @@ -11,8 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Disassociates a list of evidence from the specified assessment report in Audit -// Manager. +// Disassociates a list of evidence from an assessment report in Audit Manager. func (c *Client) BatchDisassociateAssessmentReportEvidence(ctx context.Context, params *BatchDisassociateAssessmentReportEvidenceInput, optFns ...func(*Options)) (*BatchDisassociateAssessmentReportEvidenceOutput, error) { if params == nil { params = &BatchDisassociateAssessmentReportEvidenceInput{} @@ -30,12 +29,12 @@ func (c *Client) BatchDisassociateAssessmentReportEvidence(ctx context.Context, type BatchDisassociateAssessmentReportEvidenceInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the folder in which evidence is stored. + // The identifier for the folder that the evidence is stored in. // // This member is required. EvidenceFolderId *string @@ -50,7 +49,8 @@ type BatchDisassociateAssessmentReportEvidenceInput struct { type BatchDisassociateAssessmentReportEvidenceOutput struct { - // A list of errors returned by the BatchDisassociateAssessmentReportEvidence API. + // A list of errors that the BatchDisassociateAssessmentReportEvidence API + // returned. Errors []types.AssessmentReportEvidenceError // The identifier for the evidence. diff --git a/service/auditmanager/api_op_BatchImportEvidenceToAssessmentControl.go b/service/auditmanager/api_op_BatchImportEvidenceToAssessmentControl.go index 6b9f822bb5c..8852a06f24f 100644 --- a/service/auditmanager/api_op_BatchImportEvidenceToAssessmentControl.go +++ b/service/auditmanager/api_op_BatchImportEvidenceToAssessmentControl.go @@ -11,8 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Uploads one or more pieces of evidence to the specified control in the -// assessment in Audit Manager. +// Uploads one or more pieces of evidence to a control in an Audit Manager +// assessment. func (c *Client) BatchImportEvidenceToAssessmentControl(ctx context.Context, params *BatchImportEvidenceToAssessmentControlInput, optFns ...func(*Options)) (*BatchImportEvidenceToAssessmentControlOutput, error) { if params == nil { params = &BatchImportEvidenceToAssessmentControlInput{} @@ -30,17 +30,17 @@ func (c *Client) BatchImportEvidenceToAssessmentControl(ctx context.Context, par type BatchImportEvidenceToAssessmentControlInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the specified control. + // The identifier for the control. // // This member is required. ControlId *string - // The identifier for the specified control set. + // The identifier for the control set. // // This member is required. ControlSetId *string @@ -55,7 +55,7 @@ type BatchImportEvidenceToAssessmentControlInput struct { type BatchImportEvidenceToAssessmentControlOutput struct { - // A list of errors returned by the BatchImportEvidenceToAssessmentControl API. + // A list of errors that the BatchImportEvidenceToAssessmentControl API returned. Errors []types.BatchImportEvidenceToAssessmentControlError // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_CreateAssessment.go b/service/auditmanager/api_op_CreateAssessment.go index 9f93d67f9e9..ce405e932a6 100644 --- a/service/auditmanager/api_op_CreateAssessment.go +++ b/service/auditmanager/api_op_CreateAssessment.go @@ -29,13 +29,13 @@ func (c *Client) CreateAssessment(ctx context.Context, params *CreateAssessmentI type CreateAssessmentInput struct { - // The assessment report storage destination for the specified assessment that is - // being created. + // The assessment report storage destination for the assessment that's being + // created. // // This member is required. AssessmentReportsDestination *types.AssessmentReportsDestination - // The identifier for the specified framework. + // The identifier for the framework that the assessment will be created from. // // This member is required. FrameworkId *string @@ -45,12 +45,13 @@ type CreateAssessmentInput struct { // This member is required. Name *string - // The list of roles for the specified assessment. + // The list of roles for the assessment. // // This member is required. Roles []types.Role - // The wrapper that contains the accounts and services in scope for the assessment. + // The wrapper that contains the Amazon Web Services accounts and services that are + // in scope for the assessment. // // This member is required. Scope *types.Scope @@ -58,7 +59,7 @@ type CreateAssessmentInput struct { // The optional description of the assessment to be created. Description *string - // The tags associated with the assessment. + // The tags that are associated with the assessment. Tags map[string]string noSmithyDocumentSerde diff --git a/service/auditmanager/api_op_CreateAssessmentFramework.go b/service/auditmanager/api_op_CreateAssessmentFramework.go index 5d55852ac32..bca2ab68f32 100644 --- a/service/auditmanager/api_op_CreateAssessmentFramework.go +++ b/service/auditmanager/api_op_CreateAssessmentFramework.go @@ -29,7 +29,7 @@ func (c *Client) CreateAssessmentFramework(ctx context.Context, params *CreateAs type CreateAssessmentFrameworkInput struct { - // The control sets to be associated with the framework. + // The control sets that are associated with the framework. // // This member is required. ControlSets []types.CreateAssessmentFrameworkControlSet @@ -46,7 +46,7 @@ type CreateAssessmentFrameworkInput struct { // An optional description for the new custom framework. Description *string - // The tags associated with the framework. + // The tags that are associated with the framework. Tags map[string]string noSmithyDocumentSerde @@ -54,7 +54,7 @@ type CreateAssessmentFrameworkInput struct { type CreateAssessmentFrameworkOutput struct { - // The name of the new framework returned by the CreateAssessmentFramework API. + // The name of the new framework that the CreateAssessmentFramework API returned. Framework *types.Framework // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_CreateAssessmentReport.go b/service/auditmanager/api_op_CreateAssessmentReport.go index 9a2e7061e98..8b3b627ae3b 100644 --- a/service/auditmanager/api_op_CreateAssessmentReport.go +++ b/service/auditmanager/api_op_CreateAssessmentReport.go @@ -29,7 +29,7 @@ func (c *Client) CreateAssessmentReport(ctx context.Context, params *CreateAsses type CreateAssessmentReportInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string @@ -47,7 +47,7 @@ type CreateAssessmentReportInput struct { type CreateAssessmentReportOutput struct { - // The new assessment report returned by the CreateAssessmentReport API. + // The new assessment report that the CreateAssessmentReport API returned. AssessmentReport *types.AssessmentReport // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_CreateControl.go b/service/auditmanager/api_op_CreateControl.go index e3ab8b3f77e..05eac65781b 100644 --- a/service/auditmanager/api_op_CreateControl.go +++ b/service/auditmanager/api_op_CreateControl.go @@ -29,7 +29,7 @@ func (c *Client) CreateControl(ctx context.Context, params *CreateControlInput, type CreateControlInput struct { - // The data mapping sources for the specified control. + // The data mapping sources for the control. // // This member is required. ControlMappingSources []types.CreateControlMappingSource @@ -39,7 +39,7 @@ type CreateControlInput struct { // This member is required. Name *string - // The recommended actions to carry out if the control is not fulfilled. + // The recommended actions to carry out if the control isn't fulfilled. ActionPlanInstructions *string // The title of the action plan for remediating the control. @@ -48,10 +48,10 @@ type CreateControlInput struct { // The description of the control. Description *string - // The tags associated with the control. + // The tags that are associated with the control. Tags map[string]string - // The steps to follow to determine if the control has been satisfied. + // The steps to follow to determine if the control is satisfied. TestingInformation *string noSmithyDocumentSerde @@ -59,7 +59,7 @@ type CreateControlInput struct { type CreateControlOutput struct { - // The new control returned by the CreateControl API. + // The new control that the CreateControl API returned. Control *types.Control // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_DeleteAssessment.go b/service/auditmanager/api_op_DeleteAssessment.go index ed750a20a3b..5ce78b72304 100644 --- a/service/auditmanager/api_op_DeleteAssessment.go +++ b/service/auditmanager/api_op_DeleteAssessment.go @@ -28,7 +28,7 @@ func (c *Client) DeleteAssessment(ctx context.Context, params *DeleteAssessmentI type DeleteAssessmentInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string diff --git a/service/auditmanager/api_op_DeleteAssessmentFramework.go b/service/auditmanager/api_op_DeleteAssessmentFramework.go index 8f0f6318f78..8f766cd7bba 100644 --- a/service/auditmanager/api_op_DeleteAssessmentFramework.go +++ b/service/auditmanager/api_op_DeleteAssessmentFramework.go @@ -28,7 +28,7 @@ func (c *Client) DeleteAssessmentFramework(ctx context.Context, params *DeleteAs type DeleteAssessmentFrameworkInput struct { - // The identifier for the specified framework. + // The identifier for the framework. // // This member is required. FrameworkId *string diff --git a/service/auditmanager/api_op_DeleteAssessmentFrameworkShare.go b/service/auditmanager/api_op_DeleteAssessmentFrameworkShare.go new file mode 100644 index 00000000000..c2b24c20633 --- /dev/null +++ b/service/auditmanager/api_op_DeleteAssessmentFrameworkShare.go @@ -0,0 +1,122 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package auditmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/auditmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes a share request for a custom framework in Audit Manager. +func (c *Client) DeleteAssessmentFrameworkShare(ctx context.Context, params *DeleteAssessmentFrameworkShareInput, optFns ...func(*Options)) (*DeleteAssessmentFrameworkShareOutput, error) { + if params == nil { + params = &DeleteAssessmentFrameworkShareInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteAssessmentFrameworkShare", params, optFns, c.addOperationDeleteAssessmentFrameworkShareMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteAssessmentFrameworkShareOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteAssessmentFrameworkShareInput struct { + + // The unique identifier for the share request to be deleted. + // + // This member is required. + RequestId *string + + // Specifies whether the share request is a sent request or a received request. + // + // This member is required. + RequestType types.ShareRequestType + + noSmithyDocumentSerde +} + +type DeleteAssessmentFrameworkShareOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteAssessmentFrameworkShareMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDeleteAssessmentFrameworkShare{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDeleteAssessmentFrameworkShare{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteAssessmentFrameworkShareValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteAssessmentFrameworkShare(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteAssessmentFrameworkShare(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "auditmanager", + OperationName: "DeleteAssessmentFrameworkShare", + } +} diff --git a/service/auditmanager/api_op_DeleteAssessmentReport.go b/service/auditmanager/api_op_DeleteAssessmentReport.go index 8f388ceada7..3ba3a417c67 100644 --- a/service/auditmanager/api_op_DeleteAssessmentReport.go +++ b/service/auditmanager/api_op_DeleteAssessmentReport.go @@ -28,7 +28,7 @@ func (c *Client) DeleteAssessmentReport(ctx context.Context, params *DeleteAsses type DeleteAssessmentReportInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string diff --git a/service/auditmanager/api_op_DeleteControl.go b/service/auditmanager/api_op_DeleteControl.go index 6d73dc2aab9..a52cc903a71 100644 --- a/service/auditmanager/api_op_DeleteControl.go +++ b/service/auditmanager/api_op_DeleteControl.go @@ -28,7 +28,7 @@ func (c *Client) DeleteControl(ctx context.Context, params *DeleteControlInput, type DeleteControlInput struct { - // The identifier for the specified control. + // The identifier for the control. // // This member is required. ControlId *string diff --git a/service/auditmanager/api_op_DeregisterOrganizationAdminAccount.go b/service/auditmanager/api_op_DeregisterOrganizationAdminAccount.go index 4af37fe9b83..51a78a712ae 100644 --- a/service/auditmanager/api_op_DeregisterOrganizationAdminAccount.go +++ b/service/auditmanager/api_op_DeregisterOrganizationAdminAccount.go @@ -10,12 +10,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Removes the specified member account as a delegated administrator for Audit -// Manager. When you remove a delegated administrator from your Audit Manager -// settings, or when you deregister a delegated administrator from Organizations, -// you continue to have access to the evidence that you previously collected under -// that account. However, Audit Manager will stop collecting and attaching evidence -// to that delegated administrator account moving forward. +// Removes the specified member Amazon Web Services account as a delegated +// administrator for Audit Manager. When you remove a delegated administrator from +// your Audit Manager settings, you continue to have access to the evidence that +// you previously collected under that account. This is also the case when you +// deregister a delegated administrator from Audit Manager. However, Audit Manager +// will stop collecting and attaching evidence to that delegated administrator +// account moving forward. func (c *Client) DeregisterOrganizationAdminAccount(ctx context.Context, params *DeregisterOrganizationAdminAccountInput, optFns ...func(*Options)) (*DeregisterOrganizationAdminAccountOutput, error) { if params == nil { params = &DeregisterOrganizationAdminAccountInput{} @@ -33,7 +34,7 @@ func (c *Client) DeregisterOrganizationAdminAccount(ctx context.Context, params type DeregisterOrganizationAdminAccountInput struct { - // The identifier for the specified administrator account. + // The identifier for the administrator account. AdminAccountId *string noSmithyDocumentSerde diff --git a/service/auditmanager/api_op_DisassociateAssessmentReportEvidenceFolder.go b/service/auditmanager/api_op_DisassociateAssessmentReportEvidenceFolder.go index 399d66b1e70..cc2dccfee07 100644 --- a/service/auditmanager/api_op_DisassociateAssessmentReportEvidenceFolder.go +++ b/service/auditmanager/api_op_DisassociateAssessmentReportEvidenceFolder.go @@ -29,7 +29,7 @@ func (c *Client) DisassociateAssessmentReportEvidenceFolder(ctx context.Context, type DisassociateAssessmentReportEvidenceFolderInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string diff --git a/service/auditmanager/api_op_GetAccountStatus.go b/service/auditmanager/api_op_GetAccountStatus.go index 31aeeef4186..d8c74f85ceb 100644 --- a/service/auditmanager/api_op_GetAccountStatus.go +++ b/service/auditmanager/api_op_GetAccountStatus.go @@ -33,7 +33,7 @@ type GetAccountStatusInput struct { type GetAccountStatusOutput struct { - // The status of the specified account. + // The status of the Amazon Web Services account. Status types.AccountStatus // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetAssessment.go b/service/auditmanager/api_op_GetAssessment.go index 24072cad4b4..da92da8e363 100644 --- a/service/auditmanager/api_op_GetAssessment.go +++ b/service/auditmanager/api_op_GetAssessment.go @@ -29,7 +29,7 @@ func (c *Client) GetAssessment(ctx context.Context, params *GetAssessmentInput, type GetAssessmentInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string @@ -44,7 +44,7 @@ type GetAssessmentOutput struct { Assessment *types.Assessment // The wrapper that contains the Audit Manager role information of the current - // user, such as the role type and IAM Amazon Resource Name (ARN). + // user. This includes the role type and IAM Amazon Resource Name (ARN). UserRole *types.Role // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetAssessmentFramework.go b/service/auditmanager/api_op_GetAssessmentFramework.go index 9a5b082bd65..440cd9c68f3 100644 --- a/service/auditmanager/api_op_GetAssessmentFramework.go +++ b/service/auditmanager/api_op_GetAssessmentFramework.go @@ -29,7 +29,7 @@ func (c *Client) GetAssessmentFramework(ctx context.Context, params *GetAssessme type GetAssessmentFrameworkInput struct { - // The identifier for the specified framework. + // The identifier for the framework. // // This member is required. FrameworkId *string @@ -39,7 +39,7 @@ type GetAssessmentFrameworkInput struct { type GetAssessmentFrameworkOutput struct { - // The framework returned by the GetAssessmentFramework API. + // The framework that the GetAssessmentFramework API returned. Framework *types.Framework // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetAssessmentReportUrl.go b/service/auditmanager/api_op_GetAssessmentReportUrl.go index 54fffb2cc99..83ff5160867 100644 --- a/service/auditmanager/api_op_GetAssessmentReportUrl.go +++ b/service/auditmanager/api_op_GetAssessmentReportUrl.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns the URL of a specified assessment report in Audit Manager. +// Returns the URL of an assessment report in Audit Manager. func (c *Client) GetAssessmentReportUrl(ctx context.Context, params *GetAssessmentReportUrlInput, optFns ...func(*Options)) (*GetAssessmentReportUrlOutput, error) { if params == nil { params = &GetAssessmentReportUrlInput{} @@ -29,7 +29,7 @@ func (c *Client) GetAssessmentReportUrl(ctx context.Context, params *GetAssessme type GetAssessmentReportUrlInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string @@ -44,8 +44,8 @@ type GetAssessmentReportUrlInput struct { type GetAssessmentReportUrlOutput struct { - // A uniform resource locator, used as a unique identifier to locate a resource on - // the internet. + // Short for uniform resource locator. A URL is used as a unique identifier to + // locate a resource on the internet. PreSignedUrl *types.URL // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetChangeLogs.go b/service/auditmanager/api_op_GetChangeLogs.go index 9be0f0867d5..adb6ce77b82 100644 --- a/service/auditmanager/api_op_GetChangeLogs.go +++ b/service/auditmanager/api_op_GetChangeLogs.go @@ -30,21 +30,21 @@ func (c *Client) GetChangeLogs(ctx context.Context, params *GetChangeLogsInput, type GetChangeLogsInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the specified control. + // The identifier for the control. ControlId *string - // The identifier for the specified control set. + // The identifier for the control set. ControlSetId *string - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -55,7 +55,7 @@ type GetChangeLogsOutput struct { // The list of user activity for the control. ChangeLogs []types.ChangeLog - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -136,7 +136,7 @@ var _ GetChangeLogsAPIClient = (*Client)(nil) // GetChangeLogsPaginatorOptions is the paginator options for GetChangeLogs type GetChangeLogsPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_GetControl.go b/service/auditmanager/api_op_GetControl.go index 82ab62654c0..d8a04cf33b5 100644 --- a/service/auditmanager/api_op_GetControl.go +++ b/service/auditmanager/api_op_GetControl.go @@ -29,7 +29,7 @@ func (c *Client) GetControl(ctx context.Context, params *GetControlInput, optFns type GetControlInput struct { - // The identifier for the specified control. + // The identifier for the control. // // This member is required. ControlId *string @@ -39,7 +39,7 @@ type GetControlInput struct { type GetControlOutput struct { - // The name of the control returned by the GetControl API. + // The name of the control that the GetControl API returned. Control *types.Control // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetDelegations.go b/service/auditmanager/api_op_GetDelegations.go index d9eeb0637b0..c5f8b5575a0 100644 --- a/service/auditmanager/api_op_GetDelegations.go +++ b/service/auditmanager/api_op_GetDelegations.go @@ -30,10 +30,10 @@ func (c *Client) GetDelegations(ctx context.Context, params *GetDelegationsInput type GetDelegationsInput struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -41,10 +41,10 @@ type GetDelegationsInput struct { type GetDelegationsOutput struct { - // The list of delegations returned by the GetDelegations API. + // The list of delegations that the GetDelegations API returned. Delegations []types.DelegationMetadata - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -123,7 +123,7 @@ var _ GetDelegationsAPIClient = (*Client)(nil) // GetDelegationsPaginatorOptions is the paginator options for GetDelegations type GetDelegationsPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_GetEvidence.go b/service/auditmanager/api_op_GetEvidence.go index 17cd735ef88..6b662604236 100644 --- a/service/auditmanager/api_op_GetEvidence.go +++ b/service/auditmanager/api_op_GetEvidence.go @@ -29,17 +29,17 @@ func (c *Client) GetEvidence(ctx context.Context, params *GetEvidenceInput, optF type GetEvidenceInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the specified control set. + // The identifier for the control set. // // This member is required. ControlSetId *string - // The identifier for the folder in which the evidence is stored. + // The identifier for the folder that the evidence is stored in. // // This member is required. EvidenceFolderId *string @@ -54,7 +54,7 @@ type GetEvidenceInput struct { type GetEvidenceOutput struct { - // The evidence returned by the GetEvidenceResponse API. + // The evidence that the GetEvidenceResponse API returned. Evidence *types.Evidence // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetEvidenceByEvidenceFolder.go b/service/auditmanager/api_op_GetEvidenceByEvidenceFolder.go index 485ae14f842..ba0f77421db 100644 --- a/service/auditmanager/api_op_GetEvidenceByEvidenceFolder.go +++ b/service/auditmanager/api_op_GetEvidenceByEvidenceFolder.go @@ -30,7 +30,7 @@ func (c *Client) GetEvidenceByEvidenceFolder(ctx context.Context, params *GetEvi type GetEvidenceByEvidenceFolderInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string @@ -40,15 +40,15 @@ type GetEvidenceByEvidenceFolderInput struct { // This member is required. ControlSetId *string - // The unique identifier for the folder in which the evidence is stored. + // The unique identifier for the folder that the evidence is stored in. // // This member is required. EvidenceFolderId *string - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -56,10 +56,10 @@ type GetEvidenceByEvidenceFolderInput struct { type GetEvidenceByEvidenceFolderOutput struct { - // The list of evidence returned by the GetEvidenceByEvidenceFolder API. + // The list of evidence that the GetEvidenceByEvidenceFolder API returned. Evidence []types.Evidence - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -142,7 +142,7 @@ var _ GetEvidenceByEvidenceFolderAPIClient = (*Client)(nil) // GetEvidenceByEvidenceFolderPaginatorOptions is the paginator options for // GetEvidenceByEvidenceFolder type GetEvidenceByEvidenceFolderPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_GetEvidenceFolder.go b/service/auditmanager/api_op_GetEvidenceFolder.go index b1dbb5eddca..42b52cb0029 100644 --- a/service/auditmanager/api_op_GetEvidenceFolder.go +++ b/service/auditmanager/api_op_GetEvidenceFolder.go @@ -29,17 +29,17 @@ func (c *Client) GetEvidenceFolder(ctx context.Context, params *GetEvidenceFolde type GetEvidenceFolderInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the specified control set. + // The identifier for the control set. // // This member is required. ControlSetId *string - // The identifier for the folder in which the evidence is stored. + // The identifier for the folder that the evidence is stored in. // // This member is required. EvidenceFolderId *string @@ -49,7 +49,7 @@ type GetEvidenceFolderInput struct { type GetEvidenceFolderOutput struct { - // The folder in which evidence is stored. + // The folder that the evidence is stored in. EvidenceFolder *types.AssessmentEvidenceFolder // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetEvidenceFoldersByAssessment.go b/service/auditmanager/api_op_GetEvidenceFoldersByAssessment.go index 548d98133a0..2b64d13da9c 100644 --- a/service/auditmanager/api_op_GetEvidenceFoldersByAssessment.go +++ b/service/auditmanager/api_op_GetEvidenceFoldersByAssessment.go @@ -30,15 +30,15 @@ func (c *Client) GetEvidenceFoldersByAssessment(ctx context.Context, params *Get type GetEvidenceFoldersByAssessmentInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -46,10 +46,11 @@ type GetEvidenceFoldersByAssessmentInput struct { type GetEvidenceFoldersByAssessmentOutput struct { - // The list of evidence folders returned by the GetEvidenceFoldersByAssessment API. + // The list of evidence folders that the GetEvidenceFoldersByAssessment API + // returned. EvidenceFolders []types.AssessmentEvidenceFolder - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -132,7 +133,7 @@ var _ GetEvidenceFoldersByAssessmentAPIClient = (*Client)(nil) // GetEvidenceFoldersByAssessmentPaginatorOptions is the paginator options for // GetEvidenceFoldersByAssessment type GetEvidenceFoldersByAssessmentPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_GetEvidenceFoldersByAssessmentControl.go b/service/auditmanager/api_op_GetEvidenceFoldersByAssessmentControl.go index 22d0c6e0a85..984deb05f5f 100644 --- a/service/auditmanager/api_op_GetEvidenceFoldersByAssessmentControl.go +++ b/service/auditmanager/api_op_GetEvidenceFoldersByAssessmentControl.go @@ -12,8 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns a list of evidence folders associated with a specified control of an -// assessment in Audit Manager. +// Returns a list of evidence folders that are associated with a specified control +// of an assessment in Audit Manager. func (c *Client) GetEvidenceFoldersByAssessmentControl(ctx context.Context, params *GetEvidenceFoldersByAssessmentControlInput, optFns ...func(*Options)) (*GetEvidenceFoldersByAssessmentControlOutput, error) { if params == nil { params = &GetEvidenceFoldersByAssessmentControlInput{} @@ -31,25 +31,25 @@ func (c *Client) GetEvidenceFoldersByAssessmentControl(ctx context.Context, para type GetEvidenceFoldersByAssessmentControlInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the specified control. + // The identifier for the control. // // This member is required. ControlId *string - // The identifier for the specified control set. + // The identifier for the control set. // // This member is required. ControlSetId *string - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -57,11 +57,11 @@ type GetEvidenceFoldersByAssessmentControlInput struct { type GetEvidenceFoldersByAssessmentControlOutput struct { - // The list of evidence folders returned by the - // GetEvidenceFoldersByAssessmentControl API. + // The list of evidence folders that the GetEvidenceFoldersByAssessmentControl API + // returned. EvidenceFolders []types.AssessmentEvidenceFolder - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -144,7 +144,7 @@ var _ GetEvidenceFoldersByAssessmentControlAPIClient = (*Client)(nil) // GetEvidenceFoldersByAssessmentControlPaginatorOptions is the paginator options // for GetEvidenceFoldersByAssessmentControl type GetEvidenceFoldersByAssessmentControlPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_GetOrganizationAdminAccount.go b/service/auditmanager/api_op_GetOrganizationAdminAccount.go index f4e63b9a566..8d1967a0367 100644 --- a/service/auditmanager/api_op_GetOrganizationAdminAccount.go +++ b/service/auditmanager/api_op_GetOrganizationAdminAccount.go @@ -33,10 +33,10 @@ type GetOrganizationAdminAccountInput struct { type GetOrganizationAdminAccountOutput struct { - // The identifier for the specified administrator account. + // The identifier for the administrator account. AdminAccountId *string - // The identifier for the specified organization. + // The identifier for the organization. OrganizationId *string // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetServicesInScope.go b/service/auditmanager/api_op_GetServicesInScope.go index 788718502b4..d5d1353a270 100644 --- a/service/auditmanager/api_op_GetServicesInScope.go +++ b/service/auditmanager/api_op_GetServicesInScope.go @@ -34,7 +34,7 @@ type GetServicesInScopeInput struct { type GetServicesInScopeOutput struct { - // The metadata associated with the Amazon Web Service. + // The metadata that's associated with the Amazon Web Service. ServiceMetadata []types.ServiceMetadata // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_GetSettings.go b/service/auditmanager/api_op_GetSettings.go index fffaa68651f..fdf98b0c8f9 100644 --- a/service/auditmanager/api_op_GetSettings.go +++ b/service/auditmanager/api_op_GetSettings.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns the settings for the specified account. +// Returns the settings for the specified Amazon Web Services account. func (c *Client) GetSettings(ctx context.Context, params *GetSettingsInput, optFns ...func(*Options)) (*GetSettingsOutput, error) { if params == nil { params = &GetSettingsInput{} diff --git a/service/auditmanager/api_op_ListAssessmentFrameworkShareRequests.go b/service/auditmanager/api_op_ListAssessmentFrameworkShareRequests.go new file mode 100644 index 00000000000..8bd31f98a23 --- /dev/null +++ b/service/auditmanager/api_op_ListAssessmentFrameworkShareRequests.go @@ -0,0 +1,222 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package auditmanager + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/auditmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns a list of sent or received share requests for custom frameworks in Audit +// Manager. +func (c *Client) ListAssessmentFrameworkShareRequests(ctx context.Context, params *ListAssessmentFrameworkShareRequestsInput, optFns ...func(*Options)) (*ListAssessmentFrameworkShareRequestsOutput, error) { + if params == nil { + params = &ListAssessmentFrameworkShareRequestsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListAssessmentFrameworkShareRequests", params, optFns, c.addOperationListAssessmentFrameworkShareRequestsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListAssessmentFrameworkShareRequestsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListAssessmentFrameworkShareRequestsInput struct { + + // Specifies whether the share request is a sent request or a received request. + // + // This member is required. + RequestType types.ShareRequestType + + // Represents the maximum number of results on a page or for an API request call. + MaxResults *int32 + + // The pagination token that's used to fetch the next set of results. + NextToken *string + + noSmithyDocumentSerde +} + +type ListAssessmentFrameworkShareRequestsOutput struct { + + // The list of share requests that the ListAssessmentFrameworkShareRequests API + // returned. + AssessmentFrameworkShareRequests []types.AssessmentFrameworkShareRequest + + // The pagination token that's used to fetch the next set of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListAssessmentFrameworkShareRequestsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpListAssessmentFrameworkShareRequests{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListAssessmentFrameworkShareRequests{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListAssessmentFrameworkShareRequestsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListAssessmentFrameworkShareRequests(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListAssessmentFrameworkShareRequestsAPIClient is a client that implements the +// ListAssessmentFrameworkShareRequests operation. +type ListAssessmentFrameworkShareRequestsAPIClient interface { + ListAssessmentFrameworkShareRequests(context.Context, *ListAssessmentFrameworkShareRequestsInput, ...func(*Options)) (*ListAssessmentFrameworkShareRequestsOutput, error) +} + +var _ ListAssessmentFrameworkShareRequestsAPIClient = (*Client)(nil) + +// ListAssessmentFrameworkShareRequestsPaginatorOptions is the paginator options +// for ListAssessmentFrameworkShareRequests +type ListAssessmentFrameworkShareRequestsPaginatorOptions struct { + // Represents the maximum number of results on a page or for an API request call. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListAssessmentFrameworkShareRequestsPaginator is a paginator for +// ListAssessmentFrameworkShareRequests +type ListAssessmentFrameworkShareRequestsPaginator struct { + options ListAssessmentFrameworkShareRequestsPaginatorOptions + client ListAssessmentFrameworkShareRequestsAPIClient + params *ListAssessmentFrameworkShareRequestsInput + nextToken *string + firstPage bool +} + +// NewListAssessmentFrameworkShareRequestsPaginator returns a new +// ListAssessmentFrameworkShareRequestsPaginator +func NewListAssessmentFrameworkShareRequestsPaginator(client ListAssessmentFrameworkShareRequestsAPIClient, params *ListAssessmentFrameworkShareRequestsInput, optFns ...func(*ListAssessmentFrameworkShareRequestsPaginatorOptions)) *ListAssessmentFrameworkShareRequestsPaginator { + if params == nil { + params = &ListAssessmentFrameworkShareRequestsInput{} + } + + options := ListAssessmentFrameworkShareRequestsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListAssessmentFrameworkShareRequestsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListAssessmentFrameworkShareRequestsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListAssessmentFrameworkShareRequests page. +func (p *ListAssessmentFrameworkShareRequestsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListAssessmentFrameworkShareRequestsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListAssessmentFrameworkShareRequests(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListAssessmentFrameworkShareRequests(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "auditmanager", + OperationName: "ListAssessmentFrameworkShareRequests", + } +} diff --git a/service/auditmanager/api_op_ListAssessmentFrameworks.go b/service/auditmanager/api_op_ListAssessmentFrameworks.go index 1ad85f67403..17a7fab0d25 100644 --- a/service/auditmanager/api_op_ListAssessmentFrameworks.go +++ b/service/auditmanager/api_op_ListAssessmentFrameworks.go @@ -12,8 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns a list of the frameworks available in the Audit Manager framework -// library. +// Returns a list of the frameworks that are available in the Audit Manager +// framework library. func (c *Client) ListAssessmentFrameworks(ctx context.Context, params *ListAssessmentFrameworksInput, optFns ...func(*Options)) (*ListAssessmentFrameworksOutput, error) { if params == nil { params = &ListAssessmentFrameworksInput{} @@ -31,15 +31,15 @@ func (c *Client) ListAssessmentFrameworks(ctx context.Context, params *ListAsses type ListAssessmentFrameworksInput struct { - // The type of framework, such as standard or custom. + // The type of framework, such as a standard framework or a custom framework. // // This member is required. FrameworkType types.FrameworkType - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -47,10 +47,10 @@ type ListAssessmentFrameworksInput struct { type ListAssessmentFrameworksOutput struct { - // The list of metadata objects for the specified framework. + // The list of metadata objects for the framework. FrameworkMetadataList []types.AssessmentFrameworkMetadata - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -133,7 +133,7 @@ var _ ListAssessmentFrameworksAPIClient = (*Client)(nil) // ListAssessmentFrameworksPaginatorOptions is the paginator options for // ListAssessmentFrameworks type ListAssessmentFrameworksPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_ListAssessmentReports.go b/service/auditmanager/api_op_ListAssessmentReports.go index becd82c0bce..20690feb124 100644 --- a/service/auditmanager/api_op_ListAssessmentReports.go +++ b/service/auditmanager/api_op_ListAssessmentReports.go @@ -30,10 +30,10 @@ func (c *Client) ListAssessmentReports(ctx context.Context, params *ListAssessme type ListAssessmentReportsInput struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -41,10 +41,10 @@ type ListAssessmentReportsInput struct { type ListAssessmentReportsOutput struct { - // The list of assessment reports returned by the ListAssessmentReports API. + // The list of assessment reports that the ListAssessmentReports API returned. AssessmentReports []types.AssessmentReportMetadata - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -124,7 +124,7 @@ var _ ListAssessmentReportsAPIClient = (*Client)(nil) // ListAssessmentReportsPaginatorOptions is the paginator options for // ListAssessmentReports type ListAssessmentReportsPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_ListAssessments.go b/service/auditmanager/api_op_ListAssessments.go index 373a7f20ff3..47f5a355f7e 100644 --- a/service/auditmanager/api_op_ListAssessments.go +++ b/service/auditmanager/api_op_ListAssessments.go @@ -30,10 +30,10 @@ func (c *Client) ListAssessments(ctx context.Context, params *ListAssessmentsInp type ListAssessmentsInput struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -41,10 +41,10 @@ type ListAssessmentsInput struct { type ListAssessmentsOutput struct { - // The metadata associated with the assessment. + // The metadata that's associated with the assessment. AssessmentMetadata []types.AssessmentMetadataItem - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -123,7 +123,7 @@ var _ ListAssessmentsAPIClient = (*Client)(nil) // ListAssessmentsPaginatorOptions is the paginator options for ListAssessments type ListAssessmentsPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_ListControls.go b/service/auditmanager/api_op_ListControls.go index 3574fb42677..c4f4b2e10ff 100644 --- a/service/auditmanager/api_op_ListControls.go +++ b/service/auditmanager/api_op_ListControls.go @@ -30,15 +30,15 @@ func (c *Client) ListControls(ctx context.Context, params *ListControlsInput, op type ListControlsInput struct { - // The type of control, such as standard or custom. + // The type of control, such as a standard control or a custom control. // // This member is required. ControlType types.ControlType - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -46,10 +46,10 @@ type ListControlsInput struct { type ListControlsOutput struct { - // The list of control metadata objects returned by the ListControls API. + // The list of control metadata objects that the ListControls API returned. ControlMetadataList []types.ControlMetadata - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -130,7 +130,7 @@ var _ ListControlsAPIClient = (*Client)(nil) // ListControlsPaginatorOptions is the paginator options for ListControls type ListControlsPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_ListKeywordsForDataSource.go b/service/auditmanager/api_op_ListKeywordsForDataSource.go index 682789d5159..88a7b50268e 100644 --- a/service/auditmanager/api_op_ListKeywordsForDataSource.go +++ b/service/auditmanager/api_op_ListKeywordsForDataSource.go @@ -12,7 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns a list of keywords that pre-mapped to the specified control data source. +// Returns a list of keywords that are pre-mapped to the specified control data +// source. func (c *Client) ListKeywordsForDataSource(ctx context.Context, params *ListKeywordsForDataSourceInput, optFns ...func(*Options)) (*ListKeywordsForDataSourceOutput, error) { if params == nil { params = &ListKeywordsForDataSourceInput{} @@ -30,15 +31,15 @@ func (c *Client) ListKeywordsForDataSource(ctx context.Context, params *ListKeyw type ListKeywordsForDataSourceInput struct { - // The control mapping data source to which the keywords apply. + // The control mapping data source that the keywords apply to. // // This member is required. Source types.SourceType - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -46,10 +47,10 @@ type ListKeywordsForDataSourceInput struct { type ListKeywordsForDataSourceOutput struct { - // The list of keywords for the specified event mapping source. + // The list of keywords for the event mapping source. Keywords []string - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // Metadata pertaining to the operation's result. @@ -132,7 +133,7 @@ var _ ListKeywordsForDataSourceAPIClient = (*Client)(nil) // ListKeywordsForDataSourcePaginatorOptions is the paginator options for // ListKeywordsForDataSource type ListKeywordsForDataSourcePaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_ListNotifications.go b/service/auditmanager/api_op_ListNotifications.go index a42f811fca7..f2e090967b1 100644 --- a/service/auditmanager/api_op_ListNotifications.go +++ b/service/auditmanager/api_op_ListNotifications.go @@ -30,10 +30,10 @@ func (c *Client) ListNotifications(ctx context.Context, params *ListNotification type ListNotificationsInput struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. MaxResults *int32 - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string noSmithyDocumentSerde @@ -41,7 +41,7 @@ type ListNotificationsInput struct { type ListNotificationsOutput struct { - // The pagination token used to fetch the next set of results. + // The pagination token that's used to fetch the next set of results. NextToken *string // The returned list of notifications. @@ -123,7 +123,7 @@ var _ ListNotificationsAPIClient = (*Client)(nil) // ListNotificationsPaginatorOptions is the paginator options for ListNotifications type ListNotificationsPaginatorOptions struct { - // Represents the maximum number of results per page, or per API request call. + // Represents the maximum number of results on a page or for an API request call. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/auditmanager/api_op_ListTagsForResource.go b/service/auditmanager/api_op_ListTagsForResource.go index f35a9d33484..591bf1cc463 100644 --- a/service/auditmanager/api_op_ListTagsForResource.go +++ b/service/auditmanager/api_op_ListTagsForResource.go @@ -28,7 +28,7 @@ func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForRes type ListTagsForResourceInput struct { - // The Amazon Resource Name (ARN) of the specified resource. + // The Amazon Resource Name (ARN) of the resource. // // This member is required. ResourceArn *string @@ -38,7 +38,7 @@ type ListTagsForResourceInput struct { type ListTagsForResourceOutput struct { - // The list of tags returned by the ListTagsForResource API. + // The list of tags that the ListTagsForResource API returned. Tags map[string]string // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_RegisterAccount.go b/service/auditmanager/api_op_RegisterAccount.go index d338e461fbd..986c4ae2772 100644 --- a/service/auditmanager/api_op_RegisterAccount.go +++ b/service/auditmanager/api_op_RegisterAccount.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Enables Audit Manager for the specified account. +// Enables Audit Manager for the specified Amazon Web Services account. func (c *Client) RegisterAccount(ctx context.Context, params *RegisterAccountInput, optFns ...func(*Options)) (*RegisterAccountOutput, error) { if params == nil { params = &RegisterAccountInput{} diff --git a/service/auditmanager/api_op_RegisterOrganizationAdminAccount.go b/service/auditmanager/api_op_RegisterOrganizationAdminAccount.go index e8f5ec7a6de..df0dade5e9a 100644 --- a/service/auditmanager/api_op_RegisterOrganizationAdminAccount.go +++ b/service/auditmanager/api_op_RegisterOrganizationAdminAccount.go @@ -10,8 +10,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Enables an account within the organization as the delegated administrator for -// Audit Manager. +// Enables an Amazon Web Services account within the organization as the delegated +// administrator for Audit Manager. func (c *Client) RegisterOrganizationAdminAccount(ctx context.Context, params *RegisterOrganizationAdminAccountInput, optFns ...func(*Options)) (*RegisterOrganizationAdminAccountOutput, error) { if params == nil { params = &RegisterOrganizationAdminAccountInput{} @@ -29,7 +29,7 @@ func (c *Client) RegisterOrganizationAdminAccount(ctx context.Context, params *R type RegisterOrganizationAdminAccountInput struct { - // The identifier for the specified delegated administrator account. + // The identifier for the delegated administrator account. // // This member is required. AdminAccountId *string @@ -39,10 +39,10 @@ type RegisterOrganizationAdminAccountInput struct { type RegisterOrganizationAdminAccountOutput struct { - // The identifier for the specified delegated administrator account. + // The identifier for the delegated administrator account. AdminAccountId *string - // The identifier for the specified organization. + // The identifier for the organization. OrganizationId *string // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_StartAssessmentFrameworkShare.go b/service/auditmanager/api_op_StartAssessmentFrameworkShare.go new file mode 100644 index 00000000000..28f9e016a22 --- /dev/null +++ b/service/auditmanager/api_op_StartAssessmentFrameworkShare.go @@ -0,0 +1,146 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package auditmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/auditmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates a share request for a custom framework in Audit Manager. The share +// request specifies a recipient and notifies them that a custom framework is +// available. Recipients have 120 days to accept or decline the request. If no +// action is taken, the share request expires. When you invoke the +// StartAssessmentFrameworkShare API, you are about to share a custom framework +// with another Amazon Web Services account. You may not share a custom framework +// that is derived from a standard framework if the standard framework is +// designated as not eligible for sharing by Amazon Web Services, unless you have +// obtained permission to do so from the owner of the standard framework. To learn +// more about which standard frameworks are eligible for sharing, see Framework +// sharing eligibility +// (https://docs.aws.amazon.com/audit-manager/latest/userguide/share-custom-framework-concepts-and-terminology.html#eligibility) +// in the Audit Manager User Guide. +func (c *Client) StartAssessmentFrameworkShare(ctx context.Context, params *StartAssessmentFrameworkShareInput, optFns ...func(*Options)) (*StartAssessmentFrameworkShareOutput, error) { + if params == nil { + params = &StartAssessmentFrameworkShareInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartAssessmentFrameworkShare", params, optFns, c.addOperationStartAssessmentFrameworkShareMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartAssessmentFrameworkShareOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartAssessmentFrameworkShareInput struct { + + // The Amazon Web Services account of the recipient. + // + // This member is required. + DestinationAccount *string + + // The Amazon Web Services Region of the recipient. + // + // This member is required. + DestinationRegion *string + + // The unique identifier for the custom framework to be shared. + // + // This member is required. + FrameworkId *string + + // An optional comment from the sender about the share request. + Comment *string + + noSmithyDocumentSerde +} + +type StartAssessmentFrameworkShareOutput struct { + + // The share request that's created by the StartAssessmentFrameworkShare API. + AssessmentFrameworkShareRequest *types.AssessmentFrameworkShareRequest + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStartAssessmentFrameworkShareMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStartAssessmentFrameworkShare{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartAssessmentFrameworkShare{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpStartAssessmentFrameworkShareValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartAssessmentFrameworkShare(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opStartAssessmentFrameworkShare(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "auditmanager", + OperationName: "StartAssessmentFrameworkShare", + } +} diff --git a/service/auditmanager/api_op_TagResource.go b/service/auditmanager/api_op_TagResource.go index 849fb60d1d0..52bdbe8f7d3 100644 --- a/service/auditmanager/api_op_TagResource.go +++ b/service/auditmanager/api_op_TagResource.go @@ -28,12 +28,12 @@ func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optF type TagResourceInput struct { - // The Amazon Resource Name (ARN) of the specified resource. + // The Amazon Resource Name (ARN) of the resource. // // This member is required. ResourceArn *string - // The tags to be associated with the resource. + // The tags that are associated with the resource. // // This member is required. Tags map[string]string diff --git a/service/auditmanager/api_op_UpdateAssessment.go b/service/auditmanager/api_op_UpdateAssessment.go index 2e21d467cda..e3567328564 100644 --- a/service/auditmanager/api_op_UpdateAssessment.go +++ b/service/auditmanager/api_op_UpdateAssessment.go @@ -29,27 +29,27 @@ func (c *Client) UpdateAssessment(ctx context.Context, params *UpdateAssessmentI type UpdateAssessmentInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The scope of the specified assessment. + // The scope of the assessment. // // This member is required. Scope *types.Scope - // The description of the specified assessment. + // The description of the assessment. AssessmentDescription *string - // The name of the specified assessment to be updated. + // The name of the assessment to be updated. AssessmentName *string - // The assessment report storage destination for the specified assessment that is - // being updated. + // The assessment report storage destination for the assessment that's being + // updated. AssessmentReportsDestination *types.AssessmentReportsDestination - // The list of roles for the specified assessment. + // The list of roles for the assessment. Roles []types.Role noSmithyDocumentSerde @@ -57,8 +57,8 @@ type UpdateAssessmentInput struct { type UpdateAssessmentOutput struct { - // The response object (name of the updated assessment) for the - // UpdateAssessmentRequest API. + // The response object for the UpdateAssessmentRequest API. This is the name of the + // updated assessment. Assessment *types.Assessment // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_UpdateAssessmentControl.go b/service/auditmanager/api_op_UpdateAssessmentControl.go index c88430b4c03..13029c5f8ae 100644 --- a/service/auditmanager/api_op_UpdateAssessmentControl.go +++ b/service/auditmanager/api_op_UpdateAssessmentControl.go @@ -29,25 +29,25 @@ func (c *Client) UpdateAssessmentControl(ctx context.Context, params *UpdateAsse type UpdateAssessmentControlInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The identifier for the specified control. + // The identifier for the control. // // This member is required. ControlId *string - // The identifier for the specified control set. + // The identifier for the control set. // // This member is required. ControlSetId *string - // The comment body text for the specified control. + // The comment body text for the control. CommentBody *string - // The status of the specified control. + // The status of the control. ControlStatus types.ControlStatus noSmithyDocumentSerde @@ -55,7 +55,8 @@ type UpdateAssessmentControlInput struct { type UpdateAssessmentControlOutput struct { - // The name of the updated control set returned by the UpdateAssessmentControl API. + // The name of the updated control set that the UpdateAssessmentControl API + // returned. Control *types.AssessmentControl // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_UpdateAssessmentControlSetStatus.go b/service/auditmanager/api_op_UpdateAssessmentControlSetStatus.go index 620cc8455ee..c3208a73f56 100644 --- a/service/auditmanager/api_op_UpdateAssessmentControlSetStatus.go +++ b/service/auditmanager/api_op_UpdateAssessmentControlSetStatus.go @@ -29,22 +29,22 @@ func (c *Client) UpdateAssessmentControlSetStatus(ctx context.Context, params *U type UpdateAssessmentControlSetStatusInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The comment related to the status update. + // The comment that's related to the status update. // // This member is required. Comment *string - // The identifier for the specified control set. + // The identifier for the control set. // // This member is required. ControlSetId *string - // The status of the control set that is being updated. + // The status of the control set that's being updated. // // This member is required. Status types.ControlSetStatus @@ -54,8 +54,8 @@ type UpdateAssessmentControlSetStatusInput struct { type UpdateAssessmentControlSetStatusOutput struct { - // The name of the updated control set returned by the - // UpdateAssessmentControlSetStatus API. + // The name of the updated control set that the UpdateAssessmentControlSetStatus + // API returned. ControlSet *types.AssessmentControlSet // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_UpdateAssessmentFramework.go b/service/auditmanager/api_op_UpdateAssessmentFramework.go index 6e2844ff6cd..29988448c2d 100644 --- a/service/auditmanager/api_op_UpdateAssessmentFramework.go +++ b/service/auditmanager/api_op_UpdateAssessmentFramework.go @@ -29,12 +29,12 @@ func (c *Client) UpdateAssessmentFramework(ctx context.Context, params *UpdateAs type UpdateAssessmentFrameworkInput struct { - // The control sets associated with the framework. + // The control sets that are associated with the framework. // // This member is required. ControlSets []types.UpdateAssessmentFrameworkControlSet - // The identifier for the specified framework. + // The identifier for the framework. // // This member is required. FrameworkId *string @@ -48,7 +48,7 @@ type UpdateAssessmentFrameworkInput struct { // HIPAA. ComplianceType *string - // The description of the framework that is to be updated. + // The description of the updated framework. Description *string noSmithyDocumentSerde @@ -56,7 +56,7 @@ type UpdateAssessmentFrameworkInput struct { type UpdateAssessmentFrameworkOutput struct { - // The name of the specified framework. + // The name of the framework. Framework *types.Framework // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_UpdateAssessmentFrameworkShare.go b/service/auditmanager/api_op_UpdateAssessmentFrameworkShare.go new file mode 100644 index 00000000000..c6c34383158 --- /dev/null +++ b/service/auditmanager/api_op_UpdateAssessmentFrameworkShare.go @@ -0,0 +1,132 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package auditmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/auditmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates a share request for a custom framework in Audit Manager. +func (c *Client) UpdateAssessmentFrameworkShare(ctx context.Context, params *UpdateAssessmentFrameworkShareInput, optFns ...func(*Options)) (*UpdateAssessmentFrameworkShareOutput, error) { + if params == nil { + params = &UpdateAssessmentFrameworkShareInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateAssessmentFrameworkShare", params, optFns, c.addOperationUpdateAssessmentFrameworkShareMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateAssessmentFrameworkShareOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateAssessmentFrameworkShareInput struct { + + // Specifies the update action for the share request. + // + // This member is required. + Action types.ShareRequestAction + + // The unique identifier for the share request. + // + // This member is required. + RequestId *string + + // Specifies whether the share request is a sent request or a received request. + // + // This member is required. + RequestType types.ShareRequestType + + noSmithyDocumentSerde +} + +type UpdateAssessmentFrameworkShareOutput struct { + + // The updated share request that's returned by the UpdateAssessmentFrameworkShare + // operation. + AssessmentFrameworkShareRequest *types.AssessmentFrameworkShareRequest + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateAssessmentFrameworkShareMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateAssessmentFrameworkShare{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateAssessmentFrameworkShare{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateAssessmentFrameworkShareValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateAssessmentFrameworkShare(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateAssessmentFrameworkShare(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "auditmanager", + OperationName: "UpdateAssessmentFrameworkShare", + } +} diff --git a/service/auditmanager/api_op_UpdateAssessmentStatus.go b/service/auditmanager/api_op_UpdateAssessmentStatus.go index 93b8874030d..872c1f46461 100644 --- a/service/auditmanager/api_op_UpdateAssessmentStatus.go +++ b/service/auditmanager/api_op_UpdateAssessmentStatus.go @@ -29,12 +29,12 @@ func (c *Client) UpdateAssessmentStatus(ctx context.Context, params *UpdateAsses type UpdateAssessmentStatusInput struct { - // The identifier for the specified assessment. + // The identifier for the assessment. // // This member is required. AssessmentId *string - // The current status of the specified assessment. + // The current status of the assessment. // // This member is required. Status types.AssessmentStatus @@ -44,7 +44,7 @@ type UpdateAssessmentStatusInput struct { type UpdateAssessmentStatusOutput struct { - // The name of the updated assessment returned by the UpdateAssessmentStatus API. + // The name of the updated assessment that the UpdateAssessmentStatus API returned. Assessment *types.Assessment // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_UpdateControl.go b/service/auditmanager/api_op_UpdateControl.go index b907874dbe9..1398f612843 100644 --- a/service/auditmanager/api_op_UpdateControl.go +++ b/service/auditmanager/api_op_UpdateControl.go @@ -29,22 +29,22 @@ func (c *Client) UpdateControl(ctx context.Context, params *UpdateControlInput, type UpdateControlInput struct { - // The identifier for the specified control. + // The identifier for the control. // // This member is required. ControlId *string - // The data mapping sources for the specified control. + // The data mapping sources for the control. // // This member is required. ControlMappingSources []types.ControlMappingSource - // The name of the control to be updated. + // The name of the updated control. // // This member is required. Name *string - // The recommended actions to carry out if the control is not fulfilled. + // The recommended actions to carry out if the control isn't fulfilled. ActionPlanInstructions *string // The title of the action plan for remediating the control. @@ -53,7 +53,7 @@ type UpdateControlInput struct { // The optional description of the control. Description *string - // The steps that to follow to determine if the control has been satisfied. + // The steps that you should follow to determine if the control is met. TestingInformation *string noSmithyDocumentSerde @@ -61,7 +61,7 @@ type UpdateControlInput struct { type UpdateControlOutput struct { - // The name of the updated control set returned by the UpdateControl API. + // The name of the updated control set that the UpdateControl API returned. Control *types.Control // Metadata pertaining to the operation's result. diff --git a/service/auditmanager/api_op_UpdateSettings.go b/service/auditmanager/api_op_UpdateSettings.go index f3711490a4a..cc31f0dba92 100644 --- a/service/auditmanager/api_op_UpdateSettings.go +++ b/service/auditmanager/api_op_UpdateSettings.go @@ -38,8 +38,8 @@ type UpdateSettingsInput struct { // The KMS key details. KmsKey *string - // The Amazon Simple Notification Service (Amazon SNS) topic to which Audit Manager - // sends notifications. + // The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager + // sends notifications to. SnsTopic *string noSmithyDocumentSerde diff --git a/service/auditmanager/api_op_ValidateAssessmentReportIntegrity.go b/service/auditmanager/api_op_ValidateAssessmentReportIntegrity.go index 601acf99ed4..a71752af455 100644 --- a/service/auditmanager/api_op_ValidateAssessmentReportIntegrity.go +++ b/service/auditmanager/api_op_ValidateAssessmentReportIntegrity.go @@ -28,8 +28,8 @@ func (c *Client) ValidateAssessmentReportIntegrity(ctx context.Context, params * type ValidateAssessmentReportIntegrityInput struct { - // The relative path of the specified Amazon S3 bucket in which the assessment - // report is stored. + // The relative path of the Amazon S3 bucket that the assessment report is stored + // in. // // This member is required. S3RelativePath *string @@ -39,7 +39,7 @@ type ValidateAssessmentReportIntegrityInput struct { type ValidateAssessmentReportIntegrityOutput struct { - // The signature algorithm used to code sign the assessment report file. + // The signature algorithm that's used to code sign the assessment report file. SignatureAlgorithm *string // The date and time signature that specifies when the assessment report was diff --git a/service/auditmanager/deserializers.go b/service/auditmanager/deserializers.go index b0c831d4faf..6a4c923d4ce 100644 --- a/service/auditmanager/deserializers.go +++ b/service/auditmanager/deserializers.go @@ -1714,6 +1714,98 @@ func awsRestjson1_deserializeOpErrorDeleteAssessmentFramework(response *smithyht } } +type awsRestjson1_deserializeOpDeleteAssessmentFrameworkShare struct { +} + +func (*awsRestjson1_deserializeOpDeleteAssessmentFrameworkShare) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDeleteAssessmentFrameworkShare) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDeleteAssessmentFrameworkShare(response, &metadata) + } + output := &DeleteAssessmentFrameworkShareOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDeleteAssessmentFrameworkShare(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestjson1_deserializeOpDeleteAssessmentReport struct { } @@ -4790,6 +4882,168 @@ func awsRestjson1_deserializeOpDocumentListAssessmentFrameworksOutput(v **ListAs return nil } +type awsRestjson1_deserializeOpListAssessmentFrameworkShareRequests struct { +} + +func (*awsRestjson1_deserializeOpListAssessmentFrameworkShareRequests) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpListAssessmentFrameworkShareRequests) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorListAssessmentFrameworkShareRequests(response, &metadata) + } + output := &ListAssessmentFrameworkShareRequestsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentListAssessmentFrameworkShareRequestsOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorListAssessmentFrameworkShareRequests(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentListAssessmentFrameworkShareRequestsOutput(v **ListAssessmentFrameworkShareRequestsOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListAssessmentFrameworkShareRequestsOutput + if *v == nil { + sv = &ListAssessmentFrameworkShareRequestsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "assessmentFrameworkShareRequests": + if err := awsRestjson1_deserializeDocumentAssessmentFrameworkShareRequestList(&sv.AssessmentFrameworkShareRequests, value); err != nil { + return err + } + + case "nextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Token to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpListAssessmentReports struct { } @@ -6082,14 +6336,14 @@ func awsRestjson1_deserializeOpDocumentRegisterOrganizationAdminAccountOutput(v return nil } -type awsRestjson1_deserializeOpTagResource struct { +type awsRestjson1_deserializeOpStartAssessmentFrameworkShare struct { } -func (*awsRestjson1_deserializeOpTagResource) ID() string { +func (*awsRestjson1_deserializeOpStartAssessmentFrameworkShare) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpStartAssessmentFrameworkShare) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6103,25 +6357,181 @@ func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorStartAssessmentFrameworkShare(response, &metadata) } - output := &TagResourceOutput{} + output := &StartAssessmentFrameworkShareOutput{} out.Result = output - return out, metadata, err -} - -func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) - errorCode := "UnknownError" - errorMessage := errorCode + body := io.TeeReader(response.Body, ringBuffer) - code := response.Header.Get("X-Amzn-ErrorType") + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentStartAssessmentFrameworkShareOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStartAssessmentFrameworkShare(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentStartAssessmentFrameworkShareOutput(v **StartAssessmentFrameworkShareOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StartAssessmentFrameworkShareOutput + if *v == nil { + sv = &StartAssessmentFrameworkShareOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "assessmentFrameworkShareRequest": + if err := awsRestjson1_deserializeDocumentAssessmentFrameworkShareRequest(&sv.AssessmentFrameworkShareRequest, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpTagResource struct { +} + +func (*awsRestjson1_deserializeOpTagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + } + output := &TagResourceOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") if len(code) != 0 { errorCode = restjson.SanitizeErrorCode(code) } @@ -6884,6 +7294,162 @@ func awsRestjson1_deserializeOpDocumentUpdateAssessmentFrameworkOutput(v **Updat return nil } +type awsRestjson1_deserializeOpUpdateAssessmentFrameworkShare struct { +} + +func (*awsRestjson1_deserializeOpUpdateAssessmentFrameworkShare) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateAssessmentFrameworkShare) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateAssessmentFrameworkShare(response, &metadata) + } + output := &UpdateAssessmentFrameworkShareOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateAssessmentFrameworkShareOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateAssessmentFrameworkShare(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateAssessmentFrameworkShareOutput(v **UpdateAssessmentFrameworkShareOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateAssessmentFrameworkShareOutput + if *v == nil { + sv = &UpdateAssessmentFrameworkShareOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "assessmentFrameworkShareRequest": + if err := awsRestjson1_deserializeDocumentAssessmentFrameworkShareRequest(&sv.AssessmentFrameworkShareRequest, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpUpdateAssessmentStatus struct { } @@ -8545,6 +9111,235 @@ func awsRestjson1_deserializeDocumentAssessmentFrameworkMetadata(v **types.Asses return nil } +func awsRestjson1_deserializeDocumentAssessmentFrameworkShareRequest(v **types.AssessmentFrameworkShareRequest, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AssessmentFrameworkShareRequest + if *v == nil { + sv = &types.AssessmentFrameworkShareRequest{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "comment": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ShareRequestComment to be of type string, got %T instead", value) + } + sv.Comment = ptr.String(jtv) + } + + case "complianceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ComplianceType to be of type string, got %T instead", value) + } + sv.ComplianceType = ptr.String(jtv) + } + + case "creationTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreationTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "customControlsCount": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected NullableInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.CustomControlsCount = ptr.Int32(int32(i64)) + } + + case "destinationAccount": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + sv.DestinationAccount = ptr.String(jtv) + } + + case "destinationRegion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Region to be of type string, got %T instead", value) + } + sv.DestinationRegion = ptr.String(jtv) + } + + case "expirationTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.ExpirationTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "frameworkDescription": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FrameworkDescription to be of type string, got %T instead", value) + } + sv.FrameworkDescription = ptr.String(jtv) + } + + case "frameworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected UUID to be of type string, got %T instead", value) + } + sv.FrameworkId = ptr.String(jtv) + } + + case "frameworkName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FrameworkName to be of type string, got %T instead", value) + } + sv.FrameworkName = ptr.String(jtv) + } + + case "id": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected UUID to be of type string, got %T instead", value) + } + sv.Id = ptr.String(jtv) + } + + case "lastUpdated": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdated = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "sourceAccount": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + sv.SourceAccount = ptr.String(jtv) + } + + case "standardControlsCount": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected NullableInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.StandardControlsCount = ptr.Int32(int32(i64)) + } + + case "status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ShareRequestStatus to be of type string, got %T instead", value) + } + sv.Status = types.ShareRequestStatus(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAssessmentFrameworkShareRequestList(v *[]types.AssessmentFrameworkShareRequest, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.AssessmentFrameworkShareRequest + if *v == nil { + cv = []types.AssessmentFrameworkShareRequest{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.AssessmentFrameworkShareRequest + destAddr := &col + if err := awsRestjson1_deserializeDocumentAssessmentFrameworkShareRequest(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentAssessmentMetadata(v **types.AssessmentMetadata, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/auditmanager/doc.go b/service/auditmanager/doc.go index 96c563232df..e1da3f799ce 100644 --- a/service/auditmanager/doc.go +++ b/service/auditmanager/doc.go @@ -6,15 +6,15 @@ // Welcome to the Audit Manager API reference. This guide is for developers who // need detailed information about the Audit Manager API operations, data types, // and errors. Audit Manager is a service that provides automated evidence -// collection so that you can continuously audit your Amazon Web Services usage, -// and assess the effectiveness of your controls to better manage risk and simplify -// compliance. Audit Manager provides pre-built frameworks that structure and -// automate assessments for a given compliance standard. Frameworks include a -// pre-built collection of controls with descriptions and testing procedures, which -// are grouped according to the requirements of the specified compliance standard -// or regulation. You can also customize frameworks and controls to support -// internal audits with unique requirements. Use the following links to get started -// with the Audit Manager API: +// collection so that you can continually audit your Amazon Web Services usage. You +// can use it to assess the effectiveness of your controls, manage risk, and +// simplify compliance. Audit Manager provides prebuilt frameworks that structure +// and automate assessments for a given compliance standard. Frameworks include a +// prebuilt collection of controls with descriptions and testing procedures. These +// controls are grouped according to the requirements of the specified compliance +// standard or regulation. You can also customize frameworks and controls to +// support internal audits with specific requirements. Use the following links to +// get started with the Audit Manager API: // // * Actions // (https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_Operations.html): diff --git a/service/auditmanager/generated.json b/service/auditmanager/generated.json index 508c8f6ff16..19ea78be7b9 100644 --- a/service/auditmanager/generated.json +++ b/service/auditmanager/generated.json @@ -17,6 +17,7 @@ "api_op_CreateControl.go", "api_op_DeleteAssessment.go", "api_op_DeleteAssessmentFramework.go", + "api_op_DeleteAssessmentFrameworkShare.go", "api_op_DeleteAssessmentReport.go", "api_op_DeleteControl.go", "api_op_DeregisterAccount.go", @@ -37,6 +38,7 @@ "api_op_GetOrganizationAdminAccount.go", "api_op_GetServicesInScope.go", "api_op_GetSettings.go", + "api_op_ListAssessmentFrameworkShareRequests.go", "api_op_ListAssessmentFrameworks.go", "api_op_ListAssessmentReports.go", "api_op_ListAssessments.go", @@ -46,12 +48,14 @@ "api_op_ListTagsForResource.go", "api_op_RegisterAccount.go", "api_op_RegisterOrganizationAdminAccount.go", + "api_op_StartAssessmentFrameworkShare.go", "api_op_TagResource.go", "api_op_UntagResource.go", "api_op_UpdateAssessment.go", "api_op_UpdateAssessmentControl.go", "api_op_UpdateAssessmentControlSetStatus.go", "api_op_UpdateAssessmentFramework.go", + "api_op_UpdateAssessmentFrameworkShare.go", "api_op_UpdateAssessmentStatus.go", "api_op_UpdateControl.go", "api_op_UpdateSettings.go", diff --git a/service/auditmanager/serializers.go b/service/auditmanager/serializers.go index fb8c74fb404..312787b3a87 100644 --- a/service/auditmanager/serializers.go +++ b/service/auditmanager/serializers.go @@ -1040,6 +1040,68 @@ func awsRestjson1_serializeOpHttpBindingsDeleteAssessmentFrameworkInput(v *Delet return nil } +type awsRestjson1_serializeOpDeleteAssessmentFrameworkShare struct { +} + +func (*awsRestjson1_serializeOpDeleteAssessmentFrameworkShare) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDeleteAssessmentFrameworkShare) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteAssessmentFrameworkShareInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/assessmentFrameworkShareRequests/{requestId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "DELETE" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDeleteAssessmentFrameworkShareInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDeleteAssessmentFrameworkShareInput(v *DeleteAssessmentFrameworkShareInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.RequestId == nil || len(*v.RequestId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member requestId must not be empty")} + } + if v.RequestId != nil { + if err := encoder.SetURI("requestId").String(*v.RequestId); err != nil { + return err + } + } + + if len(v.RequestType) > 0 { + encoder.SetQuery("requestType").String(string(v.RequestType)) + } + + return nil +} + type awsRestjson1_serializeOpDeleteAssessmentReport struct { } @@ -2380,6 +2442,67 @@ func awsRestjson1_serializeOpHttpBindingsListAssessmentFrameworksInput(v *ListAs return nil } +type awsRestjson1_serializeOpListAssessmentFrameworkShareRequests struct { +} + +func (*awsRestjson1_serializeOpListAssessmentFrameworkShareRequests) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpListAssessmentFrameworkShareRequests) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListAssessmentFrameworkShareRequestsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/assessmentFrameworkShareRequests") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsListAssessmentFrameworkShareRequestsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsListAssessmentFrameworkShareRequestsInput(v *ListAssessmentFrameworkShareRequestsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.MaxResults != nil { + encoder.SetQuery("maxResults").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("nextToken").String(*v.NextToken) + } + + if len(v.RequestType) > 0 { + encoder.SetQuery("requestType").String(string(v.RequestType)) + } + + return nil +} + type awsRestjson1_serializeOpListAssessmentReports struct { } @@ -2872,6 +2995,97 @@ func awsRestjson1_serializeOpDocumentRegisterOrganizationAdminAccountInput(v *Re return nil } +type awsRestjson1_serializeOpStartAssessmentFrameworkShare struct { +} + +func (*awsRestjson1_serializeOpStartAssessmentFrameworkShare) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStartAssessmentFrameworkShare) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StartAssessmentFrameworkShareInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/assessmentFrameworks/{frameworkId}/shareRequests") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsStartAssessmentFrameworkShareInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentStartAssessmentFrameworkShareInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsStartAssessmentFrameworkShareInput(v *StartAssessmentFrameworkShareInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.FrameworkId == nil || len(*v.FrameworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member frameworkId must not be empty")} + } + if v.FrameworkId != nil { + if err := encoder.SetURI("frameworkId").String(*v.FrameworkId); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentStartAssessmentFrameworkShareInput(v *StartAssessmentFrameworkShareInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Comment != nil { + ok := object.Key("comment") + ok.String(*v.Comment) + } + + if v.DestinationAccount != nil { + ok := object.Key("destinationAccount") + ok.String(*v.DestinationAccount) + } + + if v.DestinationRegion != nil { + ok := object.Key("destinationRegion") + ok.String(*v.DestinationRegion) + } + + return nil +} + type awsRestjson1_serializeOpTagResource struct { } @@ -3423,6 +3637,92 @@ func awsRestjson1_serializeOpDocumentUpdateAssessmentFrameworkInput(v *UpdateAss return nil } +type awsRestjson1_serializeOpUpdateAssessmentFrameworkShare struct { +} + +func (*awsRestjson1_serializeOpUpdateAssessmentFrameworkShare) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUpdateAssessmentFrameworkShare) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateAssessmentFrameworkShareInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/assessmentFrameworkShareRequests/{requestId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PUT" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsUpdateAssessmentFrameworkShareInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUpdateAssessmentFrameworkShareInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUpdateAssessmentFrameworkShareInput(v *UpdateAssessmentFrameworkShareInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.RequestId == nil || len(*v.RequestId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member requestId must not be empty")} + } + if v.RequestId != nil { + if err := encoder.SetURI("requestId").String(*v.RequestId); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUpdateAssessmentFrameworkShareInput(v *UpdateAssessmentFrameworkShareInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.Action) > 0 { + ok := object.Key("action") + ok.String(string(v.Action)) + } + + if len(v.RequestType) > 0 { + ok := object.Key("requestType") + ok.String(string(v.RequestType)) + } + + return nil +} + type awsRestjson1_serializeOpUpdateAssessmentStatus struct { } diff --git a/service/auditmanager/types/enums.go b/service/auditmanager/types/enums.go index 235a46840b1..af6365fce70 100644 --- a/service/auditmanager/types/enums.go +++ b/service/auditmanager/types/enums.go @@ -307,6 +307,74 @@ func (SettingAttribute) Values() []SettingAttribute { } } +type ShareRequestAction string + +// Enum values for ShareRequestAction +const ( + ShareRequestActionAccept ShareRequestAction = "ACCEPT" + ShareRequestActionDecline ShareRequestAction = "DECLINE" + ShareRequestActionRevoke ShareRequestAction = "REVOKE" +) + +// Values returns all known values for ShareRequestAction. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ShareRequestAction) Values() []ShareRequestAction { + return []ShareRequestAction{ + "ACCEPT", + "DECLINE", + "REVOKE", + } +} + +type ShareRequestStatus string + +// Enum values for ShareRequestStatus +const ( + ShareRequestStatusActive ShareRequestStatus = "ACTIVE" + ShareRequestStatusReplicating ShareRequestStatus = "REPLICATING" + ShareRequestStatusShared ShareRequestStatus = "SHARED" + ShareRequestStatusExpiring ShareRequestStatus = "EXPIRING" + ShareRequestStatusFailed ShareRequestStatus = "FAILED" + ShareRequestStatusExpired ShareRequestStatus = "EXPIRED" + ShareRequestStatusDeclined ShareRequestStatus = "DECLINED" + ShareRequestStatusRevoked ShareRequestStatus = "REVOKED" +) + +// Values returns all known values for ShareRequestStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ShareRequestStatus) Values() []ShareRequestStatus { + return []ShareRequestStatus{ + "ACTIVE", + "REPLICATING", + "SHARED", + "EXPIRING", + "FAILED", + "EXPIRED", + "DECLINED", + "REVOKED", + } +} + +type ShareRequestType string + +// Enum values for ShareRequestType +const ( + ShareRequestTypeSent ShareRequestType = "SENT" + ShareRequestTypeReceived ShareRequestType = "RECEIVED" +) + +// Values returns all known values for ShareRequestType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ShareRequestType) Values() []ShareRequestType { + return []ShareRequestType{ + "SENT", + "RECEIVED", + } +} + type SourceFrequency string // Enum values for SourceFrequency diff --git a/service/auditmanager/types/errors.go b/service/auditmanager/types/errors.go index 84a0c6396b3..2476e81d7b2 100644 --- a/service/auditmanager/types/errors.go +++ b/service/auditmanager/types/errors.go @@ -7,7 +7,7 @@ import ( smithy "github.com/aws/smithy-go" ) -// Your account is not registered with Audit Manager. Check the delegated +// Your account isn't registered with Audit Manager. Check the delegated // administrator setup on the Audit Manager settings page, and try again. type AccessDeniedException struct { Message *string @@ -47,7 +47,7 @@ func (e *InternalServerException) ErrorMessage() string { func (e *InternalServerException) ErrorCode() string { return "InternalServerException" } func (e *InternalServerException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } -// The resource specified in the request cannot be found. +// The resource that's specified in the request can't be found. type ResourceNotFoundException struct { Message *string diff --git a/service/auditmanager/types/types.go b/service/auditmanager/types/types.go index 30d12d1e44c..b8b7dc3e3ea 100644 --- a/service/auditmanager/types/types.go +++ b/service/auditmanager/types/types.go @@ -14,50 +14,50 @@ type Assessment struct { // The Amazon Resource Name (ARN) of the assessment. Arn *string - // The account associated with the assessment. + // The Amazon Web Services account that's associated with the assessment. AwsAccount *AWSAccount - // The framework from which the assessment was created. + // The framework that the assessment was created from. Framework *AssessmentFramework - // The metadata for the specified assessment. + // The metadata for the assessment. Metadata *AssessmentMetadata - // The tags associated with the assessment. + // The tags that are associated with the assessment. Tags map[string]string noSmithyDocumentSerde } -// The control entity that represents a standard or custom control used in an Audit -// Manager assessment. +// The control entity that represents a standard control or a custom control in an +// Audit Manager assessment. type AssessmentControl struct { // The amount of evidence in the assessment report. AssessmentReportEvidenceCount int32 - // The list of comments attached to the specified control. + // The list of comments that's attached to the control. Comments []ControlComment - // The description of the specified control. + // The description of the control. Description *string - // The amount of evidence generated for the control. + // The amount of evidence that's generated for the control. EvidenceCount int32 - // The list of data sources for the specified evidence. + // The list of data sources for the evidence. EvidenceSources []string - // The identifier for the specified control. + // The identifier for the control. Id *string - // The name of the specified control. + // The name of the control. Name *string - // The response of the specified control. + // The response of the control. Response ControlResponse - // The status of the specified control. + // The status of the control. Status ControlStatus noSmithyDocumentSerde @@ -66,10 +66,10 @@ type AssessmentControl struct { // Represents a set of controls in an Audit Manager assessment. type AssessmentControlSet struct { - // The list of controls contained with the control set. + // The list of controls that's contained with the control set. Controls []AssessmentControl - // The delegations associated with the control set. + // The delegations that are associated with the control set. Delegations []Delegation // The description for the control set. @@ -79,35 +79,36 @@ type AssessmentControlSet struct { // name in a plain string format. Id *string - // The total number of evidence objects uploaded manually to the control set. + // The total number of evidence objects that are uploaded manually to the control + // set. ManualEvidenceCount int32 - // The roles associated with the control set. + // The roles that are associated with the control set. Roles []Role // Specifies the current status of the control set. Status ControlSetStatus - // The total number of evidence objects retrieved automatically for the control - // set. + // The total number of evidence objects that are retrieved automatically for the + // control set. SystemEvidenceCount int32 noSmithyDocumentSerde } -// The folder in which Audit Manager stores evidence for an assessment. +// The folder where Audit Manager stores evidence for an assessment. type AssessmentEvidenceFolder struct { - // The identifier for the specified assessment. + // The identifier for the assessment. AssessmentId *string - // The total count of evidence included in the assessment report. + // The total count of evidence that's included in the assessment report. AssessmentReportSelectionCount int32 // The name of the user who created the evidence folder. Author *string - // The unique identifier for the specified control. + // The unique identifier for the control. ControlId *string // The name of the control. @@ -116,14 +117,14 @@ type AssessmentEvidenceFolder struct { // The identifier for the control set. ControlSetId *string - // The Amazon Web Service from which the evidence was collected. + // The Amazon Web Service that the evidence was collected from. DataSource *string // The date when the first evidence was added to the evidence folder. Date *time.Time - // The total number of Amazon Web Services resources assessed to generate the - // evidence. + // The total number of Amazon Web Services resources that were assessed to generate + // the evidence. EvidenceAwsServiceSourceCount int32 // The number of evidence that falls under the compliance check category. This @@ -147,13 +148,13 @@ type AssessmentEvidenceFolder struct { // evidence is collected from CloudTrail logs. EvidenceByTypeUserActivityCount int32 - // The amount of evidence included in the evidence folder. + // The amount of evidence that's included in the evidence folder. EvidenceResourcesIncludedCount int32 - // The identifier for the folder in which evidence is stored. + // The identifier for the folder that the evidence is stored in. Id *string - // The name of the specified evidence folder. + // The name of the evidence folder. Name *string // The total amount of evidence in the evidence folder. @@ -166,22 +167,22 @@ type AssessmentEvidenceFolder struct { // compliance standard. type AssessmentFramework struct { - // The Amazon Resource Name (ARN) of the specified framework. + // The Amazon Resource Name (ARN) of the framework. Arn *string - // The control sets associated with the framework. + // The control sets that are associated with the framework. ControlSets []AssessmentControlSet // The unique identifier for the framework. Id *string - // The metadata of a framework, such as the name, ID, description, and so on. + // The metadata of a framework, such as the name, ID, or description. Metadata *FrameworkMetadata noSmithyDocumentSerde } -// The metadata associated with a standard or custom framework. +// The metadata that's associated with a standard framework or a custom framework. type AssessmentFrameworkMetadata struct { // The Amazon Resource Name (ARN) of the framework. @@ -191,50 +192,102 @@ type AssessmentFrameworkMetadata struct { // HIPAA. ComplianceType *string - // The number of control sets associated with the specified framework. + // The number of control sets that are associated with the framework. ControlSetsCount int32 - // The number of controls associated with the specified framework. + // The number of controls that are associated with the framework. ControlsCount int32 // Specifies when the framework was created. CreatedAt *time.Time - // The description of the specified framework. + // The description of the framework. Description *string - // The unique identified for the specified framework. + // The unique identifier for the framework. Id *string // Specifies when the framework was most recently updated. LastUpdatedAt *time.Time - // The logo associated with the framework. + // The logo that's associated with the framework. Logo *string - // The name of the specified framework. + // The name of the framework. Name *string - // The framework type, such as standard or custom. + // The framework type, such as a standard framework or a custom framework. Type FrameworkType noSmithyDocumentSerde } -// The metadata associated with the specified assessment. +// Represents a share request for a custom framework in Audit Manager. +type AssessmentFrameworkShareRequest struct { + + // An optional comment from the sender about the share request. + Comment *string + + // The compliance type that the shared custom framework supports, such as CIS or + // HIPAA. + ComplianceType *string + + // The time when the share request was created. + CreationTime *time.Time + + // The number of custom controls that are part of the shared custom framework. + CustomControlsCount *int32 + + // The Amazon Web Services account of the recipient. + DestinationAccount *string + + // The Amazon Web Services Region of the recipient. + DestinationRegion *string + + // The time when the share request expires. + ExpirationTime *time.Time + + // The description of the shared custom framework. + FrameworkDescription *string + + // The unique identifier for the shared custom framework. + FrameworkId *string + + // The name of the custom framework that the share request is for. + FrameworkName *string + + // The unique identifier for the share request. + Id *string + + // Specifies when the share request was last updated. + LastUpdated *time.Time + + // The Amazon Web Services account of the sender. + SourceAccount *string + + // The number of standard controls that are part of the shared custom framework. + StandardControlsCount *int32 + + // The status of the share request. + Status ShareRequestStatus + + noSmithyDocumentSerde +} + +// The metadata that's associated with the specified assessment. type AssessmentMetadata struct { - // The destination in which evidence reports are stored for the specified - // assessment. + // The destination that evidence reports are stored in for the assessment. AssessmentReportsDestination *AssessmentReportsDestination - // The name of a compliance standard related to the assessment, such as PCI-DSS. + // The name of the compliance standard that's related to the assessment, such as + // PCI-DSS. ComplianceType *string // Specifies when the assessment was created. CreationTime *time.Time - // The delegations associated with the assessment. + // The delegations that are associated with the assessment. Delegations []Delegation // The description of the assessment. @@ -249,10 +302,11 @@ type AssessmentMetadata struct { // The name of the assessment. Name *string - // The roles associated with the assessment. + // The roles that are associated with the assessment. Roles []Role - // The wrapper of accounts and services in scope for the assessment. + // The wrapper of Amazon Web Services accounts and services that are in scope for + // the assessment. Scope *Scope // The overall status of the assessment. @@ -261,16 +315,17 @@ type AssessmentMetadata struct { noSmithyDocumentSerde } -// A metadata object associated with an assessment in Audit Manager. +// A metadata object that's associated with an assessment in Audit Manager. type AssessmentMetadataItem struct { - // The name of the compliance standard related to the assessment, such as PCI-DSS. + // The name of the compliance standard that's related to the assessment, such as + // PCI-DSS. ComplianceType *string // Specifies when the assessment was created. CreationTime *time.Time - // The delegations associated with the assessment. + // The delegations that are associated with the assessment. Delegations []Delegation // The unique identifier for the assessment. @@ -282,7 +337,7 @@ type AssessmentMetadataItem struct { // The name of the assessment. Name *string - // The roles associated with the assessment. + // The roles that are associated with the assessment. Roles []Role // The current status of the assessment. @@ -291,10 +346,10 @@ type AssessmentMetadataItem struct { noSmithyDocumentSerde } -// A finalized document generated from an Audit Manager assessment. These reports -// summarize the relevant evidence collected for your audit, and link to the -// relevant evidence folders which are named and organized according to the -// controls specified in your assessment. +// A finalized document that's generated from an Audit Manager assessment. These +// reports summarize the relevant evidence that was collected for your audit, and +// link to the relevant evidence folders. These evidence folders are named and +// organized according to the controls that are specified in your assessment. type AssessmentReport struct { // The identifier for the specified assessment. @@ -306,7 +361,7 @@ type AssessmentReport struct { // The name of the user who created the assessment report. Author *string - // The identifier for the specified account. + // The identifier for the specified Amazon Web Services account. AwsAccountId *string // Specifies when the assessment report was created. @@ -315,10 +370,10 @@ type AssessmentReport struct { // The description of the specified assessment report. Description *string - // The unique identifier for the specified assessment report. + // The unique identifier for the assessment report. Id *string - // The name given to the assessment report. + // The name that's given to the assessment report. Name *string // The current status of the specified assessment report. @@ -331,10 +386,10 @@ type AssessmentReport struct { // more meaningful errors than a simple string message. type AssessmentReportEvidenceError struct { - // The error code returned by the AssessmentReportEvidence API. + // The error code that the AssessmentReportEvidence API returned. ErrorCode *string - // The error message returned by the AssessmentReportEvidence API. + // The error message that the AssessmentReportEvidence API returned. ErrorMessage *string // The identifier for the evidence. @@ -343,7 +398,7 @@ type AssessmentReportEvidenceError struct { noSmithyDocumentSerde } -// The metadata objects associated with the specified assessment report. +// The metadata objects that are associated with the specified assessment report. type AssessmentReportMetadata struct { // The unique identifier for the associated assessment. @@ -358,7 +413,7 @@ type AssessmentReportMetadata struct { // Specifies when the assessment report was created. CreationTime *time.Time - // The description of the specified assessment report. + // The description of the assessment report. Description *string // The unique identifier for the assessment report. @@ -373,7 +428,7 @@ type AssessmentReportMetadata struct { noSmithyDocumentSerde } -// The location in which Audit Manager saves assessment reports for the given +// The location where Audit Manager saves assessment reports for the given // assessment. type AssessmentReportsDestination struct { @@ -386,22 +441,23 @@ type AssessmentReportsDestination struct { noSmithyDocumentSerde } -// The wrapper of account details, such as account ID, email address, and so on. +// The wrapper of Amazon Web Services account details, such as account ID or email +// address. type AWSAccount struct { - // The email address associated with the specified account. + // The email address that's associated with the Amazon Web Services account. EmailAddress *string - // The identifier for the specified account. + // The identifier for the Amazon Web Services account. Id *string - // The name of the specified account. + // The name of the Amazon Web Services account. Name *string noSmithyDocumentSerde } -// An Amazon Web Service such as Amazon S3, CloudTrail, and so on. +// An Amazon Web Service such as Amazon S3 or CloudTrail. type AWSService struct { // The name of the Amazon Web Service. @@ -417,10 +473,10 @@ type BatchCreateDelegationByAssessmentError struct { // The API request to batch create delegations in Audit Manager. CreateDelegationRequest *CreateDelegationRequest - // The error code returned by the BatchCreateDelegationByAssessment API. + // The error code that the BatchCreateDelegationByAssessment API returned. ErrorCode *string - // The error message returned by the BatchCreateDelegationByAssessment API. + // The error message that the BatchCreateDelegationByAssessment API returned. ErrorMessage *string noSmithyDocumentSerde @@ -430,13 +486,13 @@ type BatchCreateDelegationByAssessmentError struct { // provide more meaningful errors than a simple string message. type BatchDeleteDelegationByAssessmentError struct { - // The identifier for the specified delegation. + // The identifier for the delegation. DelegationId *string - // The error code returned by the BatchDeleteDelegationByAssessment API. + // The error code that the BatchDeleteDelegationByAssessment API returned. ErrorCode *string - // The error message returned by the BatchDeleteDelegationByAssessment API. + // The error message that the BatchDeleteDelegationByAssessment API returned. ErrorMessage *string noSmithyDocumentSerde @@ -446,35 +502,36 @@ type BatchDeleteDelegationByAssessmentError struct { // to provide more meaningful errors than a simple string message. type BatchImportEvidenceToAssessmentControlError struct { - // The error code returned by the BatchImportEvidenceToAssessmentControl API. + // The error code that the BatchImportEvidenceToAssessmentControl API returned. ErrorCode *string - // The error message returned by the BatchImportEvidenceToAssessmentControl API. + // The error message that the BatchImportEvidenceToAssessmentControl API returned. ErrorMessage *string - // Manual evidence that cannot be collected automatically by Audit Manager. + // Manual evidence that can't be collected automatically by Audit Manager. ManualEvidence *ManualEvidence noSmithyDocumentSerde } -// The record of a change within Audit Manager, such as a modified assessment, a -// delegated control set, and so on. +// The record of a change within Audit Manager. For example, this could be the +// status change of an assessment or the delegation of a control set. type ChangeLog struct { - // The action performed. + // The action that was performed. Action ActionEnum - // The time of creation for the changelog object. + // The time when the action was performed and the changelog record was created. CreatedAt *time.Time // The IAM user or role that performed the action. CreatedBy *string - // The name of the changelog object. + // The name of the object that changed. This could be the name of an assessment, + // control, or control set. ObjectName *string - // The changelog object type, such as an assessment, control, or control set. + // The object that was changed, such as an assessment, control, or control set. ObjectType ObjectTypeEnum noSmithyDocumentSerde @@ -483,19 +540,19 @@ type ChangeLog struct { // A control in Audit Manager. type Control struct { - // The recommended actions to carry out if the control is not fulfilled. + // The recommended actions to carry out if the control isn't fulfilled. ActionPlanInstructions *string // The title of the action plan for remediating the control. ActionPlanTitle *string - // The Amazon Resource Name (ARN) of the specified control. + // The Amazon Resource Name (ARN) of the control. Arn *string - // The data mapping sources for the specified control. + // The data mapping sources for the control. ControlMappingSources []ControlMappingSource - // The data source that determines from where Audit Manager collects evidence for + // The data source that determines where Audit Manager collects evidence from for // the control. ControlSources *string @@ -505,7 +562,7 @@ type Control struct { // The IAM user or role that created the control. CreatedBy *string - // The description of the specified control. + // The description of the control. Description *string // The unique identifier for the control. @@ -517,23 +574,23 @@ type Control struct { // The IAM user or role that most recently updated the control. LastUpdatedBy *string - // The name of the specified control. + // The name of the control. Name *string // The tags associated with the control. Tags map[string]string - // The steps to follow to determine if the control has been satisfied. + // The steps that you should follow to determine if the control has been satisfied. TestingInformation *string - // The type of control, such as custom or standard. + // The type of control, such as a custom control or a standard control. Type ControlType noSmithyDocumentSerde } -// A comment posted by a user on a control. This includes the author's name, the -// comment text, and a timestamp. +// A comment that's posted by a user on a control. This includes the author's name, +// the comment text, and a timestamp. type ControlComment struct { // The name of the user who authored the comment. @@ -548,59 +605,59 @@ type ControlComment struct { noSmithyDocumentSerde } -// The data source that determines from where Audit Manager collects evidence for +// The data source that determines where Audit Manager collects evidence from for // the control. type ControlMappingSource struct { - // The description of the specified source. + // The description of the source. SourceDescription *string - // The frequency of evidence collection for the specified control mapping source. + // The frequency of evidence collection for the control mapping source. SourceFrequency SourceFrequency - // The unique identifier for the specified source. + // The unique identifier for the source. SourceId *string // The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, // and Amazon Web Services API names. SourceKeyword *SourceKeyword - // The name of the specified source. + // The name of the source. SourceName *string - // The setup option for the data source, which reflects if the evidence collection - // is automated or manual. + // The setup option for the data source. This option reflects if the evidence + // collection is automated or manual. SourceSetUpOption SourceSetUpOption // Specifies one of the five types of data sources for evidence collection. SourceType SourceType - // The instructions for troubleshooting the specified control. + // The instructions for troubleshooting the control. TroubleshootingText *string noSmithyDocumentSerde } -// The metadata associated with the specified standard or custom control. +// The metadata that's associated with the standard control or custom control. type ControlMetadata struct { - // The Amazon Resource Name (ARN) of the specified control. + // The Amazon Resource Name (ARN) of the control. Arn *string - // The data source that determines from where Audit Manager collects evidence for + // The data source that determines where Audit Manager collects evidence from for // the control. ControlSources *string // Specifies when the control was created. CreatedAt *time.Time - // The unique identifier for the specified control. + // The unique identifier for the control. Id *string // Specifies when the control was most recently updated. LastUpdatedAt *time.Time - // The name of the specified control. + // The name of the control. Name *string noSmithyDocumentSerde @@ -622,8 +679,8 @@ type ControlSet struct { noSmithyDocumentSerde } -// Control entity attributes that uniquely identify an existing control to be added -// to a framework in Audit Manager. +// The control entity attributes that uniquely identify an existing control to be +// added to a framework in Audit Manager. type CreateAssessmentFrameworkControl struct { // The unique identifier of the control. @@ -633,30 +690,30 @@ type CreateAssessmentFrameworkControl struct { } // A controlSet entity that represents a collection of controls in Audit Manager. -// This does not contain the control set ID. +// This doesn't contain the control set ID. type CreateAssessmentFrameworkControlSet struct { - // The name of the specified control set. + // The name of the control set. // // This member is required. Name *string - // The list of controls within the control set. This does not contain the control + // The list of controls within the control set. This doesn't contain the control // set ID. Controls []CreateAssessmentFrameworkControl noSmithyDocumentSerde } -// Control mapping fields that represent the source for evidence collection, along -// with related parameters and metadata. This does not contain mappingID. +// The control mapping fields that represent the source for evidence collection, +// along with related parameters and metadata. This doesn't contain mappingID. type CreateControlMappingSource struct { - // The description of the data source that determines from where Audit Manager - // collects evidence for the control. + // The description of the data source that determines where Audit Manager collects + // evidence from for the control. SourceDescription *string - // The frequency of evidence collection for the specified control mapping source. + // The frequency of evidence collection for the control mapping source. SourceFrequency SourceFrequency // The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, @@ -673,17 +730,17 @@ type CreateControlMappingSource struct { // Specifies one of the five types of data sources for evidence collection. SourceType SourceType - // The instructions for troubleshooting the specified control. + // The instructions for troubleshooting the control. TroubleshootingText *string noSmithyDocumentSerde } -// A collection of attributes used to create a delegation for an assessment in -// Audit Manager. +// A collection of attributes that's used to create a delegation for an assessment +// in Audit Manager. type CreateDelegationRequest struct { - // A comment related to the delegation request. + // A comment that's related to the delegation request. Comment *string // The unique identifier for the control set. @@ -703,16 +760,16 @@ type CreateDelegationRequest struct { // The assignment of a control set to a delegate for review. type Delegation struct { - // The identifier for the associated assessment. + // The identifier for the assessment that's associated with the delegation. AssessmentId *string - // The name of the associated assessment. + // The name of the assessment that's associated with the delegation. AssessmentName *string - // The comment related to the delegation. + // The comment that's related to the delegation. Comment *string - // The identifier for the associated control set. + // The identifier for the control set that's associated with the delegation. ControlSetId *string // The IAM user or role that created the delegation. @@ -741,16 +798,16 @@ type Delegation struct { noSmithyDocumentSerde } -// The metadata associated with the specified delegation. +// The metadata that's associated with the delegation. type DelegationMetadata struct { - // The unique identifier for the specified assessment. + // The unique identifier for the assessment. AssessmentId *string // The name of the associated assessment. AssessmentName *string - // Specifies the name of the control set delegated for review. + // Specifies the name of the control set that was delegated for review. ControlSetName *string // Specifies when the delegation was created. @@ -762,7 +819,7 @@ type DelegationMetadata struct { // The Amazon Resource Name (ARN) of the IAM role. RoleArn *string - // The current status of the delgation. + // The current status of the delegation. Status DelegationStatus noSmithyDocumentSerde @@ -776,14 +833,16 @@ type Evidence struct { // Specifies whether the evidence is included in the assessment report. AssessmentReportSelection *string - // The names and values used by the evidence event, including an attribute name - // (such as allowUsersToChangePassword) and value (such as true or false). + // The names and values that are used by the evidence event. This includes an + // attribute name (such as allowUsersToChangePassword) and value (such as true or + // false). Attributes map[string]string - // The identifier for the specified account. + // The identifier for the Amazon Web Services account. AwsAccountId *string - // The account from which the evidence is collected, and its organization path. + // The Amazon Web Services account that the evidence is collected from, and its + // organization path. AwsOrganization *string // The evaluation status for evidence that falls under the compliance check @@ -792,31 +851,32 @@ type Evidence struct { // shown. ComplianceCheck *string - // The data source from which the specified evidence was collected. + // The data source where the evidence was collected from. DataSource *string - // The name of the specified evidence event. + // The name of the evidence event. EventName *string - // The Amazon Web Service from which the evidence is collected. + // The Amazon Web Service that the evidence is collected from. EventSource *string - // The identifier for the specified account. + // The identifier for the Amazon Web Services account. EvidenceAwsAccountId *string // The type of automated evidence. EvidenceByType *string - // The identifier for the folder in which the evidence is stored. + // The identifier for the folder that the evidence is stored in. EvidenceFolderId *string - // The unique identifier for the IAM user or role associated with the evidence. + // The unique identifier for the IAM user or role that's associated with the + // evidence. IamId *string // The identifier for the evidence. Id *string - // The list of resources assessed to generate the evidence. + // The list of resources that are assessed to generate the evidence. ResourcesIncluded []Resource // The timestamp that represents when the evidence was collected. @@ -825,21 +885,21 @@ type Evidence struct { noSmithyDocumentSerde } -// The file used to structure and automate Audit Manager assessments for a given -// compliance standard. +// The file that's used to structure and automate Audit Manager assessments for a +// given compliance standard. type Framework struct { - // The Amazon Resource Name (ARN) of the specified framework. + // The Amazon Resource Name (ARN) of the framework. Arn *string // The compliance type that the new custom framework supports, such as CIS or // HIPAA. ComplianceType *string - // The control sets associated with the framework. + // The control sets that are associated with the framework. ControlSets []ControlSet - // The sources from which Audit Manager collects evidence for the control. + // The sources that Audit Manager collects evidence from for the control. ControlSources *string // Specifies when the framework was created. @@ -848,10 +908,10 @@ type Framework struct { // The IAM user or role that created the framework. CreatedBy *string - // The description of the specified framework. + // The description of the framework. Description *string - // The unique identifier for the specified framework. + // The unique identifier for the framework. Id *string // Specifies when the framework was most recently updated. @@ -860,31 +920,32 @@ type Framework struct { // The IAM user or role that most recently updated the framework. LastUpdatedBy *string - // The logo associated with the framework. + // The logo that's associated with the framework. Logo *string - // The name of the specified framework. + // The name of the framework. Name *string - // The tags associated with the framework. + // The tags that are associated with the framework. Tags map[string]string - // The framework type, such as custom or standard. + // The framework type, such as a custom framework or a standard framework. Type FrameworkType noSmithyDocumentSerde } -// The metadata of a framework, such as the name, ID, description, and so on. +// The metadata of a framework, such as the name, ID, or description. type FrameworkMetadata struct { - // The compliance standard associated with the framework, such as PCI-DSS or HIPAA. + // The compliance standard that's associated with the framework. For example, this + // could be PCI DSS or HIPAA. ComplianceType *string // The description of the framework. Description *string - // The logo associated with the framework. + // The logo that's associated with the framework. Logo *string // The name of the framework. @@ -893,7 +954,7 @@ type FrameworkMetadata struct { noSmithyDocumentSerde } -// Evidence that is uploaded to Audit Manager manually. +// Evidence that's uploaded to Audit Manager manually. type ManualEvidence struct { // The Amazon S3 URL that points to a manual evidence object. @@ -902,18 +963,18 @@ type ManualEvidence struct { noSmithyDocumentSerde } -// The notification used to inform a user of an update in Audit Manager. For -// example, this includes the notification that is sent when a control set is -// delegated for review. +// The notification that informs a user of an update in Audit Manager. For example, +// this includes the notification that's sent when a control set is delegated for +// review. type Notification struct { - // The identifier for the specified assessment. + // The identifier for the assessment. AssessmentId *string // The name of the related assessment. AssessmentName *string - // The identifier for the specified control set. + // The identifier for the control set. ControlSetId *string // Specifies the name of the control set that the notification is about. @@ -934,20 +995,20 @@ type Notification struct { noSmithyDocumentSerde } -// A system asset that is evaluated in an Audit Manager assessment. +// A system asset that's evaluated in an Audit Manager assessment. type Resource struct { - // The Amazon Resource Name (ARN) for the specified resource. + // The Amazon Resource Name (ARN) for the resource. Arn *string - // The value of the specified resource. + // The value of the resource. Value *string noSmithyDocumentSerde } // The wrapper that contains the Audit Manager role information of the current -// user, such as the role type and IAM Amazon Resource Name (ARN). +// user. This includes the role type and IAM Amazon Resource Name (ARN). type Role struct { // The Amazon Resource Name (ARN) of the IAM role. @@ -961,26 +1022,29 @@ type Role struct { noSmithyDocumentSerde } -// The wrapper that contains the accounts and services in scope for the assessment. +// The wrapper that contains the Amazon Web Services accounts and services that are +// in scope for the assessment. type Scope struct { - // The accounts included in the scope of the assessment. + // The Amazon Web Services accounts that are included in the scope of the + // assessment. AwsAccounts []AWSAccount - // The Amazon Web Services services included in the scope of the assessment. + // The Amazon Web Services services that are included in the scope of the + // assessment. AwsServices []AWSService noSmithyDocumentSerde } -// The metadata associated with the specified Amazon Web Service. +// The metadata that's associated with the Amazon Web Service. type ServiceMetadata struct { - // The category in which the Amazon Web Service belongs, such as compute, storage, - // database, and so on. + // The category that the Amazon Web Service belongs to, such as compute, storage, + // or database. Category *string - // The description of the specified Amazon Web Service. + // The description of the Amazon Web Service. Description *string // The display name of the Amazon Web Service. @@ -1017,19 +1081,19 @@ type Settings struct { // and Amazon Web Services API names. type SourceKeyword struct { - // The method of input for the specified keyword. + // The method of input for the keyword. KeywordInputType KeywordInputType - // The value of the keyword used to search CloudTrail logs, Config rules, Security - // Hub checks, and Amazon Web Services API names when mapping a control data - // source. + // The value of the keyword that's used to search CloudTrail logs, Config rules, + // Security Hub checks, and Amazon Web Services API names when mapping a control + // data source. KeywordValue *string noSmithyDocumentSerde } // A controlSet entity that represents a collection of controls in Audit Manager. -// This does not contain the control set ID. +// This doesn't contain the control set ID. type UpdateAssessmentFrameworkControlSet struct { // The name of the control set. @@ -1037,7 +1101,7 @@ type UpdateAssessmentFrameworkControlSet struct { // This member is required. Name *string - // The list of controls contained within the control set. + // The list of controls that are contained within the control set. Controls []CreateAssessmentFrameworkControl // The unique identifier for the control set. @@ -1046,11 +1110,11 @@ type UpdateAssessmentFrameworkControlSet struct { noSmithyDocumentSerde } -// A uniform resource locator, used as a unique identifier to locate a resource on -// the internet. +// Short for uniform resource locator. A URL is used as a unique identifier to +// locate a resource on the internet. type URL struct { - // The name or word used as a hyperlink to the URL. + // The name or word that's used as a hyperlink to the URL. HyperlinkName *string // The unique identifier for the internet resource. @@ -1059,8 +1123,7 @@ type URL struct { noSmithyDocumentSerde } -// Indicates that the request has invalid or missing parameters for the specified -// field. +// Indicates that the request has invalid or missing parameters for the field. type ValidationExceptionField struct { // The body of the error message. diff --git a/service/auditmanager/validators.go b/service/auditmanager/validators.go index 51b16800242..128814ce745 100644 --- a/service/auditmanager/validators.go +++ b/service/auditmanager/validators.go @@ -230,6 +230,26 @@ func (m *validateOpDeleteAssessmentFramework) HandleInitialize(ctx context.Conte return next.HandleInitialize(ctx, in) } +type validateOpDeleteAssessmentFrameworkShare struct { +} + +func (*validateOpDeleteAssessmentFrameworkShare) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteAssessmentFrameworkShare) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteAssessmentFrameworkShareInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteAssessmentFrameworkShareInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteAssessment struct { } @@ -530,6 +550,26 @@ func (m *validateOpGetSettings) HandleInitialize(ctx context.Context, in middlew return next.HandleInitialize(ctx, in) } +type validateOpListAssessmentFrameworkShareRequests struct { +} + +func (*validateOpListAssessmentFrameworkShareRequests) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListAssessmentFrameworkShareRequests) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListAssessmentFrameworkShareRequestsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListAssessmentFrameworkShareRequestsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListAssessmentFrameworks struct { } @@ -630,6 +670,26 @@ func (m *validateOpRegisterOrganizationAdminAccount) HandleInitialize(ctx contex return next.HandleInitialize(ctx, in) } +type validateOpStartAssessmentFrameworkShare struct { +} + +func (*validateOpStartAssessmentFrameworkShare) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartAssessmentFrameworkShare) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartAssessmentFrameworkShareInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartAssessmentFrameworkShareInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpTagResource struct { } @@ -730,6 +790,26 @@ func (m *validateOpUpdateAssessmentFramework) HandleInitialize(ctx context.Conte return next.HandleInitialize(ctx, in) } +type validateOpUpdateAssessmentFrameworkShare struct { +} + +func (*validateOpUpdateAssessmentFrameworkShare) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateAssessmentFrameworkShare) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateAssessmentFrameworkShareInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateAssessmentFrameworkShareInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateAssessment struct { } @@ -854,6 +934,10 @@ func addOpDeleteAssessmentFrameworkValidationMiddleware(stack *middleware.Stack) return stack.Initialize.Add(&validateOpDeleteAssessmentFramework{}, middleware.After) } +func addOpDeleteAssessmentFrameworkShareValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteAssessmentFrameworkShare{}, middleware.After) +} + func addOpDeleteAssessmentValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteAssessment{}, middleware.After) } @@ -914,6 +998,10 @@ func addOpGetSettingsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetSettings{}, middleware.After) } +func addOpListAssessmentFrameworkShareRequestsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListAssessmentFrameworkShareRequests{}, middleware.After) +} + func addOpListAssessmentFrameworksValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListAssessmentFrameworks{}, middleware.After) } @@ -934,6 +1022,10 @@ func addOpRegisterOrganizationAdminAccountValidationMiddleware(stack *middleware return stack.Initialize.Add(&validateOpRegisterOrganizationAdminAccount{}, middleware.After) } +func addOpStartAssessmentFrameworkShareValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartAssessmentFrameworkShare{}, middleware.After) +} + func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpTagResource{}, middleware.After) } @@ -954,6 +1046,10 @@ func addOpUpdateAssessmentFrameworkValidationMiddleware(stack *middleware.Stack) return stack.Initialize.Add(&validateOpUpdateAssessmentFramework{}, middleware.After) } +func addOpUpdateAssessmentFrameworkShareValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateAssessmentFrameworkShare{}, middleware.After) +} + func addOpUpdateAssessmentValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateAssessment{}, middleware.After) } @@ -1254,6 +1350,24 @@ func validateOpDeleteAssessmentFrameworkInput(v *DeleteAssessmentFrameworkInput) } } +func validateOpDeleteAssessmentFrameworkShareInput(v *DeleteAssessmentFrameworkShareInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteAssessmentFrameworkShareInput"} + if v.RequestId == nil { + invalidParams.Add(smithy.NewErrParamRequired("RequestId")) + } + if len(v.RequestType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("RequestType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteAssessmentInput(v *DeleteAssessmentInput) error { if v == nil { return nil @@ -1515,6 +1629,21 @@ func validateOpGetSettingsInput(v *GetSettingsInput) error { } } +func validateOpListAssessmentFrameworkShareRequestsInput(v *ListAssessmentFrameworkShareRequestsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListAssessmentFrameworkShareRequestsInput"} + if len(v.RequestType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("RequestType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListAssessmentFrameworksInput(v *ListAssessmentFrameworksInput) error { if v == nil { return nil @@ -1590,6 +1719,27 @@ func validateOpRegisterOrganizationAdminAccountInput(v *RegisterOrganizationAdmi } } +func validateOpStartAssessmentFrameworkShareInput(v *StartAssessmentFrameworkShareInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartAssessmentFrameworkShareInput"} + if v.FrameworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("FrameworkId")) + } + if v.DestinationAccount == nil { + invalidParams.Add(smithy.NewErrParamRequired("DestinationAccount")) + } + if v.DestinationRegion == nil { + invalidParams.Add(smithy.NewErrParamRequired("DestinationRegion")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpTagResourceInput(v *TagResourceInput) error { if v == nil { return nil @@ -1696,6 +1846,27 @@ func validateOpUpdateAssessmentFrameworkInput(v *UpdateAssessmentFrameworkInput) } } +func validateOpUpdateAssessmentFrameworkShareInput(v *UpdateAssessmentFrameworkShareInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateAssessmentFrameworkShareInput"} + if v.RequestId == nil { + invalidParams.Add(smithy.NewErrParamRequired("RequestId")) + } + if len(v.RequestType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("RequestType")) + } + if len(v.Action) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Action")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateAssessmentInput(v *UpdateAssessmentInput) error { if v == nil { return nil diff --git a/service/autoscaling/api_op_CreateAutoScalingGroup.go b/service/autoscaling/api_op_CreateAutoScalingGroup.go index fc78e1da516..4875aed9955 100644 --- a/service/autoscaling/api_op_CreateAutoScalingGroup.go +++ b/service/autoscaling/api_op_CreateAutoScalingGroup.go @@ -104,6 +104,16 @@ type CreateAutoScalingGroupInput struct { // is the minimum size of the group. DesiredCapacity *int32 + // The unit of measurement for the value specified for desired capacity. Amazon EC2 + // Auto Scaling supports DesiredCapacityType for attribute-based instance type + // selection only. For more information, see Creating an Auto Scaling group using + // attribute-based instance type selection + // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) + // in the Amazon EC2 Auto Scaling User Guide. By default, Amazon EC2 Auto Scaling + // specifies units, which translates into number of instances. Valid values: units + // | vcpu | memory-mib + DesiredCapacityType *string + // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before // checking the health status of an EC2 instance that has come into service. During // this time, any health check failures for the instance are ignored. The default @@ -166,16 +176,9 @@ type CreateAutoScalingGroupInput struct { // in the Amazon EC2 Auto Scaling User Guide. MaxInstanceLifetime *int32 - // An embedded object that specifies a mixed instances policy. The required - // properties must be specified. If optional properties are unspecified, their - // default values are used. The policy includes properties that not only define the - // distribution of On-Demand Instances and Spot Instances, the maximum price to pay - // for Spot Instances, and how the Auto Scaling group allocates instance types to - // fulfill On-Demand and Spot capacities, but also the properties that specify the - // instance configuration information—the launch template and instance types. The - // policy can also include a weight for each instance type and different launch - // templates for individual instance types. For more information, see Auto Scaling - // groups with multiple instance types and purchase options + // An embedded object that specifies a mixed instances policy. For more + // information, see Auto Scaling groups with multiple instance types and purchase + // options // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *types.MixedInstancesPolicy diff --git a/service/autoscaling/api_op_UpdateAutoScalingGroup.go b/service/autoscaling/api_op_UpdateAutoScalingGroup.go index b4ba2033794..d9e44add359 100644 --- a/service/autoscaling/api_op_UpdateAutoScalingGroup.go +++ b/service/autoscaling/api_op_UpdateAutoScalingGroup.go @@ -98,6 +98,16 @@ type UpdateAutoScalingGroupInput struct { // equal to the maximum size of the group. DesiredCapacity *int32 + // The unit of measurement for the value specified for desired capacity. Amazon EC2 + // Auto Scaling supports DesiredCapacityType for attribute-based instance type + // selection only. For more information, see Creating an Auto Scaling group using + // attribute-based instance type selection + // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) + // in the Amazon EC2 Auto Scaling User Guide. By default, Amazon EC2 Auto Scaling + // specifies units, which translates into number of instances. Valid values: units + // | vcpu | memory-mib + DesiredCapacityType *string + // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before // checking the health status of an EC2 instance that has come into service. The // default value is 0. For more information, see Health check grace period @@ -141,10 +151,9 @@ type UpdateAutoScalingGroupInput struct { // The minimum size of the Auto Scaling group. MinSize *int32 - // An embedded object that specifies a mixed instances policy. When you make - // changes to an existing policy, all optional properties are left unchanged if not - // specified. For more information, see Auto Scaling groups with multiple instance - // types and purchase options + // An embedded object that specifies a mixed instances policy. For more + // information, see Auto Scaling groups with multiple instance types and purchase + // options // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *types.MixedInstancesPolicy diff --git a/service/autoscaling/deserializers.go b/service/autoscaling/deserializers.go index 236eae8ab8e..216c16fbaa5 100644 --- a/service/autoscaling/deserializers.go +++ b/service/autoscaling/deserializers.go @@ -6473,6 +6473,386 @@ func awsAwsquery_deserializeErrorServiceLinkedRoleFailure(response *smithyhttp.R return output } +func awsAwsquery_deserializeDocumentAcceleratorCountRequest(v **types.AcceleratorCountRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.AcceleratorCountRequest + if *v == nil { + sv = &types.AcceleratorCountRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentAcceleratorManufacturers(v *[]types.AcceleratorManufacturer, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AcceleratorManufacturer + if *v == nil { + sv = make([]types.AcceleratorManufacturer, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.AcceleratorManufacturer + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.AcceleratorManufacturer(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentAcceleratorManufacturersUnwrapped(v *[]types.AcceleratorManufacturer, decoder smithyxml.NodeDecoder) error { + var sv []types.AcceleratorManufacturer + if *v == nil { + sv = make([]types.AcceleratorManufacturer, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AcceleratorManufacturer + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.AcceleratorManufacturer(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsAwsquery_deserializeDocumentAcceleratorNames(v *[]types.AcceleratorName, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AcceleratorName + if *v == nil { + sv = make([]types.AcceleratorName, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.AcceleratorName + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.AcceleratorName(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentAcceleratorNamesUnwrapped(v *[]types.AcceleratorName, decoder smithyxml.NodeDecoder) error { + var sv []types.AcceleratorName + if *v == nil { + sv = make([]types.AcceleratorName, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AcceleratorName + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.AcceleratorName(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsAwsquery_deserializeDocumentAcceleratorTotalMemoryMiBRequest(v **types.AcceleratorTotalMemoryMiBRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.AcceleratorTotalMemoryMiBRequest + if *v == nil { + sv = &types.AcceleratorTotalMemoryMiBRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentAcceleratorTypes(v *[]types.AcceleratorType, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AcceleratorType + if *v == nil { + sv = make([]types.AcceleratorType, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.AcceleratorType + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.AcceleratorType(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentAcceleratorTypesUnwrapped(v *[]types.AcceleratorType, decoder smithyxml.NodeDecoder) error { + var sv []types.AcceleratorType + if *v == nil { + sv = make([]types.AcceleratorType, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AcceleratorType + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.AcceleratorType(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsAwsquery_deserializeDocumentActiveInstanceRefreshNotFoundFault(v **types.ActiveInstanceRefreshNotFoundFault, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -7224,6 +7604,19 @@ func awsAwsquery_deserializeDocumentAutoScalingGroup(v **types.AutoScalingGroup, sv.DesiredCapacity = ptr.Int32(int32(i64)) } + case strings.EqualFold("DesiredCapacityType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DesiredCapacityType = ptr.String(xtv) + } + case strings.EqualFold("EnabledMetrics", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) if err := awsAwsquery_deserializeDocumentEnabledMetrics(&sv.EnabledMetrics, nodeDecoder); err != nil { @@ -7952,6 +8345,76 @@ func awsAwsquery_deserializeDocumentAvailabilityZonesUnwrapped(v *[]string, deco *v = sv return nil } +func awsAwsquery_deserializeDocumentBaselineEbsBandwidthMbpsRequest(v **types.BaselineEbsBandwidthMbpsRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.BaselineEbsBandwidthMbpsRequest + if *v == nil { + sv = &types.BaselineEbsBandwidthMbpsRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentBlockDeviceMapping(v **types.BlockDeviceMapping, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8320,6 +8783,86 @@ func awsAwsquery_deserializeDocumentClassicLinkVPCSecurityGroupsUnwrapped(v *[]s *v = sv return nil } +func awsAwsquery_deserializeDocumentCpuManufacturers(v *[]types.CpuManufacturer, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.CpuManufacturer + if *v == nil { + sv = make([]types.CpuManufacturer, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.CpuManufacturer + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.CpuManufacturer(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentCpuManufacturersUnwrapped(v *[]types.CpuManufacturer, decoder smithyxml.NodeDecoder) error { + var sv []types.CpuManufacturer + if *v == nil { + sv = make([]types.CpuManufacturer, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.CpuManufacturer + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.CpuManufacturer(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsAwsquery_deserializeDocumentCustomizedMetricSpecification(v **types.CustomizedMetricSpecification, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8713,25 +9256,105 @@ func awsAwsquery_deserializeDocumentEnabledMetrics(v *[]types.EnabledMetric, dec return nil } -func awsAwsquery_deserializeDocumentEnabledMetricsUnwrapped(v *[]types.EnabledMetric, decoder smithyxml.NodeDecoder) error { - var sv []types.EnabledMetric +func awsAwsquery_deserializeDocumentEnabledMetricsUnwrapped(v *[]types.EnabledMetric, decoder smithyxml.NodeDecoder) error { + var sv []types.EnabledMetric + if *v == nil { + sv = make([]types.EnabledMetric, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.EnabledMetric + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsAwsquery_deserializeDocumentEnabledMetric(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsAwsquery_deserializeDocumentExcludedInstanceTypes(v *[]string, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col string + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = xtv + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentExcludedInstanceTypesUnwrapped(v *[]string, decoder smithyxml.NodeDecoder) error { + var sv []string if *v == nil { - sv = make([]types.EnabledMetric, 0) + sv = make([]string, 0) } else { sv = *v } switch { default: - var mv types.EnabledMetric + var mv string t := decoder.StartEl _ = t - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &mv - if err := awsAwsquery_deserializeDocumentEnabledMetric(&destAddr, nodeDecoder); err != nil { + val, err := decoder.Value() + if err != nil { return err } - mv = *destAddr + if val == nil { + break + } + { + xtv := string(val) + mv = xtv + } sv = append(sv, mv) } *v = sv @@ -9029,6 +9652,86 @@ func awsAwsquery_deserializeDocumentInstance(v **types.Instance, decoder smithyx return nil } +func awsAwsquery_deserializeDocumentInstanceGenerations(v *[]types.InstanceGeneration, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.InstanceGeneration + if *v == nil { + sv = make([]types.InstanceGeneration, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.InstanceGeneration + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.InstanceGeneration(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentInstanceGenerationsUnwrapped(v *[]types.InstanceGeneration, decoder smithyxml.NodeDecoder) error { + var sv []types.InstanceGeneration + if *v == nil { + sv = make([]types.InstanceGeneration, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.InstanceGeneration + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.InstanceGeneration(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsAwsquery_deserializeDocumentInstanceMetadataOptions(v **types.InstanceMetadataOptions, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -9569,29 +10272,216 @@ func awsAwsquery_deserializeDocumentInstanceRefreshProgressDetails(v **types.Ins return nil } -func awsAwsquery_deserializeDocumentInstanceRefreshWarmPoolProgress(v **types.InstanceRefreshWarmPoolProgress, decoder smithyxml.NodeDecoder) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - var sv *types.InstanceRefreshWarmPoolProgress - if *v == nil { - sv = &types.InstanceRefreshWarmPoolProgress{} - } else { - sv = *v - } +func awsAwsquery_deserializeDocumentInstanceRefreshWarmPoolProgress(v **types.InstanceRefreshWarmPoolProgress, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.InstanceRefreshWarmPoolProgress + if *v == nil { + sv = &types.InstanceRefreshWarmPoolProgress{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("InstancesToUpdate", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.InstancesToUpdate = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("PercentageComplete", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.PercentageComplete = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentInstanceRequirements(v **types.InstanceRequirements, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.InstanceRequirements + if *v == nil { + sv = &types.InstanceRequirements{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("AcceleratorCount", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentAcceleratorCountRequest(&sv.AcceleratorCount, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AcceleratorManufacturers", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentAcceleratorManufacturers(&sv.AcceleratorManufacturers, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AcceleratorNames", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentAcceleratorNames(&sv.AcceleratorNames, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AcceleratorTotalMemoryMiB", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentAcceleratorTotalMemoryMiBRequest(&sv.AcceleratorTotalMemoryMiB, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AcceleratorTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentAcceleratorTypes(&sv.AcceleratorTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("BareMetal", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.BareMetal = types.BareMetal(xtv) + } + + case strings.EqualFold("BaselineEbsBandwidthMbps", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentBaselineEbsBandwidthMbpsRequest(&sv.BaselineEbsBandwidthMbps, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("BurstablePerformance", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.BurstablePerformance = types.BurstablePerformance(xtv) + } + + case strings.EqualFold("CpuManufacturers", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentCpuManufacturers(&sv.CpuManufacturers, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ExcludedInstanceTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentExcludedInstanceTypes(&sv.ExcludedInstanceTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("InstanceGenerations", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentInstanceGenerations(&sv.InstanceGenerations, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("LocalStorage", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.LocalStorage = types.LocalStorage(xtv) + } + + case strings.EqualFold("LocalStorageTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentLocalStorageTypes(&sv.LocalStorageTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("MemoryGiBPerVCpu", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentMemoryGiBPerVCpuRequest(&sv.MemoryGiBPerVCpu, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("MemoryMiB", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentMemoryMiBRequest(&sv.MemoryMiB, nodeDecoder); err != nil { + return err + } - for { - t, done, err := decoder.Token() - if err != nil { - return err - } - if done { - break - } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) - switch { - case strings.EqualFold("InstancesToUpdate", t.Name.Local): + case strings.EqualFold("NetworkInterfaceCount", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentNetworkInterfaceCountRequest(&sv.NetworkInterfaceCount, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("OnDemandMaxPricePercentageOverLowestPrice", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -9605,10 +10495,26 @@ func awsAwsquery_deserializeDocumentInstanceRefreshWarmPoolProgress(v **types.In if err != nil { return err } - sv.InstancesToUpdate = ptr.Int32(int32(i64)) + sv.OnDemandMaxPricePercentageOverLowestPrice = ptr.Int32(int32(i64)) } - case strings.EqualFold("PercentageComplete", t.Name.Local): + case strings.EqualFold("RequireHibernateSupport", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected NullableBoolean to be of type *bool, got %T instead", val) + } + sv.RequireHibernateSupport = ptr.Bool(xtv) + } + + case strings.EqualFold("SpotMaxPricePercentageOverLowestPrice", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -9622,7 +10528,19 @@ func awsAwsquery_deserializeDocumentInstanceRefreshWarmPoolProgress(v **types.In if err != nil { return err } - sv.PercentageComplete = ptr.Int32(int32(i64)) + sv.SpotMaxPricePercentageOverLowestPrice = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("TotalLocalStorageGB", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentTotalLocalStorageGBRequest(&sv.TotalLocalStorageGB, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("VCpuCount", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentVCpuCountRequest(&sv.VCpuCount, nodeDecoder); err != nil { + return err } default: @@ -10291,6 +11209,12 @@ func awsAwsquery_deserializeDocumentLaunchTemplateOverrides(v **types.LaunchTemp originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { + case strings.EqualFold("InstanceRequirements", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentInstanceRequirements(&sv.InstanceRequirements, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("InstanceType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -11084,18 +12008,235 @@ func awsAwsquery_deserializeDocumentLoadForecast(v **types.LoadForecast, decoder return nil } -func awsAwsquery_deserializeDocumentLoadForecasts(v *[]types.LoadForecast, decoder smithyxml.NodeDecoder) error { +func awsAwsquery_deserializeDocumentLoadForecasts(v *[]types.LoadForecast, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.LoadForecast + if *v == nil { + sv = make([]types.LoadForecast, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.LoadForecast + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsAwsquery_deserializeDocumentLoadForecast(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentLoadForecastsUnwrapped(v *[]types.LoadForecast, decoder smithyxml.NodeDecoder) error { + var sv []types.LoadForecast + if *v == nil { + sv = make([]types.LoadForecast, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.LoadForecast + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsAwsquery_deserializeDocumentLoadForecast(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsAwsquery_deserializeDocumentLocalStorageTypes(v *[]types.LocalStorageType, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.LocalStorageType + if *v == nil { + sv = make([]types.LocalStorageType, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.LocalStorageType + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.LocalStorageType(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentLocalStorageTypesUnwrapped(v *[]types.LocalStorageType, decoder smithyxml.NodeDecoder) error { + var sv []types.LocalStorageType + if *v == nil { + sv = make([]types.LocalStorageType, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.LocalStorageType + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.LocalStorageType(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsAwsquery_deserializeDocumentMemoryGiBPerVCpuRequest(v **types.MemoryGiBPerVCpuRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.MemoryGiBPerVCpuRequest + if *v == nil { + sv = &types.MemoryGiBPerVCpuRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Max = ptr.Float64(f64) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Min = ptr.Float64(f64) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentMemoryMiBRequest(v **types.MemoryMiBRequest, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv []types.LoadForecast + var sv *types.MemoryMiBRequest if *v == nil { - sv = make([]types.LoadForecast, 0) + sv = &types.MemoryMiBRequest{} } else { sv = *v } - originalDecoder := decoder for { t, done, err := decoder.Token() if err != nil { @@ -11104,18 +12245,45 @@ func awsAwsquery_deserializeDocumentLoadForecasts(v *[]types.LoadForecast, decod if done { break } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("member", t.Name.Local): - var col types.LoadForecast - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &col - if err := awsAwsquery_deserializeDocumentLoadForecast(&destAddr, nodeDecoder); err != nil { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { return err } - col = *destAddr - sv = append(sv, col) + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } default: + // Do nothing and ignore the unexpected tag element err = decoder.Decoder.Skip() if err != nil { return err @@ -11128,30 +12296,6 @@ func awsAwsquery_deserializeDocumentLoadForecasts(v *[]types.LoadForecast, decod return nil } -func awsAwsquery_deserializeDocumentLoadForecastsUnwrapped(v *[]types.LoadForecast, decoder smithyxml.NodeDecoder) error { - var sv []types.LoadForecast - if *v == nil { - sv = make([]types.LoadForecast, 0) - } else { - sv = *v - } - - switch { - default: - var mv types.LoadForecast - t := decoder.StartEl - _ = t - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &mv - if err := awsAwsquery_deserializeDocumentLoadForecast(&destAddr, nodeDecoder); err != nil { - return err - } - mv = *destAddr - sv = append(sv, mv) - } - *v = sv - return nil -} func awsAwsquery_deserializeDocumentMetricCollectionType(v **types.MetricCollectionType, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -11564,6 +12708,76 @@ func awsAwsquery_deserializeDocumentMixedInstancesPolicy(v **types.MixedInstance return nil } +func awsAwsquery_deserializeDocumentNetworkInterfaceCountRequest(v **types.NetworkInterfaceCountRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.NetworkInterfaceCountRequest + if *v == nil { + sv = &types.NetworkInterfaceCountRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentNotificationConfiguration(v **types.NotificationConfiguration, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -14218,6 +15432,146 @@ func awsAwsquery_deserializeDocumentTerminationPoliciesUnwrapped(v *[]string, de *v = sv return nil } +func awsAwsquery_deserializeDocumentTotalLocalStorageGBRequest(v **types.TotalLocalStorageGBRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.TotalLocalStorageGBRequest + if *v == nil { + sv = &types.TotalLocalStorageGBRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Max = ptr.Float64(f64) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Min = ptr.Float64(f64) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentVCpuCountRequest(v **types.VCpuCountRequest, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.VCpuCountRequest + if *v == nil { + sv = &types.VCpuCountRequest{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("Min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentWarmPoolConfiguration(v **types.WarmPoolConfiguration, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/autoscaling/serializers.go b/service/autoscaling/serializers.go index 91e6510be47..95cf8694a50 100644 --- a/service/autoscaling/serializers.go +++ b/service/autoscaling/serializers.go @@ -3403,6 +3403,79 @@ func (m *awsAwsquery_serializeOpUpdateAutoScalingGroup) HandleSerialize(ctx cont return next.HandleSerialize(ctx, in) } +func awsAwsquery_serializeDocumentAcceleratorCountRequest(v *types.AcceleratorCountRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsAwsquery_serializeDocumentAcceleratorManufacturers(v []types.AcceleratorManufacturer, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsAwsquery_serializeDocumentAcceleratorNames(v []types.AcceleratorName, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsAwsquery_serializeDocumentAcceleratorTotalMemoryMiBRequest(v *types.AcceleratorTotalMemoryMiBRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsAwsquery_serializeDocumentAcceleratorTypes(v []types.AcceleratorType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsAwsquery_serializeDocumentActivityIds(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -3455,6 +3528,23 @@ func awsAwsquery_serializeDocumentAvailabilityZones(v []string, value query.Valu return nil } +func awsAwsquery_serializeDocumentBaselineEbsBandwidthMbpsRequest(v *types.BaselineEbsBandwidthMbpsRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsAwsquery_serializeDocumentBlockDeviceMapping(v *types.BlockDeviceMapping, value query.Value) error { object := value.Object() _ = object @@ -3525,6 +3615,19 @@ func awsAwsquery_serializeDocumentClassicLinkVPCSecurityGroups(v []string, value return nil } +func awsAwsquery_serializeDocumentCpuManufacturers(v []types.CpuManufacturer, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsAwsquery_serializeDocumentCustomizedMetricSpecification(v *types.CustomizedMetricSpecification, value query.Value) error { object := value.Object() _ = object @@ -3622,6 +3725,19 @@ func awsAwsquery_serializeDocumentEbs(v *types.Ebs, value query.Value) error { return nil } +func awsAwsquery_serializeDocumentExcludedInstanceTypes(v []string, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsAwsquery_serializeDocumentFilter(v *types.Filter, value query.Value) error { object := value.Object() _ = object @@ -3656,6 +3772,19 @@ func awsAwsquery_serializeDocumentFilters(v []types.Filter, value query.Value) e return nil } +func awsAwsquery_serializeDocumentInstanceGenerations(v []types.InstanceGeneration, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsAwsquery_serializeDocumentInstanceIds(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -3716,6 +3845,148 @@ func awsAwsquery_serializeDocumentInstanceRefreshIds(v []string, value query.Val return nil } +func awsAwsquery_serializeDocumentInstanceRequirements(v *types.InstanceRequirements, value query.Value) error { + object := value.Object() + _ = object + + if v.AcceleratorCount != nil { + objectKey := object.Key("AcceleratorCount") + if err := awsAwsquery_serializeDocumentAcceleratorCountRequest(v.AcceleratorCount, objectKey); err != nil { + return err + } + } + + if v.AcceleratorManufacturers != nil { + objectKey := object.Key("AcceleratorManufacturers") + if err := awsAwsquery_serializeDocumentAcceleratorManufacturers(v.AcceleratorManufacturers, objectKey); err != nil { + return err + } + } + + if v.AcceleratorNames != nil { + objectKey := object.Key("AcceleratorNames") + if err := awsAwsquery_serializeDocumentAcceleratorNames(v.AcceleratorNames, objectKey); err != nil { + return err + } + } + + if v.AcceleratorTotalMemoryMiB != nil { + objectKey := object.Key("AcceleratorTotalMemoryMiB") + if err := awsAwsquery_serializeDocumentAcceleratorTotalMemoryMiBRequest(v.AcceleratorTotalMemoryMiB, objectKey); err != nil { + return err + } + } + + if v.AcceleratorTypes != nil { + objectKey := object.Key("AcceleratorTypes") + if err := awsAwsquery_serializeDocumentAcceleratorTypes(v.AcceleratorTypes, objectKey); err != nil { + return err + } + } + + if len(v.BareMetal) > 0 { + objectKey := object.Key("BareMetal") + objectKey.String(string(v.BareMetal)) + } + + if v.BaselineEbsBandwidthMbps != nil { + objectKey := object.Key("BaselineEbsBandwidthMbps") + if err := awsAwsquery_serializeDocumentBaselineEbsBandwidthMbpsRequest(v.BaselineEbsBandwidthMbps, objectKey); err != nil { + return err + } + } + + if len(v.BurstablePerformance) > 0 { + objectKey := object.Key("BurstablePerformance") + objectKey.String(string(v.BurstablePerformance)) + } + + if v.CpuManufacturers != nil { + objectKey := object.Key("CpuManufacturers") + if err := awsAwsquery_serializeDocumentCpuManufacturers(v.CpuManufacturers, objectKey); err != nil { + return err + } + } + + if v.ExcludedInstanceTypes != nil { + objectKey := object.Key("ExcludedInstanceTypes") + if err := awsAwsquery_serializeDocumentExcludedInstanceTypes(v.ExcludedInstanceTypes, objectKey); err != nil { + return err + } + } + + if v.InstanceGenerations != nil { + objectKey := object.Key("InstanceGenerations") + if err := awsAwsquery_serializeDocumentInstanceGenerations(v.InstanceGenerations, objectKey); err != nil { + return err + } + } + + if len(v.LocalStorage) > 0 { + objectKey := object.Key("LocalStorage") + objectKey.String(string(v.LocalStorage)) + } + + if v.LocalStorageTypes != nil { + objectKey := object.Key("LocalStorageTypes") + if err := awsAwsquery_serializeDocumentLocalStorageTypes(v.LocalStorageTypes, objectKey); err != nil { + return err + } + } + + if v.MemoryGiBPerVCpu != nil { + objectKey := object.Key("MemoryGiBPerVCpu") + if err := awsAwsquery_serializeDocumentMemoryGiBPerVCpuRequest(v.MemoryGiBPerVCpu, objectKey); err != nil { + return err + } + } + + if v.MemoryMiB != nil { + objectKey := object.Key("MemoryMiB") + if err := awsAwsquery_serializeDocumentMemoryMiBRequest(v.MemoryMiB, objectKey); err != nil { + return err + } + } + + if v.NetworkInterfaceCount != nil { + objectKey := object.Key("NetworkInterfaceCount") + if err := awsAwsquery_serializeDocumentNetworkInterfaceCountRequest(v.NetworkInterfaceCount, objectKey); err != nil { + return err + } + } + + if v.OnDemandMaxPricePercentageOverLowestPrice != nil { + objectKey := object.Key("OnDemandMaxPricePercentageOverLowestPrice") + objectKey.Integer(*v.OnDemandMaxPricePercentageOverLowestPrice) + } + + if v.RequireHibernateSupport != nil { + objectKey := object.Key("RequireHibernateSupport") + objectKey.Boolean(*v.RequireHibernateSupport) + } + + if v.SpotMaxPricePercentageOverLowestPrice != nil { + objectKey := object.Key("SpotMaxPricePercentageOverLowestPrice") + objectKey.Integer(*v.SpotMaxPricePercentageOverLowestPrice) + } + + if v.TotalLocalStorageGB != nil { + objectKey := object.Key("TotalLocalStorageGB") + if err := awsAwsquery_serializeDocumentTotalLocalStorageGBRequest(v.TotalLocalStorageGB, objectKey); err != nil { + return err + } + } + + if v.VCpuCount != nil { + objectKey := object.Key("VCpuCount") + if err := awsAwsquery_serializeDocumentVCpuCountRequest(v.VCpuCount, objectKey); err != nil { + return err + } + } + + return nil +} + func awsAwsquery_serializeDocumentInstancesDistribution(v *types.InstancesDistribution, value query.Value) error { object := value.Object() _ = object @@ -3791,6 +4062,13 @@ func awsAwsquery_serializeDocumentLaunchTemplateOverrides(v *types.LaunchTemplat object := value.Object() _ = object + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsAwsquery_serializeDocumentInstanceRequirements(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + if v.InstanceType != nil { objectKey := object.Key("InstanceType") objectKey.String(*v.InstanceType) @@ -3916,6 +4194,79 @@ func awsAwsquery_serializeDocumentLoadBalancerNames(v []string, value query.Valu return nil } +func awsAwsquery_serializeDocumentLocalStorageTypes(v []types.LocalStorageType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("member") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsAwsquery_serializeDocumentMemoryGiBPerVCpuRequest(v *types.MemoryGiBPerVCpuRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + switch { + case math.IsNaN(*v.Max): + objectKey.String("NaN") + + case math.IsInf(*v.Max, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Max, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Max) + + } + } + + if v.Min != nil { + objectKey := object.Key("Min") + switch { + case math.IsNaN(*v.Min): + objectKey.String("NaN") + + case math.IsInf(*v.Min, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Min, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Min) + + } + } + + return nil +} + +func awsAwsquery_serializeDocumentMemoryMiBRequest(v *types.MemoryMiBRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsAwsquery_serializeDocumentMetricDimension(v *types.MetricDimension, value query.Value) error { object := value.Object() _ = object @@ -3982,6 +4333,23 @@ func awsAwsquery_serializeDocumentMixedInstancesPolicy(v *types.MixedInstancesPo return nil } +func awsAwsquery_serializeDocumentNetworkInterfaceCountRequest(v *types.NetworkInterfaceCountRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsAwsquery_serializeDocumentOverrides(v []types.LaunchTemplateOverrides, value query.Value) error { if len(v) == 0 { return nil @@ -4501,6 +4869,49 @@ func awsAwsquery_serializeDocumentTerminationPolicies(v []string, value query.Va return nil } +func awsAwsquery_serializeDocumentTotalLocalStorageGBRequest(v *types.TotalLocalStorageGBRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + switch { + case math.IsNaN(*v.Max): + objectKey.String("NaN") + + case math.IsInf(*v.Max, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Max, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Max) + + } + } + + if v.Min != nil { + objectKey := object.Key("Min") + switch { + case math.IsNaN(*v.Min): + objectKey.String("NaN") + + case math.IsInf(*v.Min, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Min, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Min) + + } + } + + return nil +} + func awsAwsquery_serializeDocumentValues(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -4514,6 +4925,23 @@ func awsAwsquery_serializeDocumentValues(v []string, value query.Value) error { return nil } +func awsAwsquery_serializeDocumentVCpuCountRequest(v *types.VCpuCountRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsAwsquery_serializeOpDocumentAttachInstancesInput(v *AttachInstancesInput, value query.Value) error { object := value.Object() _ = object @@ -4689,6 +5117,11 @@ func awsAwsquery_serializeOpDocumentCreateAutoScalingGroupInput(v *CreateAutoSca objectKey.Integer(*v.DesiredCapacity) } + if v.DesiredCapacityType != nil { + objectKey := object.Key("DesiredCapacityType") + objectKey.String(*v.DesiredCapacityType) + } + if v.HealthCheckGracePeriod != nil { objectKey := object.Key("HealthCheckGracePeriod") objectKey.Integer(*v.HealthCheckGracePeriod) @@ -6088,6 +6521,11 @@ func awsAwsquery_serializeOpDocumentUpdateAutoScalingGroupInput(v *UpdateAutoSca objectKey.Integer(*v.DesiredCapacity) } + if v.DesiredCapacityType != nil { + objectKey := object.Key("DesiredCapacityType") + objectKey.String(*v.DesiredCapacityType) + } + if v.HealthCheckGracePeriod != nil { objectKey := object.Key("HealthCheckGracePeriod") objectKey.Integer(*v.HealthCheckGracePeriod) diff --git a/service/autoscaling/types/enums.go b/service/autoscaling/types/enums.go index bd9984acee3..a2ce6018f8c 100644 --- a/service/autoscaling/types/enums.go +++ b/service/autoscaling/types/enums.go @@ -2,6 +2,154 @@ package types +type AcceleratorManufacturer string + +// Enum values for AcceleratorManufacturer +const ( + AcceleratorManufacturerNvidia AcceleratorManufacturer = "nvidia" + AcceleratorManufacturerAmd AcceleratorManufacturer = "amd" + AcceleratorManufacturerAmazonWebServices AcceleratorManufacturer = "amazon-web-services" + AcceleratorManufacturerXilinx AcceleratorManufacturer = "xilinx" +) + +// Values returns all known values for AcceleratorManufacturer. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AcceleratorManufacturer) Values() []AcceleratorManufacturer { + return []AcceleratorManufacturer{ + "nvidia", + "amd", + "amazon-web-services", + "xilinx", + } +} + +type AcceleratorName string + +// Enum values for AcceleratorName +const ( + AcceleratorNameA100 AcceleratorName = "a100" + AcceleratorNameV100 AcceleratorName = "v100" + AcceleratorNameK80 AcceleratorName = "k80" + AcceleratorNameT4 AcceleratorName = "t4" + AcceleratorNameM60 AcceleratorName = "m60" + AcceleratorNameRadeonProV520 AcceleratorName = "radeon-pro-v520" + AcceleratorNameVu9p AcceleratorName = "vu9p" +) + +// Values returns all known values for AcceleratorName. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AcceleratorName) Values() []AcceleratorName { + return []AcceleratorName{ + "a100", + "v100", + "k80", + "t4", + "m60", + "radeon-pro-v520", + "vu9p", + } +} + +type AcceleratorType string + +// Enum values for AcceleratorType +const ( + AcceleratorTypeGpu AcceleratorType = "gpu" + AcceleratorTypeFpga AcceleratorType = "fpga" + AcceleratorTypeInference AcceleratorType = "inference" +) + +// Values returns all known values for AcceleratorType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AcceleratorType) Values() []AcceleratorType { + return []AcceleratorType{ + "gpu", + "fpga", + "inference", + } +} + +type BareMetal string + +// Enum values for BareMetal +const ( + BareMetalIncluded BareMetal = "included" + BareMetalExcluded BareMetal = "excluded" + BareMetalRequired BareMetal = "required" +) + +// Values returns all known values for BareMetal. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (BareMetal) Values() []BareMetal { + return []BareMetal{ + "included", + "excluded", + "required", + } +} + +type BurstablePerformance string + +// Enum values for BurstablePerformance +const ( + BurstablePerformanceIncluded BurstablePerformance = "included" + BurstablePerformanceExcluded BurstablePerformance = "excluded" + BurstablePerformanceRequired BurstablePerformance = "required" +) + +// Values returns all known values for BurstablePerformance. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (BurstablePerformance) Values() []BurstablePerformance { + return []BurstablePerformance{ + "included", + "excluded", + "required", + } +} + +type CpuManufacturer string + +// Enum values for CpuManufacturer +const ( + CpuManufacturerIntel CpuManufacturer = "intel" + CpuManufacturerAmd CpuManufacturer = "amd" + CpuManufacturerAmazonWebServices CpuManufacturer = "amazon-web-services" +) + +// Values returns all known values for CpuManufacturer. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (CpuManufacturer) Values() []CpuManufacturer { + return []CpuManufacturer{ + "intel", + "amd", + "amazon-web-services", + } +} + +type InstanceGeneration string + +// Enum values for InstanceGeneration +const ( + InstanceGenerationCurrent InstanceGeneration = "current" + InstanceGenerationPrevious InstanceGeneration = "previous" +) + +// Values returns all known values for InstanceGeneration. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (InstanceGeneration) Values() []InstanceGeneration { + return []InstanceGeneration{ + "current", + "previous", + } +} + type InstanceMetadataEndpointState string // Enum values for InstanceMetadataEndpointState @@ -124,6 +272,44 @@ func (LifecycleState) Values() []LifecycleState { } } +type LocalStorage string + +// Enum values for LocalStorage +const ( + LocalStorageIncluded LocalStorage = "included" + LocalStorageExcluded LocalStorage = "excluded" + LocalStorageRequired LocalStorage = "required" +) + +// Values returns all known values for LocalStorage. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (LocalStorage) Values() []LocalStorage { + return []LocalStorage{ + "included", + "excluded", + "required", + } +} + +type LocalStorageType string + +// Enum values for LocalStorageType +const ( + LocalStorageTypeHdd LocalStorageType = "hdd" + LocalStorageTypeSsd LocalStorageType = "ssd" +) + +// Values returns all known values for LocalStorageType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (LocalStorageType) Values() []LocalStorageType { + return []LocalStorageType{ + "hdd", + "ssd", + } +} + type MetricStatistic string // Enum values for MetricStatistic diff --git a/service/autoscaling/types/types.go b/service/autoscaling/types/types.go index 371f325c652..99c5c86030f 100644 --- a/service/autoscaling/types/types.go +++ b/service/autoscaling/types/types.go @@ -7,6 +7,32 @@ import ( "time" ) +// Specifies the minimum and maximum for the AcceleratorCount object when you +// specify InstanceRequirements for an Auto Scaling group. +type AcceleratorCountRequest struct { + + // The maximum value. + Max *int32 + + // The minimum value. + Min *int32 + + noSmithyDocumentSerde +} + +// Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB object when +// you specify InstanceRequirements for an Auto Scaling group. +type AcceleratorTotalMemoryMiBRequest struct { + + // The memory maximum in MiB. + Max *int32 + + // The memory minimum in MiB. + Min *int32 + + noSmithyDocumentSerde +} + // Describes scaling activity, which is a long-running process that represents a // change to your Auto Scaling group, such as changing its size or replacing an // instance. @@ -138,6 +164,16 @@ type AutoScalingGroup struct { // Reserved. Context *string + // The unit of measurement for the value specified for desired capacity. Amazon EC2 + // Auto Scaling supports DesiredCapacityType for attribute-based instance type + // selection only. For more information, see Creating an Auto Scaling group using + // attribute-based instance type selection + // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) + // in the Amazon EC2 Auto Scaling User Guide. By default, Amazon EC2 Auto Scaling + // specifies units, which translates into number of instances. Valid values: units + // | vcpu | memory-mib + DesiredCapacityType *string + // The metrics enabled for the group. EnabledMetrics []EnabledMetric @@ -268,6 +304,19 @@ type AutoScalingInstanceDetails struct { noSmithyDocumentSerde } +// Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object when +// you specify InstanceRequirements for an Auto Scaling group. +type BaselineEbsBandwidthMbpsRequest struct { + + // The maximum value in Mbps. + Max *int32 + + // The minimum value in Mbps. + Min *int32 + + noSmithyDocumentSerde +} + // Describes a block device mapping. type BlockDeviceMapping struct { @@ -373,10 +422,10 @@ type DesiredConfiguration struct { LaunchTemplate *LaunchTemplateSpecification // Describes a mixed instances policy. A mixed instances policy contains the - // instance types Amazon EC2 Auto Scaling can launch, and other information Amazon - // EC2 Auto Scaling can use to launch instances to help you optimize your costs. - // For more information, see Auto Scaling groups with multiple instance types and - // purchase options + // instance types that Amazon EC2 Auto Scaling can launch and other information + // that Amazon EC2 Auto Scaling can use to launch instances and help optimize your + // costs. For more information, see Auto Scaling groups with multiple instance + // types and purchase options // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *MixedInstancesPolicy @@ -537,56 +586,57 @@ type FailedScheduledUpdateGroupActionRequest struct { } // Describes a filter that is used to return a more specific list of results from a -// describe operation. If you specify multiple filters, the filters are joined with -// an AND, and the request returns only results that match all of the specified -// filters. For more information, see Tagging Auto Scaling groups and instances +// describe operation. If you specify multiple filters, the filters are +// automatically logically joined with an AND, and the request returns only the +// results that match all of the specified filters. For more information, see +// Tagging Auto Scaling groups and instances // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) // in the Amazon EC2 Auto Scaling User Guide. type Filter struct { - // The name of the filter. The valid values for Name depend on the API operation - // that you are including the filter in, DescribeAutoScalingGroups or DescribeTags. + // The name of the filter. The valid values for Name depend on which API operation + // you're using with the filter (DescribeAutoScalingGroups or DescribeTags). // DescribeAutoScalingGroups Valid values for Name include the following: // // * - // tag-key - Accepts tag keys. The results will only include information about the - // Auto Scaling groups associated with these tag keys. + // tag-key - Accepts tag keys. The results only include information about the Auto + // Scaling groups associated with these tag keys. // // * tag-value - Accepts tag - // values. The results will only include information about the Auto Scaling groups + // values. The results only include information about the Auto Scaling groups // associated with these tag values. // // * tag: - Accepts the key/value combination of // the tag. Use the tag key in the filter name and the tag value as the filter - // value. The results will only include information about the Auto Scaling groups + // value. The results only include information about the Auto Scaling groups // associated with the specified key/value combination. // // DescribeTags Valid values // for Name include the following: // // * auto-scaling-group - Accepts the names of - // Auto Scaling groups. The results will only include information about the tags + // Auto Scaling groups. The results only include information about the tags // associated with these Auto Scaling groups. // // * key - Accepts tag keys. The - // results will only include information about the tags associated with these tag + // results only include information about the tags associated with these tag // keys. // - // * value - Accepts tag values. The results will only include information - // about the tags associated with these tag values. + // * value - Accepts tag values. The results only include information about + // the tags associated with these tag values. // - // * propagate-at-launch - - // Accepts a boolean value, which specifies whether tags propagate to instances at - // launch. The results will only include information about the tags associated with - // the specified boolean value. + // * propagate-at-launch - Accepts a + // Boolean value, which specifies whether tags propagate to instances at launch. + // The results only include information about the tags associated with the + // specified Boolean value. Name *string // One or more filter values. Filter values are case-sensitive. If you specify - // multiple values for a filter, the values are joined with an OR, and the request - // returns all results that match any of the specified values. For example, specify - // "tag:environment" for the filter name and "production,development" for the - // filter values to find Auto Scaling groups with the tag "environment=production" - // or "environment=development". + // multiple values for a filter, the values are automatically logically joined with + // an OR, and the request returns all results that match any of the specified + // values. For example, specify "tag:environment" for the filter name and + // "production,development" for the filter values to find Auto Scaling groups with + // the tag "environment=production" or "environment=development". Values []string noSmithyDocumentSerde @@ -795,66 +845,256 @@ type InstanceRefreshWarmPoolProgress struct { noSmithyDocumentSerde } -// Describes an instances distribution for an Auto Scaling group with a -// MixedInstancesPolicy. The instances distribution specifies the distribution of -// On-Demand Instances and Spot Instances, the maximum price to pay for Spot -// Instances, and how the Auto Scaling group allocates instance types to fulfill -// On-Demand and Spot capacities. When you modify SpotAllocationStrategy, -// SpotInstancePools, or SpotMaxPrice in the UpdateAutoScalingGroup API call, this -// update action does not deploy any changes across the running Amazon EC2 -// instances in the group. Your existing Spot Instances continue to run as long as -// the maximum price for those instances is higher than the current Spot price. -// When scale out occurs, Amazon EC2 Auto Scaling launches instances based on the -// new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances -// according to the group's termination policies. +// 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. Represents +// requirements for the types of instances that can be launched. You must specify +// VCpuCount and MemoryMiB, but all other parameters are optional. For more +// information, see Creating an Auto Scaling group using attribute-based instance +// type selection +// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) +// in the Amazon EC2 Auto Scaling User Guide. +type InstanceRequirements struct { + + // The minimum and maximum instance memory size for an instance type, in MiB. + // + // This member is required. + MemoryMiB *MemoryMiBRequest + + // The minimum and maximum number of vCPUs for an instance type. + // + // This member is required. + VCpuCount *VCpuCountRequest + + // The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web + // Services Inferentia chips) for an instance type. To exclude accelerator-enabled + // instance types, set Max to 0. Default: No minimum or maximum + AcceleratorCount *AcceleratorCountRequest + + // Indicates whether instance types must have accelerators by specific + // manufacturers. + // + // * For instance types with NVIDIA devices, specify nvidia. + // + // * For + // instance types with AMD devices, specify amd. + // + // * For instance types with Amazon + // Web Services devices, specify amazon-web-services. + // + // * For instance types with + // Xilinx devices, specify xilinx. + // + // Default: Any manufacturer + AcceleratorManufacturers []AcceleratorManufacturer + + // Lists the accelerators that must be on an instance type. + // + // * For instance types + // with NVIDIA A100 GPUs, specify a100. + // + // * For instance types with NVIDIA V100 + // GPUs, specify v100. + // + // * For instance types with NVIDIA K80 GPUs, specify k80. + // + // * + // For instance types with NVIDIA T4 GPUs, specify t4. + // + // * For instance types with + // NVIDIA M60 GPUs, specify m60. + // + // * For instance types with AMD Radeon Pro V520 + // GPUs, specify radeon-pro-v520. + // + // * For instance types with Xilinx VU9P FPGAs, + // specify vu9p. + // + // Default: Any accelerator + AcceleratorNames []AcceleratorName + + // The minimum and maximum total memory size for the accelerators on an instance + // type, in MiB. Default: No minimum or maximum + AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiBRequest + + // Lists the accelerator types that must be on an instance type. + // + // * For instance + // types with GPU accelerators, specify gpu. + // + // * For instance types with FPGA + // accelerators, specify fpga. + // + // * For instance types with inference accelerators, + // specify inference. + // + // Default: Any accelerator type + AcceleratorTypes []AcceleratorType + + // Indicates whether bare metal instance types are included, excluded, or required. + // Default: excluded + BareMetal BareMetal + + // The minimum and maximum baseline bandwidth performance for an instance type, in + // Mbps. For more information, see Amazon EBS–optimized instances + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the + // Amazon EC2 User Guide for Linux Instances. Default: No minimum or maximum + BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbpsRequest + + // Indicates whether burstable performance instance types are included, excluded, + // or required. For more information, see Burstable performance instances + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) + // in the Amazon EC2 User Guide for Linux Instances. Default: excluded + BurstablePerformance BurstablePerformance + + // Lists which specific CPU manufacturers to include. + // + // * For instance types with + // Intel CPUs, specify intel. + // + // * For instance types with AMD CPUs, specify amd. + // + // * + // For instance types with Amazon Web Services CPUs, specify + // amazon-web-services. + // + // Don't confuse the CPU hardware manufacturer with the CPU + // hardware architecture. Instances will be launched with a compatible CPU + // architecture based on the Amazon Machine Image (AMI) that you specify in your + // launch template. Default: Any manufacturer + CpuManufacturers []CpuManufacturer + + // Lists which instance types to exclude. You can use strings with one or more wild + // cards, represented by an asterisk (*). The following are examples: c5*, m5a.*, + // r*, *3*. For example, if you specify c5*, you are excluding the entire C5 + // instance family, which includes all C5a and C5n instance types. If you specify + // m5a.*, you are excluding all the M5a instance types, but not the M5n instance + // types. Default: No excluded instance types + ExcludedInstanceTypes []string + + // Indicates whether current or previous generation instance types are included. + // + // * + // For current generation instance types, specify current. The current generation + // includes EC2 instance types currently recommended for use. This typically + // includes the latest two to three generations in each instance family. For more + // information, see Instance types + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the + // Amazon EC2 User Guide for Linux Instances. + // + // * For previous generation instance + // types, specify previous. + // + // Default: Any current or previous generation + InstanceGenerations []InstanceGeneration + + // Indicates whether instance types with instance store volumes are included, + // excluded, or required. For more information, see Amazon EC2 instance store + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in + // the Amazon EC2 User Guide for Linux Instances. Default: included + LocalStorage LocalStorage + + // Indicates the type of local storage that is required. + // + // * For instance types with + // hard disk drive (HDD) storage, specify hdd. + // + // * For instance types with solid + // state drive (SSD) storage, specify sdd. + // + // Default: Any local storage type + LocalStorageTypes []LocalStorageType + + // The minimum and maximum amount of memory per vCPU for an instance type, in GiB. + // Default: No minimum or maximum + MemoryGiBPerVCpu *MemoryGiBPerVCpuRequest + + // The minimum and maximum number of network interfaces for an instance type. + // Default: No minimum or maximum + NetworkInterfaceCount *NetworkInterfaceCountRequest + + // The price protection threshold for On-Demand Instances. This is the maximum + // you’ll pay for an On-Demand Instance, expressed as a percentage higher than the + // cheapest M, C, or R instance type with your specified attributes. When Amazon + // EC2 Auto Scaling selects instance types with your attributes, we will exclude + // instance types whose price is higher than your threshold. The parameter accepts + // an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn + // off price protection, specify a high value, such as 999999. Default: 20 + OnDemandMaxPricePercentageOverLowestPrice *int32 + + // Indicates whether instance types must provide On-Demand Instance hibernation + // support. Default: false + RequireHibernateSupport *bool + + // The price protection threshold for Spot Instances. This is the maximum you’ll + // pay for a Spot Instance, expressed as a percentage higher than the cheapest M, + // C, or R instance type with your specified attributes. When Amazon EC2 Auto + // Scaling selects instance types with your attributes, we will exclude instance + // types whose price is higher than your threshold. The parameter accepts an + // integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off + // price protection, specify a high value, such as 999999. Default: 100 + SpotMaxPricePercentageOverLowestPrice *int32 + + // The minimum and maximum total local storage size for an instance type, in GB. + // Default: No minimum or maximum + TotalLocalStorageGB *TotalLocalStorageGBRequest + + noSmithyDocumentSerde +} + +// Describes an instances distribution for an Auto Scaling group. type InstancesDistribution struct { - // Indicates how to allocate instance types to fulfill On-Demand capacity. The only - // valid value is prioritized, which is also the default value. This strategy uses - // the order of instance types in the LaunchTemplateOverrides to define the launch - // priority of each instance type. The first instance type in the array is - // prioritized higher than the last. If all your On-Demand capacity cannot be - // fulfilled using your highest priority instance, then the Auto Scaling groups - // launches the remaining capacity using the second priority instance type, and so - // on. + // The order of the launch template overrides to use in fulfilling On-Demand + // capacity. If you specify lowest-price, Amazon EC2 Auto Scaling uses price to + // determine the order, launching the lowest price first. If you specify + // prioritized, Amazon EC2 Auto Scaling uses the priority that you assigned to each + // launch template override, launching the highest priority first. If all your + // On-Demand capacity cannot be fulfilled using your highest priority instance, + // then Amazon EC2 Auto Scaling launches the remaining capacity using the second + // priority instance type, and so on. Default: lowest-price for Auto Scaling groups + // that specify InstanceRequirements in the overrides and prioritized for Auto + // Scaling groups that don't. OnDemandAllocationStrategy *string // The minimum amount of the Auto Scaling group's capacity that must be fulfilled - // by On-Demand Instances. This base portion is provisioned first as your group - // scales. Defaults to 0 if not specified. If you specify weights for the instance - // types in the overrides, set the value of OnDemandBaseCapacity in terms of the - // number of capacity units, and not the number of instances. + // by On-Demand Instances. This base portion is launched first as your group + // scales. If you specify weights for the instance types in the overrides, the base + // capacity is measured in the same unit of measurement as the instance types. If + // you specify InstanceRequirements in the overrides, the base capacity is measured + // in the same unit of measurement as your group's desired capacity. Default: 0 OnDemandBaseCapacity *int32 // Controls the percentages of On-Demand Instances and Spot Instances for your // additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for - // example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults to - // 100 if not specified. If set to 100, only On-Demand Instances are provisioned. + // example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to + // 100, only On-Demand Instances are used. Default: 100 OnDemandPercentageAboveBaseCapacity *int32 // Indicates how to allocate instances across Spot Instance pools. If the // allocation strategy is lowest-price, the Auto Scaling group launches instances // using the Spot pools with the lowest price, and evenly allocates your instances - // across the number of Spot pools that you specify. Defaults to lowest-price if - // not specified. If the allocation strategy is capacity-optimized (recommended), - // the Auto Scaling group launches instances using Spot pools that are optimally - // chosen based on the available Spot capacity. Alternatively, you can use - // capacity-optimized-prioritized and set the order of instance types in the list - // of launch template overrides from highest to lowest priority (from first to last - // in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a - // best-effort basis but optimizes for capacity first. + // across the number of Spot pools that you specify. If the allocation strategy is + // capacity-optimized (recommended), the Auto Scaling group launches instances + // using Spot pools that are optimally chosen based on the available Spot capacity. + // Alternatively, you can use capacity-optimized-prioritized and set the order of + // instance types in the list of launch template overrides from highest to lowest + // priority (from first to last in the list). Amazon EC2 Auto Scaling honors the + // instance type priorities on a best-effort basis but optimizes for capacity + // first. Default: lowest-price SpotAllocationStrategy *string // The number of Spot Instance pools across which to allocate your Spot Instances. // The Spot pools are determined from the different instance types in the // overrides. Valid only when the Spot allocation strategy is lowest-price. Value - // must be in the range of 1 to 20. Defaults to 2 if not specified. + // must be in the range of 1–20. Default: 2 SpotInstancePools *int32 // The maximum price per unit hour that you are willing to pay for a Spot Instance. - // If you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the - // On-Demand price as the maximum Spot price. To remove a value that you previously - // set, include the property but specify an empty string ("") for the value. + // If you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses + // the On-Demand price as the maximum Spot price. To remove a value that you + // previously set, include the property but specify an empty string ("") for the + // value. SpotMaxPrice *string noSmithyDocumentSerde @@ -996,32 +1236,35 @@ type LaunchConfiguration struct { } // Describes a launch template and overrides. You specify these properties as part -// of a mixed instances policy. When you update the launch template or overrides in -// the UpdateAutoScalingGroup API call, existing Amazon EC2 instances continue to -// run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match -// the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates -// instances according to the group's termination policies. +// of a mixed instances policy. type LaunchTemplate struct { // The launch template to use. LaunchTemplateSpecification *LaunchTemplateSpecification // Any properties that you specify override the same properties in the launch - // template. If not provided, Amazon EC2 Auto Scaling uses the instance type - // specified in the launch template when it launches an instance. + // template. If not provided, Amazon EC2 Auto Scaling uses the instance type or + // instance type requirements specified in the launch template when it launches an + // instance. The overrides can include either one or more instance types or a set + // of instance requirements, but not both. Overrides []LaunchTemplateOverrides noSmithyDocumentSerde } -// Describes an override for a launch template. The maximum number of instance -// types that can be associated with an Auto Scaling group is 40. The maximum -// number of distinct launch templates you can define for an Auto Scaling group is -// 20. For more information about configuring overrides, see Configuring overrides +// Describes an override for a launch template. For more information, see +// Configuring overrides // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-override-options.html) // in the Amazon EC2 Auto Scaling User Guide. type LaunchTemplateOverrides struct { + // The instance requirements. When you specify instance requirements, Amazon EC2 + // Auto Scaling finds instance types that satisfy your requirements, and then uses + // your On-Demand and Spot allocation strategies to launch instances from these + // instance types, in the same way as when you specify a list of specific instance + // types. + InstanceRequirements *InstanceRequirements + // The instance type, such as m3.xlarge. You must use an instance type that is // supported in your requested Region and Availability Zones. For more information, // see Instance types @@ -1029,28 +1272,28 @@ type LaunchTemplateOverrides struct { // Amazon Elastic Compute Cloud User Guide. InstanceType *string - // Provides the launch template to be used when launching the instance type. For - // example, some instance types might require a launch template with a different - // AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's - // defined for your mixed instances policy. For more information, see Specifying a - // different launch template for an instance type + // Provides the launch template to be used when launching the instance type + // specified in InstanceType. For example, some instance types might require a + // launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling + // uses the launch template that's defined for your mixed instances policy. For + // more information, see Specifying a different launch template for an instance + // type // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-template-overrides.html) // in the Amazon EC2 Auto Scaling User Guide. LaunchTemplateSpecification *LaunchTemplateSpecification - // The number of capacity units provided by the specified instance type in terms of - // virtual CPUs, memory, storage, throughput, or other relative performance - // characteristic. When a Spot or On-Demand Instance is provisioned, the capacity - // units count toward the desired capacity. Amazon EC2 Auto Scaling provisions - // instances until the desired capacity is totally fulfilled, even if this results - // in an overage. For example, if there are 2 units remaining to fulfill capacity, - // and Amazon EC2 Auto Scaling can only provision an instance with a - // WeightedCapacity of 5 units, the instance is provisioned, and the desired - // capacity is exceeded by 3 units. For more information, see Instance weighting - // for Amazon EC2 Auto Scaling + // The number of capacity units provided by the instance type specified in + // InstanceType in terms of virtual CPUs, memory, storage, throughput, or other + // relative performance characteristic. When a Spot or On-Demand Instance is + // launched, the capacity units count toward the desired capacity. Amazon EC2 Auto + // Scaling launches instances until the desired capacity is totally fulfilled, even + // if this results in an overage. For example, if there are two units remaining to + // fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a + // WeightedCapacity of five units, the instance is launched, and the desired + // capacity is exceeded by three units. For more information, see Instance + // weighting for Amazon EC2 Auto Scaling // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) - // in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1 to - // 999. + // in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999. WeightedCapacity *string noSmithyDocumentSerde @@ -1304,6 +1547,34 @@ type LoadForecast struct { noSmithyDocumentSerde } +// Specifies the minimum and maximum for the MemoryGiBPerVCpu object when you +// specify InstanceRequirements for an Auto Scaling group. +type MemoryGiBPerVCpuRequest struct { + + // The memory maximum in GiB. + Max *float64 + + // The memory minimum in GiB. + Min *float64 + + noSmithyDocumentSerde +} + +// Specifies the minimum and maximum for the MemoryMiB object when you specify +// InstanceRequirements for an Auto Scaling group. +type MemoryMiBRequest struct { + + // The memory minimum in MiB. + // + // This member is required. + Min *int32 + + // The memory maximum in MiB. + Max *int32 + + noSmithyDocumentSerde +} + // Describes a metric. type MetricCollectionType struct { @@ -1386,26 +1657,38 @@ type MetricGranularityType struct { } // Describes a mixed instances policy. A mixed instances policy contains the -// instance types Amazon EC2 Auto Scaling can launch, and other information Amazon -// EC2 Auto Scaling can use to launch instances to help you optimize your costs. -// For more information, see Auto Scaling groups with multiple instance types and -// purchase options +// instance types that Amazon EC2 Auto Scaling can launch and other information +// that Amazon EC2 Auto Scaling can use to launch instances and help optimize your +// costs. For more information, see Auto Scaling groups with multiple instance +// types and purchase options // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. type MixedInstancesPolicy struct { - // Specifies the instances distribution. If not provided, the value for each - // property in InstancesDistribution uses a default value. + // Specifies the instances distribution. InstancesDistribution *InstancesDistribution // Specifies the launch template to use and the instance types (overrides) that are - // used to provision EC2 instances to fulfill On-Demand and Spot capacities. - // Required when creating a mixed instances policy. + // used to launch EC2 instances to fulfill On-Demand and Spot capacities. Required + // when creating a mixed instances policy. LaunchTemplate *LaunchTemplate noSmithyDocumentSerde } +// Specifies the minimum and maximum for the NetworkInterfaceCount object when you +// specify InstanceRequirements for an Auto Scaling group. +type NetworkInterfaceCountRequest struct { + + // The maximum number of network interfaces. + Max *int32 + + // The minimum number of network interfaces. + Min *int32 + + noSmithyDocumentSerde +} + // Describes a notification. type NotificationConfiguration struct { @@ -2104,6 +2387,34 @@ type TargetTrackingConfiguration struct { noSmithyDocumentSerde } +// Specifies the minimum and maximum for the TotalLocalStorageGB object when you +// specify InstanceRequirements for an Auto Scaling group. +type TotalLocalStorageGBRequest struct { + + // The storage maximum in GB. + Max *float64 + + // The storage minimum in GB. + Min *float64 + + noSmithyDocumentSerde +} + +// Specifies the minimum and maximum for the VCpuCount object when you specify +// InstanceRequirements for an Auto Scaling group. +type VCpuCountRequest struct { + + // The minimum number of vCPUs. + // + // This member is required. + Min *int32 + + // The maximum number of vCPUs. + Max *int32 + + noSmithyDocumentSerde +} + // Describes a warm pool configuration. type WarmPoolConfiguration struct { diff --git a/service/autoscaling/validators.go b/service/autoscaling/validators.go index 605f47e56e0..d67bf645cce 100644 --- a/service/autoscaling/validators.go +++ b/service/autoscaling/validators.go @@ -1172,6 +1172,83 @@ func validateCustomizedMetricSpecification(v *types.CustomizedMetricSpecificatio } } +func validateDesiredConfiguration(v *types.DesiredConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DesiredConfiguration"} + if v.MixedInstancesPolicy != nil { + if err := validateMixedInstancesPolicy(v.MixedInstancesPolicy); err != nil { + invalidParams.AddNested("MixedInstancesPolicy", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateInstanceRequirements(v *types.InstanceRequirements) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "InstanceRequirements"} + if v.VCpuCount == nil { + invalidParams.Add(smithy.NewErrParamRequired("VCpuCount")) + } else if v.VCpuCount != nil { + if err := validateVCpuCountRequest(v.VCpuCount); err != nil { + invalidParams.AddNested("VCpuCount", err.(smithy.InvalidParamsError)) + } + } + if v.MemoryMiB == nil { + invalidParams.Add(smithy.NewErrParamRequired("MemoryMiB")) + } else if v.MemoryMiB != nil { + if err := validateMemoryMiBRequest(v.MemoryMiB); err != nil { + invalidParams.AddNested("MemoryMiB", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateLaunchTemplate(v *types.LaunchTemplate) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "LaunchTemplate"} + if v.Overrides != nil { + if err := validateOverrides(v.Overrides); err != nil { + invalidParams.AddNested("Overrides", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateLaunchTemplateOverrides(v *types.LaunchTemplateOverrides) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "LaunchTemplateOverrides"} + if v.InstanceRequirements != nil { + if err := validateInstanceRequirements(v.InstanceRequirements); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateLifecycleHookSpecification(v *types.LifecycleHookSpecification) error { if v == nil { return nil @@ -1207,6 +1284,21 @@ func validateLifecycleHookSpecifications(v []types.LifecycleHookSpecification) e } } +func validateMemoryMiBRequest(v *types.MemoryMiBRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "MemoryMiBRequest"} + if v.Min == nil { + invalidParams.Add(smithy.NewErrParamRequired("Min")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateMetricDimension(v *types.MetricDimension) error { if v == nil { return nil @@ -1242,6 +1334,40 @@ func validateMetricDimensions(v []types.MetricDimension) error { } } +func validateMixedInstancesPolicy(v *types.MixedInstancesPolicy) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "MixedInstancesPolicy"} + if v.LaunchTemplate != nil { + if err := validateLaunchTemplate(v.LaunchTemplate); err != nil { + invalidParams.AddNested("LaunchTemplate", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOverrides(v []types.LaunchTemplateOverrides) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "Overrides"} + for i := range v { + if err := validateLaunchTemplateOverrides(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validatePredefinedMetricSpecification(v *types.PredefinedMetricSpecification) error { if v == nil { return nil @@ -1489,6 +1615,21 @@ func validateTargetTrackingConfiguration(v *types.TargetTrackingConfiguration) e } } +func validateVCpuCountRequest(v *types.VCpuCountRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "VCpuCountRequest"} + if v.Min == nil { + invalidParams.Add(smithy.NewErrParamRequired("Min")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpAttachInstancesInput(v *AttachInstancesInput) error { if v == nil { return nil @@ -1624,6 +1765,11 @@ func validateOpCreateAutoScalingGroupInput(v *CreateAutoScalingGroupInput) error if v.AutoScalingGroupName == nil { invalidParams.Add(smithy.NewErrParamRequired("AutoScalingGroupName")) } + if v.MixedInstancesPolicy != nil { + if err := validateMixedInstancesPolicy(v.MixedInstancesPolicy); err != nil { + invalidParams.AddNested("MixedInstancesPolicy", err.(smithy.InvalidParamsError)) + } + } if v.MinSize == nil { invalidParams.Add(smithy.NewErrParamRequired("MinSize")) } @@ -2256,6 +2402,11 @@ func validateOpStartInstanceRefreshInput(v *StartInstanceRefreshInput) error { if v.AutoScalingGroupName == nil { invalidParams.Add(smithy.NewErrParamRequired("AutoScalingGroupName")) } + if v.DesiredConfiguration != nil { + if err := validateDesiredConfiguration(v.DesiredConfiguration); err != nil { + invalidParams.AddNested("DesiredConfiguration", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -2304,6 +2455,11 @@ func validateOpUpdateAutoScalingGroupInput(v *UpdateAutoScalingGroupInput) error if v.AutoScalingGroupName == nil { invalidParams.Add(smithy.NewErrParamRequired("AutoScalingGroupName")) } + if v.MixedInstancesPolicy != nil { + if err := validateMixedInstancesPolicy(v.MixedInstancesPolicy); err != nil { + invalidParams.AddNested("MixedInstancesPolicy", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/chime/deserializers.go b/service/chime/deserializers.go index 9fef5a5e925..48898805e99 100644 --- a/service/chime/deserializers.go +++ b/service/chime/deserializers.go @@ -37234,6 +37234,15 @@ func awsRestjson1_deserializeDocumentVoiceConnector(v **types.VoiceConnector, va sv.UpdatedTimestamp = ptr.Time(t) } + case "VoiceConnectorArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.VoiceConnectorArn = ptr.String(jtv) + } + case "VoiceConnectorId": if value != nil { jtv, ok := value.(string) @@ -37309,6 +37318,15 @@ func awsRestjson1_deserializeDocumentVoiceConnectorGroup(v **types.VoiceConnecto sv.UpdatedTimestamp = ptr.Time(t) } + case "VoiceConnectorGroupArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.VoiceConnectorGroupArn = ptr.String(jtv) + } + case "VoiceConnectorGroupId": if value != nil { jtv, ok := value.(string) diff --git a/service/chime/types/types.go b/service/chime/types/types.go index 9fd3af641f8..d01d212eb99 100644 --- a/service/chime/types/types.go +++ b/service/chime/types/types.go @@ -1759,6 +1759,9 @@ type VoiceConnector struct { // The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format. UpdatedTimestamp *time.Time + // The ARN of the specified Amazon Chime Voice Connector. + VoiceConnectorArn *string + // The Amazon Chime Voice Connector ID. VoiceConnectorId *string @@ -1780,6 +1783,9 @@ type VoiceConnectorGroup struct { // The updated Amazon Chime Voice Connector group time stamp, in ISO 8601 format. UpdatedTimestamp *time.Time + // The ARN of the specified Amazon Chime Voice Connector group. + VoiceConnectorGroupArn *string + // The Amazon Chime Voice Connector group ID. VoiceConnectorGroupId *string diff --git a/service/chimesdkidentity/api_op_DeregisterAppInstanceUserEndpoint.go b/service/chimesdkidentity/api_op_DeregisterAppInstanceUserEndpoint.go new file mode 100644 index 00000000000..bed9a67a906 --- /dev/null +++ b/service/chimesdkidentity/api_op_DeregisterAppInstanceUserEndpoint.go @@ -0,0 +1,121 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deregisters an AppInstanceUserEndpoint. +func (c *Client) DeregisterAppInstanceUserEndpoint(ctx context.Context, params *DeregisterAppInstanceUserEndpointInput, optFns ...func(*Options)) (*DeregisterAppInstanceUserEndpointOutput, error) { + if params == nil { + params = &DeregisterAppInstanceUserEndpointInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeregisterAppInstanceUserEndpoint", params, optFns, c.addOperationDeregisterAppInstanceUserEndpointMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeregisterAppInstanceUserEndpointOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeregisterAppInstanceUserEndpointInput struct { + + // The ARN of the AppInstanceUser. + // + // This member is required. + AppInstanceUserArn *string + + // The unique identifier of the AppInstanceUserEndpoint. + // + // This member is required. + EndpointId *string + + noSmithyDocumentSerde +} + +type DeregisterAppInstanceUserEndpointOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeregisterAppInstanceUserEndpointMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDeregisterAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDeregisterAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeregisterAppInstanceUserEndpointValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeregisterAppInstanceUserEndpoint(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeregisterAppInstanceUserEndpoint(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "DeregisterAppInstanceUserEndpoint", + } +} diff --git a/service/chimesdkidentity/api_op_DescribeAppInstanceUserEndpoint.go b/service/chimesdkidentity/api_op_DescribeAppInstanceUserEndpoint.go new file mode 100644 index 00000000000..638346392cc --- /dev/null +++ b/service/chimesdkidentity/api_op_DescribeAppInstanceUserEndpoint.go @@ -0,0 +1,128 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkidentity/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns the full details of an AppInstanceUserEndpoint. +func (c *Client) DescribeAppInstanceUserEndpoint(ctx context.Context, params *DescribeAppInstanceUserEndpointInput, optFns ...func(*Options)) (*DescribeAppInstanceUserEndpointOutput, error) { + if params == nil { + params = &DescribeAppInstanceUserEndpointInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeAppInstanceUserEndpoint", params, optFns, c.addOperationDescribeAppInstanceUserEndpointMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeAppInstanceUserEndpointOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeAppInstanceUserEndpointInput struct { + + // The ARN of the AppInstanceUser. + // + // This member is required. + AppInstanceUserArn *string + + // The unique identifier of the AppInstanceUserEndpoint. + // + // This member is required. + EndpointId *string + + noSmithyDocumentSerde +} + +type DescribeAppInstanceUserEndpointOutput struct { + + // The full details of an AppInstanceUserEndpoint: the AppInstanceUserArn, ID, + // name, type, resource ARN, attributes, allow messages, state, and created and + // last updated timestamps. All timestamps use epoch milliseconds. + AppInstanceUserEndpoint *types.AppInstanceUserEndpoint + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeAppInstanceUserEndpointMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribeAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribeAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeAppInstanceUserEndpointValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeAppInstanceUserEndpoint(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeAppInstanceUserEndpoint(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "DescribeAppInstanceUserEndpoint", + } +} diff --git a/service/chimesdkidentity/api_op_ListAppInstanceUserEndpoints.go b/service/chimesdkidentity/api_op_ListAppInstanceUserEndpoints.go new file mode 100644 index 00000000000..62e91b74bc8 --- /dev/null +++ b/service/chimesdkidentity/api_op_ListAppInstanceUserEndpoints.go @@ -0,0 +1,222 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkidentity/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists all the AppInstanceUserEndpoints created under a single AppInstanceUser. +func (c *Client) ListAppInstanceUserEndpoints(ctx context.Context, params *ListAppInstanceUserEndpointsInput, optFns ...func(*Options)) (*ListAppInstanceUserEndpointsOutput, error) { + if params == nil { + params = &ListAppInstanceUserEndpointsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListAppInstanceUserEndpoints", params, optFns, c.addOperationListAppInstanceUserEndpointsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListAppInstanceUserEndpointsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListAppInstanceUserEndpointsInput struct { + + // The ARN of the AppInstanceUser. + // + // This member is required. + AppInstanceUserArn *string + + // The maximum number of endpoints that you want to return. + MaxResults *int32 + + // The token passed by previous API calls until all requested endpoints are + // returned. + NextToken *string + + noSmithyDocumentSerde +} + +type ListAppInstanceUserEndpointsOutput struct { + + // The information for each requested AppInstanceUserEndpoint. + AppInstanceUserEndpoints []types.AppInstanceUserEndpointSummary + + // The token passed by previous API calls until all requested endpoints are + // returned. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListAppInstanceUserEndpointsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpListAppInstanceUserEndpoints{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListAppInstanceUserEndpoints{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListAppInstanceUserEndpointsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListAppInstanceUserEndpoints(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListAppInstanceUserEndpointsAPIClient is a client that implements the +// ListAppInstanceUserEndpoints operation. +type ListAppInstanceUserEndpointsAPIClient interface { + ListAppInstanceUserEndpoints(context.Context, *ListAppInstanceUserEndpointsInput, ...func(*Options)) (*ListAppInstanceUserEndpointsOutput, error) +} + +var _ ListAppInstanceUserEndpointsAPIClient = (*Client)(nil) + +// ListAppInstanceUserEndpointsPaginatorOptions is the paginator options for +// ListAppInstanceUserEndpoints +type ListAppInstanceUserEndpointsPaginatorOptions struct { + // The maximum number of endpoints that you want to return. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListAppInstanceUserEndpointsPaginator is a paginator for +// ListAppInstanceUserEndpoints +type ListAppInstanceUserEndpointsPaginator struct { + options ListAppInstanceUserEndpointsPaginatorOptions + client ListAppInstanceUserEndpointsAPIClient + params *ListAppInstanceUserEndpointsInput + nextToken *string + firstPage bool +} + +// NewListAppInstanceUserEndpointsPaginator returns a new +// ListAppInstanceUserEndpointsPaginator +func NewListAppInstanceUserEndpointsPaginator(client ListAppInstanceUserEndpointsAPIClient, params *ListAppInstanceUserEndpointsInput, optFns ...func(*ListAppInstanceUserEndpointsPaginatorOptions)) *ListAppInstanceUserEndpointsPaginator { + if params == nil { + params = &ListAppInstanceUserEndpointsInput{} + } + + options := ListAppInstanceUserEndpointsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListAppInstanceUserEndpointsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListAppInstanceUserEndpointsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListAppInstanceUserEndpoints page. +func (p *ListAppInstanceUserEndpointsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListAppInstanceUserEndpointsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListAppInstanceUserEndpoints(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListAppInstanceUserEndpoints(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "ListAppInstanceUserEndpoints", + } +} diff --git a/service/chimesdkidentity/api_op_ListTagsForResource.go b/service/chimesdkidentity/api_op_ListTagsForResource.go new file mode 100644 index 00000000000..66953b1fec4 --- /dev/null +++ b/service/chimesdkidentity/api_op_ListTagsForResource.go @@ -0,0 +1,121 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkidentity/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists the tags applied to an Amazon Chime SDK identity resource. +func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForResourceInput, optFns ...func(*Options)) (*ListTagsForResourceOutput, error) { + if params == nil { + params = &ListTagsForResourceInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListTagsForResource", params, optFns, c.addOperationListTagsForResourceMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListTagsForResourceOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListTagsForResourceInput struct { + + // The ARN of the resource. + // + // This member is required. + ResourceARN *string + + noSmithyDocumentSerde +} + +type ListTagsForResourceOutput struct { + + // The tag key-value pairs. + Tags []types.Tag + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpListTagsForResource{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListTagsForResource{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListTagsForResourceValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListTagsForResource(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opListTagsForResource(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "ListTagsForResource", + } +} diff --git a/service/chimesdkidentity/api_op_RegisterAppInstanceUserEndpoint.go b/service/chimesdkidentity/api_op_RegisterAppInstanceUserEndpoint.go new file mode 100644 index 00000000000..6950ccf7d8a --- /dev/null +++ b/service/chimesdkidentity/api_op_RegisterAppInstanceUserEndpoint.go @@ -0,0 +1,203 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkidentity/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Registers an endpoint under an Amazon Chime AppInstanceUser. The endpoint +// receives messages for a user. For push notifications, the endpoint is a mobile +// device used to receive mobile push notifications for a user. +func (c *Client) RegisterAppInstanceUserEndpoint(ctx context.Context, params *RegisterAppInstanceUserEndpointInput, optFns ...func(*Options)) (*RegisterAppInstanceUserEndpointOutput, error) { + if params == nil { + params = &RegisterAppInstanceUserEndpointInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "RegisterAppInstanceUserEndpoint", params, optFns, c.addOperationRegisterAppInstanceUserEndpointMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*RegisterAppInstanceUserEndpointOutput) + out.ResultMetadata = metadata + return out, nil +} + +type RegisterAppInstanceUserEndpointInput struct { + + // The ARN of the AppInstanceUser. + // + // This member is required. + AppInstanceUserArn *string + + // The idempotency token for each client request. + // + // This member is required. + ClientRequestToken *string + + // The attributes of an Endpoint. + // + // This member is required. + EndpointAttributes *types.EndpointAttributes + + // The ARN of the resource to which the endpoint belongs. + // + // This member is required. + ResourceArn *string + + // The type of the AppInstanceUserEndpoint. Supported types: + // + // * APNS: The mobile + // notification service for an Apple device. + // + // * APNS_SANDBOX: The sandbox + // environment of the mobile notification service for an Apple device. + // + // * GCM: The + // mobile notification service for an Android device. + // + // Populate the ResourceArn + // value of each type as PinpointAppArn. + // + // This member is required. + Type types.AppInstanceUserEndpointType + + // Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive + // messages. ALL indicates the endpoint receives all messages. NONE indicates the + // endpoint receives no messages. + AllowMessages types.AllowMessages + + // The name of the AppInstanceUserEndpoint. + Name *string + + noSmithyDocumentSerde +} + +type RegisterAppInstanceUserEndpointOutput struct { + + // The ARN of the AppInstanceUser. + AppInstanceUserArn *string + + // The unique identifier of the AppInstanceUserEndpoint. + EndpointId *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationRegisterAppInstanceUserEndpointMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpRegisterAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpRegisterAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addIdempotencyToken_opRegisterAppInstanceUserEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addOpRegisterAppInstanceUserEndpointValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opRegisterAppInstanceUserEndpoint(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +type idempotencyToken_initializeOpRegisterAppInstanceUserEndpoint struct { + tokenProvider IdempotencyTokenProvider +} + +func (*idempotencyToken_initializeOpRegisterAppInstanceUserEndpoint) ID() string { + return "OperationIdempotencyTokenAutoFill" +} + +func (m *idempotencyToken_initializeOpRegisterAppInstanceUserEndpoint) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + if m.tokenProvider == nil { + return next.HandleInitialize(ctx, in) + } + + input, ok := in.Parameters.(*RegisterAppInstanceUserEndpointInput) + if !ok { + return out, metadata, fmt.Errorf("expected middleware input to be of type *RegisterAppInstanceUserEndpointInput ") + } + + if input.ClientRequestToken == nil { + t, err := m.tokenProvider.GetIdempotencyToken() + if err != nil { + return out, metadata, err + } + input.ClientRequestToken = &t + } + return next.HandleInitialize(ctx, in) +} +func addIdempotencyToken_opRegisterAppInstanceUserEndpointMiddleware(stack *middleware.Stack, cfg Options) error { + return stack.Initialize.Add(&idempotencyToken_initializeOpRegisterAppInstanceUserEndpoint{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) +} + +func newServiceMetadataMiddleware_opRegisterAppInstanceUserEndpoint(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "RegisterAppInstanceUserEndpoint", + } +} diff --git a/service/chimesdkidentity/api_op_TagResource.go b/service/chimesdkidentity/api_op_TagResource.go new file mode 100644 index 00000000000..f40326dc814 --- /dev/null +++ b/service/chimesdkidentity/api_op_TagResource.go @@ -0,0 +1,122 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkidentity/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Applies the specified tags to the specified Amazon Chime SDK identity resource. +func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error) { + if params == nil { + params = &TagResourceInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "TagResource", params, optFns, c.addOperationTagResourceMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*TagResourceOutput) + out.ResultMetadata = metadata + return out, nil +} + +type TagResourceInput struct { + + // The resource ARN. + // + // This member is required. + ResourceARN *string + + // The tag key-value pairs. + // + // This member is required. + Tags []types.Tag + + noSmithyDocumentSerde +} + +type TagResourceOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpTagResource{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpTagResource{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpTagResourceValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opTagResource(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opTagResource(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "TagResource", + } +} diff --git a/service/chimesdkidentity/api_op_UntagResource.go b/service/chimesdkidentity/api_op_UntagResource.go new file mode 100644 index 00000000000..e767024e966 --- /dev/null +++ b/service/chimesdkidentity/api_op_UntagResource.go @@ -0,0 +1,122 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Removes the specified tags from the specified Amazon Chime SDK identity +// resource. +func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error) { + if params == nil { + params = &UntagResourceInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UntagResource", params, optFns, c.addOperationUntagResourceMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UntagResourceOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UntagResourceInput struct { + + // The resource ARN. + // + // This member is required. + ResourceARN *string + + // The tag keys. + // + // This member is required. + TagKeys []string + + noSmithyDocumentSerde +} + +type UntagResourceOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpUntagResource{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUntagResource{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUntagResourceValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUntagResource(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUntagResource(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "UntagResource", + } +} diff --git a/service/chimesdkidentity/api_op_UpdateAppInstanceUserEndpoint.go b/service/chimesdkidentity/api_op_UpdateAppInstanceUserEndpoint.go new file mode 100644 index 00000000000..b445c2e445c --- /dev/null +++ b/service/chimesdkidentity/api_op_UpdateAppInstanceUserEndpoint.go @@ -0,0 +1,138 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkidentity + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkidentity/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates the details of an AppInstanceUserEndpoint. You can update the name and +// AllowMessage values. +func (c *Client) UpdateAppInstanceUserEndpoint(ctx context.Context, params *UpdateAppInstanceUserEndpointInput, optFns ...func(*Options)) (*UpdateAppInstanceUserEndpointOutput, error) { + if params == nil { + params = &UpdateAppInstanceUserEndpointInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateAppInstanceUserEndpoint", params, optFns, c.addOperationUpdateAppInstanceUserEndpointMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateAppInstanceUserEndpointOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateAppInstanceUserEndpointInput struct { + + // The ARN of the AppInstanceUser. + // + // This member is required. + AppInstanceUserArn *string + + // The unique identifier of the AppInstanceUserEndpoint. + // + // This member is required. + EndpointId *string + + // Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive + // messages. ALL indicates the endpoint will receive all messages. NONE indicates + // the endpoint will receive no messages. + AllowMessages types.AllowMessages + + // The name of the AppInstanceUserEndpoint. + Name *string + + noSmithyDocumentSerde +} + +type UpdateAppInstanceUserEndpointOutput struct { + + // The ARN of the AppInstanceUser. + AppInstanceUserArn *string + + // The unique identifier of the AppInstanceUserEndpoint. + EndpointId *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateAppInstanceUserEndpointMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateAppInstanceUserEndpoint{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateAppInstanceUserEndpointValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateAppInstanceUserEndpoint(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateAppInstanceUserEndpoint(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "UpdateAppInstanceUserEndpoint", + } +} diff --git a/service/chimesdkidentity/deserializers.go b/service/chimesdkidentity/deserializers.go index d0c531011f6..3027340d423 100644 --- a/service/chimesdkidentity/deserializers.go +++ b/service/chimesdkidentity/deserializers.go @@ -868,6 +868,110 @@ func awsRestjson1_deserializeOpErrorDeleteAppInstanceUser(response *smithyhttp.R } } +type awsRestjson1_deserializeOpDeregisterAppInstanceUserEndpoint struct { +} + +func (*awsRestjson1_deserializeOpDeregisterAppInstanceUserEndpoint) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDeregisterAppInstanceUserEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDeregisterAppInstanceUserEndpoint(response, &metadata) + } + output := &DeregisterAppInstanceUserEndpointOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDeregisterAppInstanceUserEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestjson1_deserializeOpDescribeAppInstance struct { } @@ -1354,14 +1458,14 @@ func awsRestjson1_deserializeOpDocumentDescribeAppInstanceUserOutput(v **Describ return nil } -type awsRestjson1_deserializeOpGetAppInstanceRetentionSettings struct { +type awsRestjson1_deserializeOpDescribeAppInstanceUserEndpoint struct { } -func (*awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) ID() string { +func (*awsRestjson1_deserializeOpDescribeAppInstanceUserEndpoint) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpDescribeAppInstanceUserEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1375,9 +1479,9 @@ func (m *awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) HandleDeseri } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorGetAppInstanceRetentionSettings(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorDescribeAppInstanceUserEndpoint(response, &metadata) } - output := &GetAppInstanceRetentionSettingsOutput{} + output := &DescribeAppInstanceUserEndpointOutput{} out.Result = output var buff [1024]byte @@ -1398,7 +1502,7 @@ func (m *awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) HandleDeseri return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentGetAppInstanceRetentionSettingsOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentDescribeAppInstanceUserEndpointOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1411,7 +1515,7 @@ func (m *awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) HandleDeseri return out, metadata, err } -func awsRestjson1_deserializeOpErrorGetAppInstanceRetentionSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorDescribeAppInstanceUserEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1480,7 +1584,7 @@ func awsRestjson1_deserializeOpErrorGetAppInstanceRetentionSettings(response *sm } } -func awsRestjson1_deserializeOpDocumentGetAppInstanceRetentionSettingsOutput(v **GetAppInstanceRetentionSettingsOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentDescribeAppInstanceUserEndpointOutput(v **DescribeAppInstanceUserEndpointOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1493,36 +1597,20 @@ func awsRestjson1_deserializeOpDocumentGetAppInstanceRetentionSettingsOutput(v * return fmt.Errorf("unexpected JSON type %v", value) } - var sv *GetAppInstanceRetentionSettingsOutput + var sv *DescribeAppInstanceUserEndpointOutput if *v == nil { - sv = &GetAppInstanceRetentionSettingsOutput{} + sv = &DescribeAppInstanceUserEndpointOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstanceRetentionSettings": - if err := awsRestjson1_deserializeDocumentAppInstanceRetentionSettings(&sv.AppInstanceRetentionSettings, value); err != nil { + case "AppInstanceUserEndpoint": + if err := awsRestjson1_deserializeDocumentAppInstanceUserEndpoint(&sv.AppInstanceUserEndpoint, value); err != nil { return err } - case "InitiateDeletionTimestamp": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.InitiateDeletionTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - - } - } - default: _, _ = key, value @@ -1532,14 +1620,14 @@ func awsRestjson1_deserializeOpDocumentGetAppInstanceRetentionSettingsOutput(v * return nil } -type awsRestjson1_deserializeOpListAppInstanceAdmins struct { +type awsRestjson1_deserializeOpGetAppInstanceRetentionSettings struct { } -func (*awsRestjson1_deserializeOpListAppInstanceAdmins) ID() string { +func (*awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListAppInstanceAdmins) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetAppInstanceRetentionSettings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1553,9 +1641,9 @@ func (m *awsRestjson1_deserializeOpListAppInstanceAdmins) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListAppInstanceAdmins(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetAppInstanceRetentionSettings(response, &metadata) } - output := &ListAppInstanceAdminsOutput{} + output := &GetAppInstanceRetentionSettingsOutput{} out.Result = output var buff [1024]byte @@ -1576,7 +1664,7 @@ func (m *awsRestjson1_deserializeOpListAppInstanceAdmins) HandleDeserialize(ctx return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListAppInstanceAdminsOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetAppInstanceRetentionSettingsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1589,7 +1677,7 @@ func (m *awsRestjson1_deserializeOpListAppInstanceAdmins) HandleDeserialize(ctx return out, metadata, err } -func awsRestjson1_deserializeOpErrorListAppInstanceAdmins(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetAppInstanceRetentionSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1636,9 +1724,6 @@ func awsRestjson1_deserializeOpErrorListAppInstanceAdmins(response *smithyhttp.R case strings.EqualFold("ForbiddenException", errorCode): return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) - case strings.EqualFold("ResourceLimitExceededException", errorCode): - return awsRestjson1_deserializeErrorResourceLimitExceededException(response, errorBody) - case strings.EqualFold("ServiceFailureException", errorCode): return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) @@ -1661,7 +1746,7 @@ func awsRestjson1_deserializeOpErrorListAppInstanceAdmins(response *smithyhttp.R } } -func awsRestjson1_deserializeOpDocumentListAppInstanceAdminsOutput(v **ListAppInstanceAdminsOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetAppInstanceRetentionSettingsOutput(v **GetAppInstanceRetentionSettingsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1674,36 +1759,34 @@ func awsRestjson1_deserializeOpDocumentListAppInstanceAdminsOutput(v **ListAppIn return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListAppInstanceAdminsOutput + var sv *GetAppInstanceRetentionSettingsOutput if *v == nil { - sv = &ListAppInstanceAdminsOutput{} + sv = &GetAppInstanceRetentionSettingsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstanceAdmins": - if err := awsRestjson1_deserializeDocumentAppInstanceAdminList(&sv.AppInstanceAdmins, value); err != nil { + case "AppInstanceRetentionSettings": + if err := awsRestjson1_deserializeDocumentAppInstanceRetentionSettings(&sv.AppInstanceRetentionSettings, value); err != nil { return err } - case "AppInstanceArn": + case "InitiateDeletionTimestamp": if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) - } - sv.AppInstanceArn = ptr.String(jtv) - } + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.InitiateDeletionTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - case "NextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) } - sv.NextToken = ptr.String(jtv) } default: @@ -1715,14 +1798,14 @@ func awsRestjson1_deserializeOpDocumentListAppInstanceAdminsOutput(v **ListAppIn return nil } -type awsRestjson1_deserializeOpListAppInstances struct { +type awsRestjson1_deserializeOpListAppInstanceAdmins struct { } -func (*awsRestjson1_deserializeOpListAppInstances) ID() string { +func (*awsRestjson1_deserializeOpListAppInstanceAdmins) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListAppInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListAppInstanceAdmins) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1736,9 +1819,9 @@ func (m *awsRestjson1_deserializeOpListAppInstances) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListAppInstances(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListAppInstanceAdmins(response, &metadata) } - output := &ListAppInstancesOutput{} + output := &ListAppInstanceAdminsOutput{} out.Result = output var buff [1024]byte @@ -1759,7 +1842,7 @@ func (m *awsRestjson1_deserializeOpListAppInstances) HandleDeserialize(ctx conte return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListAppInstancesOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListAppInstanceAdminsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1772,7 +1855,7 @@ func (m *awsRestjson1_deserializeOpListAppInstances) HandleDeserialize(ctx conte return out, metadata, err } -func awsRestjson1_deserializeOpErrorListAppInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListAppInstanceAdmins(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1819,6 +1902,9 @@ func awsRestjson1_deserializeOpErrorListAppInstances(response *smithyhttp.Respon case strings.EqualFold("ForbiddenException", errorCode): return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + case strings.EqualFold("ResourceLimitExceededException", errorCode): + return awsRestjson1_deserializeErrorResourceLimitExceededException(response, errorBody) + case strings.EqualFold("ServiceFailureException", errorCode): return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) @@ -1841,7 +1927,7 @@ func awsRestjson1_deserializeOpErrorListAppInstances(response *smithyhttp.Respon } } -func awsRestjson1_deserializeOpDocumentListAppInstancesOutput(v **ListAppInstancesOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListAppInstanceAdminsOutput(v **ListAppInstanceAdminsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1854,20 +1940,29 @@ func awsRestjson1_deserializeOpDocumentListAppInstancesOutput(v **ListAppInstanc return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListAppInstancesOutput + var sv *ListAppInstanceAdminsOutput if *v == nil { - sv = &ListAppInstancesOutput{} + sv = &ListAppInstanceAdminsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstances": - if err := awsRestjson1_deserializeDocumentAppInstanceList(&sv.AppInstances, value); err != nil { + case "AppInstanceAdmins": + if err := awsRestjson1_deserializeDocumentAppInstanceAdminList(&sv.AppInstanceAdmins, value); err != nil { return err } + case "AppInstanceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + } + sv.AppInstanceArn = ptr.String(jtv) + } + case "NextToken": if value != nil { jtv, ok := value.(string) @@ -1886,14 +1981,14 @@ func awsRestjson1_deserializeOpDocumentListAppInstancesOutput(v **ListAppInstanc return nil } -type awsRestjson1_deserializeOpListAppInstanceUsers struct { +type awsRestjson1_deserializeOpListAppInstances struct { } -func (*awsRestjson1_deserializeOpListAppInstanceUsers) ID() string { +func (*awsRestjson1_deserializeOpListAppInstances) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListAppInstanceUsers) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListAppInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1907,9 +2002,9 @@ func (m *awsRestjson1_deserializeOpListAppInstanceUsers) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListAppInstanceUsers(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListAppInstances(response, &metadata) } - output := &ListAppInstanceUsersOutput{} + output := &ListAppInstancesOutput{} out.Result = output var buff [1024]byte @@ -1930,7 +2025,7 @@ func (m *awsRestjson1_deserializeOpListAppInstanceUsers) HandleDeserialize(ctx c return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListAppInstanceUsersOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListAppInstancesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1943,7 +2038,7 @@ func (m *awsRestjson1_deserializeOpListAppInstanceUsers) HandleDeserialize(ctx c return out, metadata, err } -func awsRestjson1_deserializeOpErrorListAppInstanceUsers(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListAppInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2012,7 +2107,7 @@ func awsRestjson1_deserializeOpErrorListAppInstanceUsers(response *smithyhttp.Re } } -func awsRestjson1_deserializeOpDocumentListAppInstanceUsersOutput(v **ListAppInstanceUsersOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListAppInstancesOutput(v **ListAppInstancesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2025,26 +2120,17 @@ func awsRestjson1_deserializeOpDocumentListAppInstanceUsersOutput(v **ListAppIns return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListAppInstanceUsersOutput + var sv *ListAppInstancesOutput if *v == nil { - sv = &ListAppInstanceUsersOutput{} + sv = &ListAppInstancesOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstanceArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) - } - sv.AppInstanceArn = ptr.String(jtv) - } - - case "AppInstanceUsers": - if err := awsRestjson1_deserializeDocumentAppInstanceUserList(&sv.AppInstanceUsers, value); err != nil { + case "AppInstances": + if err := awsRestjson1_deserializeDocumentAppInstanceList(&sv.AppInstances, value); err != nil { return err } @@ -2066,14 +2152,14 @@ func awsRestjson1_deserializeOpDocumentListAppInstanceUsersOutput(v **ListAppIns return nil } -type awsRestjson1_deserializeOpPutAppInstanceRetentionSettings struct { +type awsRestjson1_deserializeOpListAppInstanceUserEndpoints struct { } -func (*awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) ID() string { +func (*awsRestjson1_deserializeOpListAppInstanceUserEndpoints) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListAppInstanceUserEndpoints) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2087,9 +2173,9 @@ func (m *awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) HandleDeseri } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorPutAppInstanceRetentionSettings(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListAppInstanceUserEndpoints(response, &metadata) } - output := &PutAppInstanceRetentionSettingsOutput{} + output := &ListAppInstanceUserEndpointsOutput{} out.Result = output var buff [1024]byte @@ -2110,7 +2196,7 @@ func (m *awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) HandleDeseri return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentPutAppInstanceRetentionSettingsOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListAppInstanceUserEndpointsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2123,7 +2209,7 @@ func (m *awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) HandleDeseri return out, metadata, err } -func awsRestjson1_deserializeOpErrorPutAppInstanceRetentionSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListAppInstanceUserEndpoints(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2192,7 +2278,7 @@ func awsRestjson1_deserializeOpErrorPutAppInstanceRetentionSettings(response *sm } } -func awsRestjson1_deserializeOpDocumentPutAppInstanceRetentionSettingsOutput(v **PutAppInstanceRetentionSettingsOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListAppInstanceUserEndpointsOutput(v **ListAppInstanceUserEndpointsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2205,34 +2291,1108 @@ func awsRestjson1_deserializeOpDocumentPutAppInstanceRetentionSettingsOutput(v * return fmt.Errorf("unexpected JSON type %v", value) } - var sv *PutAppInstanceRetentionSettingsOutput + var sv *ListAppInstanceUserEndpointsOutput if *v == nil { - sv = &PutAppInstanceRetentionSettingsOutput{} + sv = &ListAppInstanceUserEndpointsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstanceRetentionSettings": - if err := awsRestjson1_deserializeDocumentAppInstanceRetentionSettings(&sv.AppInstanceRetentionSettings, value); err != nil { + case "AppInstanceUserEndpoints": + if err := awsRestjson1_deserializeDocumentAppInstanceUserEndpointSummaryList(&sv.AppInstanceUserEndpoints, value); err != nil { return err } - case "InitiateDeletionTimestamp": + case "NextToken": if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.InitiateDeletionTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpListAppInstanceUsers struct { +} + +func (*awsRestjson1_deserializeOpListAppInstanceUsers) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpListAppInstanceUsers) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorListAppInstanceUsers(response, &metadata) + } + output := &ListAppInstanceUsersOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentListAppInstanceUsersOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorListAppInstanceUsers(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentListAppInstanceUsersOutput(v **ListAppInstanceUsersOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListAppInstanceUsersOutput + if *v == nil { + sv = &ListAppInstanceUsersOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppInstanceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + } + sv.AppInstanceArn = ptr.String(jtv) + } + + case "AppInstanceUsers": + if err := awsRestjson1_deserializeDocumentAppInstanceUserList(&sv.AppInstanceUsers, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpListTagsForResource struct { +} + +func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) + } + output := &ListTagsForResourceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListTagsForResourceOutput + if *v == nil { + sv = &ListTagsForResourceOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Tags": + if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpPutAppInstanceRetentionSettings struct { +} + +func (*awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpPutAppInstanceRetentionSettings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorPutAppInstanceRetentionSettings(response, &metadata) + } + output := &PutAppInstanceRetentionSettingsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentPutAppInstanceRetentionSettingsOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorPutAppInstanceRetentionSettings(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentPutAppInstanceRetentionSettingsOutput(v **PutAppInstanceRetentionSettingsOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *PutAppInstanceRetentionSettingsOutput + if *v == nil { + sv = &PutAppInstanceRetentionSettingsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppInstanceRetentionSettings": + if err := awsRestjson1_deserializeDocumentAppInstanceRetentionSettings(&sv.AppInstanceRetentionSettings, value); err != nil { + return err + } + + case "InitiateDeletionTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.InitiateDeletionTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpRegisterAppInstanceUserEndpoint struct { +} + +func (*awsRestjson1_deserializeOpRegisterAppInstanceUserEndpoint) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpRegisterAppInstanceUserEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorRegisterAppInstanceUserEndpoint(response, &metadata) + } + output := &RegisterAppInstanceUserEndpointOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentRegisterAppInstanceUserEndpointOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorRegisterAppInstanceUserEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ResourceLimitExceededException", errorCode): + return awsRestjson1_deserializeErrorResourceLimitExceededException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentRegisterAppInstanceUserEndpointOutput(v **RegisterAppInstanceUserEndpointOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *RegisterAppInstanceUserEndpointOutput + if *v == nil { + sv = &RegisterAppInstanceUserEndpointOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppInstanceUserArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveChimeArn to be of type string, got %T instead", value) + } + sv.AppInstanceUserArn = ptr.String(jtv) + } + + case "EndpointId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveString64 to be of type string, got %T instead", value) + } + sv.EndpointId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpTagResource struct { +} + +func (*awsRestjson1_deserializeOpTagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + } + output := &TagResourceOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ResourceLimitExceededException", errorCode): + return awsRestjson1_deserializeErrorResourceLimitExceededException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsRestjson1_deserializeOpUntagResource struct { +} + +func (*awsRestjson1_deserializeOpUntagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUntagResource(response, &metadata) + } + output := &UntagResourceOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsRestjson1_deserializeOpUpdateAppInstance struct { +} + +func (*awsRestjson1_deserializeOpUpdateAppInstance) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateAppInstance) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateAppInstance(response, &metadata) + } + output := &UpdateAppInstanceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateAppInstanceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateAppInstance(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateAppInstanceOutput(v **UpdateAppInstanceOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateAppInstanceOutput + if *v == nil { + sv = &UpdateAppInstanceOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppInstanceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) } + sv.AppInstanceArn = ptr.String(jtv) } default: @@ -2244,14 +3404,14 @@ func awsRestjson1_deserializeOpDocumentPutAppInstanceRetentionSettingsOutput(v * return nil } -type awsRestjson1_deserializeOpUpdateAppInstance struct { +type awsRestjson1_deserializeOpUpdateAppInstanceUser struct { } -func (*awsRestjson1_deserializeOpUpdateAppInstance) ID() string { +func (*awsRestjson1_deserializeOpUpdateAppInstanceUser) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateAppInstance) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdateAppInstanceUser) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2265,9 +3425,9 @@ func (m *awsRestjson1_deserializeOpUpdateAppInstance) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateAppInstance(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorUpdateAppInstanceUser(response, &metadata) } - output := &UpdateAppInstanceOutput{} + output := &UpdateAppInstanceUserOutput{} out.Result = output var buff [1024]byte @@ -2288,7 +3448,7 @@ func (m *awsRestjson1_deserializeOpUpdateAppInstance) HandleDeserialize(ctx cont return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateAppInstanceOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2301,7 +3461,7 @@ func (m *awsRestjson1_deserializeOpUpdateAppInstance) HandleDeserialize(ctx cont return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateAppInstance(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUpdateAppInstanceUser(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2351,6 +3511,9 @@ func awsRestjson1_deserializeOpErrorUpdateAppInstance(response *smithyhttp.Respo case strings.EqualFold("ForbiddenException", errorCode): return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + case strings.EqualFold("ResourceLimitExceededException", errorCode): + return awsRestjson1_deserializeErrorResourceLimitExceededException(response, errorBody) + case strings.EqualFold("ServiceFailureException", errorCode): return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) @@ -2373,7 +3536,7 @@ func awsRestjson1_deserializeOpErrorUpdateAppInstance(response *smithyhttp.Respo } } -func awsRestjson1_deserializeOpDocumentUpdateAppInstanceOutput(v **UpdateAppInstanceOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserOutput(v **UpdateAppInstanceUserOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2386,22 +3549,22 @@ func awsRestjson1_deserializeOpDocumentUpdateAppInstanceOutput(v **UpdateAppInst return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateAppInstanceOutput + var sv *UpdateAppInstanceUserOutput if *v == nil { - sv = &UpdateAppInstanceOutput{} + sv = &UpdateAppInstanceUserOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstanceArn": + case "AppInstanceUserArn": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) } - sv.AppInstanceArn = ptr.String(jtv) + sv.AppInstanceUserArn = ptr.String(jtv) } default: @@ -2413,14 +3576,14 @@ func awsRestjson1_deserializeOpDocumentUpdateAppInstanceOutput(v **UpdateAppInst return nil } -type awsRestjson1_deserializeOpUpdateAppInstanceUser struct { +type awsRestjson1_deserializeOpUpdateAppInstanceUserEndpoint struct { } -func (*awsRestjson1_deserializeOpUpdateAppInstanceUser) ID() string { +func (*awsRestjson1_deserializeOpUpdateAppInstanceUserEndpoint) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateAppInstanceUser) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpUpdateAppInstanceUserEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2434,9 +3597,9 @@ func (m *awsRestjson1_deserializeOpUpdateAppInstanceUser) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateAppInstanceUser(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorUpdateAppInstanceUserEndpoint(response, &metadata) } - output := &UpdateAppInstanceUserOutput{} + output := &UpdateAppInstanceUserEndpointOutput{} out.Result = output var buff [1024]byte @@ -2457,7 +3620,7 @@ func (m *awsRestjson1_deserializeOpUpdateAppInstanceUser) HandleDeserialize(ctx return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserEndpointOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2470,7 +3633,7 @@ func (m *awsRestjson1_deserializeOpUpdateAppInstanceUser) HandleDeserialize(ctx return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateAppInstanceUser(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUpdateAppInstanceUserEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2520,9 +3683,6 @@ func awsRestjson1_deserializeOpErrorUpdateAppInstanceUser(response *smithyhttp.R case strings.EqualFold("ForbiddenException", errorCode): return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) - case strings.EqualFold("ResourceLimitExceededException", errorCode): - return awsRestjson1_deserializeErrorResourceLimitExceededException(response, errorBody) - case strings.EqualFold("ServiceFailureException", errorCode): return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) @@ -2545,7 +3705,7 @@ func awsRestjson1_deserializeOpErrorUpdateAppInstanceUser(response *smithyhttp.R } } -func awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserOutput(v **UpdateAppInstanceUserOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserEndpointOutput(v **UpdateAppInstanceUserEndpointOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2558,9 +3718,9 @@ func awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserOutput(v **UpdateApp return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateAppInstanceUserOutput + var sv *UpdateAppInstanceUserEndpointOutput if *v == nil { - sv = &UpdateAppInstanceUserOutput{} + sv = &UpdateAppInstanceUserEndpointOutput{} } else { sv = *v } @@ -2571,11 +3731,20 @@ func awsRestjson1_deserializeOpDocumentUpdateAppInstanceUserOutput(v **UpdateApp if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + return fmt.Errorf("expected SensitiveChimeArn to be of type string, got %T instead", value) } sv.AppInstanceUserArn = ptr.String(jtv) } + case "EndpointId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveString64 to be of type string, got %T instead", value) + } + sv.EndpointId = ptr.String(jtv) + } + default: _, _ = key, value @@ -3172,45 +4341,262 @@ func awsRestjson1_deserializeDocumentAppInstanceSummary(v **types.AppInstanceSum return nil } - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AppInstanceSummary + if *v == nil { + sv = &types.AppInstanceSummary{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppInstanceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + } + sv.AppInstanceArn = ptr.String(jtv) + } + + case "Metadata": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Metadata to be of type string, got %T instead", value) + } + sv.Metadata = ptr.String(jtv) + } + + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyResourceName to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAppInstanceUser(v **types.AppInstanceUser, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AppInstanceUser + if *v == nil { + sv = &types.AppInstanceUser{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppInstanceUserArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + } + sv.AppInstanceUserArn = ptr.String(jtv) + } + + case "CreatedTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "LastUpdatedTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "Metadata": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Metadata to be of type string, got %T instead", value) + } + sv.Metadata = ptr.String(jtv) + } + + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected UserName to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAppInstanceUserEndpoint(v **types.AppInstanceUserEndpoint, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AppInstanceUserEndpoint + if *v == nil { + sv = &types.AppInstanceUserEndpoint{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AllowMessages": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AllowMessages to be of type string, got %T instead", value) + } + sv.AllowMessages = types.AllowMessages(jtv) + } + + case "AppInstanceUserArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveChimeArn to be of type string, got %T instead", value) + } + sv.AppInstanceUserArn = ptr.String(jtv) + } + + case "CreatedTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "EndpointAttributes": + if err := awsRestjson1_deserializeDocumentEndpointAttributes(&sv.EndpointAttributes, value); err != nil { + return err + } + + case "EndpointId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveString64 to be of type string, got %T instead", value) + } + sv.EndpointId = ptr.String(jtv) + } + + case "EndpointState": + if err := awsRestjson1_deserializeDocumentEndpointState(&sv.EndpointState, value); err != nil { + return err + } + + case "LastUpdatedTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - var sv *types.AppInstanceSummary - if *v == nil { - sv = &types.AppInstanceSummary{} - } else { - sv = *v - } + } + } - for key, value := range shape { - switch key { - case "AppInstanceArn": + case "Name": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + return fmt.Errorf("expected SensitiveString1600 to be of type string, got %T instead", value) } - sv.AppInstanceArn = ptr.String(jtv) + sv.Name = ptr.String(jtv) } - case "Metadata": + case "ResourceArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Metadata to be of type string, got %T instead", value) + return fmt.Errorf("expected SensitiveChimeArn to be of type string, got %T instead", value) } - sv.Metadata = ptr.String(jtv) + sv.ResourceArn = ptr.String(jtv) } - case "Name": + case "Type": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonEmptyResourceName to be of type string, got %T instead", value) + return fmt.Errorf("expected AppInstanceUserEndpointType to be of type string, got %T instead", value) } - sv.Name = ptr.String(jtv) + sv.Type = types.AppInstanceUserEndpointType(jtv) } default: @@ -3222,7 +4608,7 @@ func awsRestjson1_deserializeDocumentAppInstanceSummary(v **types.AppInstanceSum return nil } -func awsRestjson1_deserializeDocumentAppInstanceUser(v **types.AppInstanceUser, value interface{}) error { +func awsRestjson1_deserializeDocumentAppInstanceUserEndpointSummary(v **types.AppInstanceUserEndpointSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3235,72 +4621,63 @@ func awsRestjson1_deserializeDocumentAppInstanceUser(v **types.AppInstanceUser, return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AppInstanceUser + var sv *types.AppInstanceUserEndpointSummary if *v == nil { - sv = &types.AppInstanceUser{} + sv = &types.AppInstanceUserEndpointSummary{} } else { sv = *v } for key, value := range shape { switch key { - case "AppInstanceUserArn": + case "AllowMessages": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + return fmt.Errorf("expected AllowMessages to be of type string, got %T instead", value) } - sv.AppInstanceUserArn = ptr.String(jtv) + sv.AllowMessages = types.AllowMessages(jtv) } - case "CreatedTimestamp": + case "AppInstanceUserArn": if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveChimeArn to be of type string, got %T instead", value) } + sv.AppInstanceUserArn = ptr.String(jtv) } - case "LastUpdatedTimestamp": + case "EndpointId": if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastUpdatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) - + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SensitiveString64 to be of type string, got %T instead", value) } + sv.EndpointId = ptr.String(jtv) } - case "Metadata": + case "EndpointState": + if err := awsRestjson1_deserializeDocumentEndpointState(&sv.EndpointState, value); err != nil { + return err + } + + case "Name": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Metadata to be of type string, got %T instead", value) + return fmt.Errorf("expected SensitiveString1600 to be of type string, got %T instead", value) } - sv.Metadata = ptr.String(jtv) + sv.Name = ptr.String(jtv) } - case "Name": + case "Type": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected UserName to be of type string, got %T instead", value) + return fmt.Errorf("expected AppInstanceUserEndpointType to be of type string, got %T instead", value) } - sv.Name = ptr.String(jtv) + sv.Type = types.AppInstanceUserEndpointType(jtv) } default: @@ -3312,6 +4689,40 @@ func awsRestjson1_deserializeDocumentAppInstanceUser(v **types.AppInstanceUser, return nil } +func awsRestjson1_deserializeDocumentAppInstanceUserEndpointSummaryList(v *[]types.AppInstanceUserEndpointSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.AppInstanceUserEndpointSummary + if *v == nil { + cv = []types.AppInstanceUserEndpointSummary{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.AppInstanceUserEndpointSummary + destAddr := &col + if err := awsRestjson1_deserializeDocumentAppInstanceUserEndpointSummary(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentAppInstanceUserList(v *[]types.AppInstanceUserSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -3546,6 +4957,104 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti return nil } +func awsRestjson1_deserializeDocumentEndpointAttributes(v **types.EndpointAttributes, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.EndpointAttributes + if *v == nil { + sv = &types.EndpointAttributes{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DeviceToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptySensitiveString1600 to be of type string, got %T instead", value) + } + sv.DeviceToken = ptr.String(jtv) + } + + case "VoipDeviceToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptySensitiveString1600 to be of type string, got %T instead", value) + } + sv.VoipDeviceToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentEndpointState(v **types.EndpointState, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.EndpointState + if *v == nil { + sv = &types.EndpointState{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EndpointStatus to be of type string, got %T instead", value) + } + sv.Status = types.EndpointStatus(jtv) + } + + case "StatusReason": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EndpointStatusReason to be of type string, got %T instead", value) + } + sv.StatusReason = types.EndpointStatusReason(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentForbiddenException(v **types.ForbiddenException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -3791,6 +5300,89 @@ func awsRestjson1_deserializeDocumentServiceUnavailableException(v **types.Servi return nil } +func awsRestjson1_deserializeDocumentTag(v **types.Tag, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Tag + if *v == nil { + sv = &types.Tag{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Key": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TagKey to be of type string, got %T instead", value) + } + sv.Key = ptr.String(jtv) + } + + case "Value": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TagValue to be of type string, got %T instead", value) + } + sv.Value = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentTagList(v *[]types.Tag, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Tag + if *v == nil { + cv = []types.Tag{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Tag + destAddr := &col + if err := awsRestjson1_deserializeDocumentTag(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentThrottledClientException(v **types.ThrottledClientException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/chimesdkidentity/generated.json b/service/chimesdkidentity/generated.json index c5335415da1..32261173efc 100644 --- a/service/chimesdkidentity/generated.json +++ b/service/chimesdkidentity/generated.json @@ -11,16 +11,24 @@ "api_op_DeleteAppInstance.go", "api_op_DeleteAppInstanceAdmin.go", "api_op_DeleteAppInstanceUser.go", + "api_op_DeregisterAppInstanceUserEndpoint.go", "api_op_DescribeAppInstance.go", "api_op_DescribeAppInstanceAdmin.go", "api_op_DescribeAppInstanceUser.go", + "api_op_DescribeAppInstanceUserEndpoint.go", "api_op_GetAppInstanceRetentionSettings.go", "api_op_ListAppInstanceAdmins.go", + "api_op_ListAppInstanceUserEndpoints.go", "api_op_ListAppInstanceUsers.go", "api_op_ListAppInstances.go", + "api_op_ListTagsForResource.go", "api_op_PutAppInstanceRetentionSettings.go", + "api_op_RegisterAppInstanceUserEndpoint.go", + "api_op_TagResource.go", + "api_op_UntagResource.go", "api_op_UpdateAppInstance.go", "api_op_UpdateAppInstanceUser.go", + "api_op_UpdateAppInstanceUserEndpoint.go", "deserializers.go", "doc.go", "endpoints.go", diff --git a/service/chimesdkidentity/serializers.go b/service/chimesdkidentity/serializers.go index f1f3e31d488..27c080c8553 100644 --- a/service/chimesdkidentity/serializers.go +++ b/service/chimesdkidentity/serializers.go @@ -458,6 +458,73 @@ func awsRestjson1_serializeOpHttpBindingsDeleteAppInstanceUserInput(v *DeleteApp return nil } +type awsRestjson1_serializeOpDeregisterAppInstanceUserEndpoint struct { +} + +func (*awsRestjson1_serializeOpDeregisterAppInstanceUserEndpoint) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDeregisterAppInstanceUserEndpoint) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeregisterAppInstanceUserEndpointInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "DELETE" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDeregisterAppInstanceUserEndpointInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDeregisterAppInstanceUserEndpointInput(v *DeregisterAppInstanceUserEndpointInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AppInstanceUserArn == nil || len(*v.AppInstanceUserArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceUserArn must not be empty")} + } + if v.AppInstanceUserArn != nil { + if err := encoder.SetURI("AppInstanceUserArn").String(*v.AppInstanceUserArn); err != nil { + return err + } + } + + if v.EndpointId == nil || len(*v.EndpointId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member EndpointId must not be empty")} + } + if v.EndpointId != nil { + if err := encoder.SetURI("EndpointId").String(*v.EndpointId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpDescribeAppInstance struct { } @@ -641,6 +708,73 @@ func awsRestjson1_serializeOpHttpBindingsDescribeAppInstanceUserInput(v *Describ return nil } +type awsRestjson1_serializeOpDescribeAppInstanceUserEndpoint struct { +} + +func (*awsRestjson1_serializeOpDescribeAppInstanceUserEndpoint) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDescribeAppInstanceUserEndpoint) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeAppInstanceUserEndpointInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDescribeAppInstanceUserEndpointInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDescribeAppInstanceUserEndpointInput(v *DescribeAppInstanceUserEndpointInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AppInstanceUserArn == nil || len(*v.AppInstanceUserArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceUserArn must not be empty")} + } + if v.AppInstanceUserArn != nil { + if err := encoder.SetURI("AppInstanceUserArn").String(*v.AppInstanceUserArn); err != nil { + return err + } + } + + if v.EndpointId == nil || len(*v.EndpointId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member EndpointId must not be empty")} + } + if v.EndpointId != nil { + if err := encoder.SetURI("EndpointId").String(*v.EndpointId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpGetAppInstanceRetentionSettings struct { } @@ -822,6 +956,72 @@ func awsRestjson1_serializeOpHttpBindingsListAppInstancesInput(v *ListAppInstanc return nil } +type awsRestjson1_serializeOpListAppInstanceUserEndpoints struct { +} + +func (*awsRestjson1_serializeOpListAppInstanceUserEndpoints) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpListAppInstanceUserEndpoints) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListAppInstanceUserEndpointsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}/endpoints") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsListAppInstanceUserEndpointsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsListAppInstanceUserEndpointsInput(v *ListAppInstanceUserEndpointsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AppInstanceUserArn == nil || len(*v.AppInstanceUserArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceUserArn must not be empty")} + } + if v.AppInstanceUserArn != nil { + if err := encoder.SetURI("AppInstanceUserArn").String(*v.AppInstanceUserArn); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("max-results").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("next-token").String(*v.NextToken) + } + + return nil +} + type awsRestjson1_serializeOpListAppInstanceUsers struct { } @@ -883,14 +1083,14 @@ func awsRestjson1_serializeOpHttpBindingsListAppInstanceUsersInput(v *ListAppIns return nil } -type awsRestjson1_serializeOpPutAppInstanceRetentionSettings struct { +type awsRestjson1_serializeOpListTagsForResource struct { } -func (*awsRestjson1_serializeOpPutAppInstanceRetentionSettings) ID() string { +func (*awsRestjson1_serializeOpListTagsForResource) ID() string { return "OperationSerializer" } -func (m *awsRestjson1_serializeOpPutAppInstanceRetentionSettings) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsRestjson1_serializeOpListTagsForResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) @@ -898,33 +1098,22 @@ func (m *awsRestjson1_serializeOpPutAppInstanceRetentionSettings) HandleSerializ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*PutAppInstanceRetentionSettingsInput) + input, ok := in.Parameters.(*ListTagsForResourceInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } - opPath, opQuery := httpbinding.SplitURI("/app-instances/{AppInstanceArn}/retention-settings") + opPath, opQuery := httpbinding.SplitURI("/tags") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) - request.Method = "PUT" + request.Method = "GET" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } - if err := awsRestjson1_serializeOpHttpBindingsPutAppInstanceRetentionSettingsInput(input, restEncoder); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - restEncoder.SetHeader("Content-Type").String("application/json") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsRestjson1_serializeOpDocumentPutAppInstanceRetentionSettingsInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + if err := awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -935,45 +1124,26 @@ func (m *awsRestjson1_serializeOpPutAppInstanceRetentionSettings) HandleSerializ return next.HandleSerialize(ctx, in) } -func awsRestjson1_serializeOpHttpBindingsPutAppInstanceRetentionSettingsInput(v *PutAppInstanceRetentionSettingsInput, encoder *httpbinding.Encoder) error { +func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsForResourceInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } - if v.AppInstanceArn == nil || len(*v.AppInstanceArn) == 0 { - return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceArn must not be empty")} - } - if v.AppInstanceArn != nil { - if err := encoder.SetURI("AppInstanceArn").String(*v.AppInstanceArn); err != nil { - return err - } - } - - return nil -} - -func awsRestjson1_serializeOpDocumentPutAppInstanceRetentionSettingsInput(v *PutAppInstanceRetentionSettingsInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.AppInstanceRetentionSettings != nil { - ok := object.Key("AppInstanceRetentionSettings") - if err := awsRestjson1_serializeDocumentAppInstanceRetentionSettings(v.AppInstanceRetentionSettings, ok); err != nil { - return err - } + if v.ResourceARN != nil { + encoder.SetQuery("arn").String(*v.ResourceARN) } return nil } -type awsRestjson1_serializeOpUpdateAppInstance struct { +type awsRestjson1_serializeOpPutAppInstanceRetentionSettings struct { } -func (*awsRestjson1_serializeOpUpdateAppInstance) ID() string { +func (*awsRestjson1_serializeOpPutAppInstanceRetentionSettings) ID() string { return "OperationSerializer" } -func (m *awsRestjson1_serializeOpUpdateAppInstance) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsRestjson1_serializeOpPutAppInstanceRetentionSettings) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) @@ -981,13 +1151,13 @@ func (m *awsRestjson1_serializeOpUpdateAppInstance) HandleSerialize(ctx context. return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateAppInstanceInput) + input, ok := in.Parameters.(*PutAppInstanceRetentionSettingsInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } - opPath, opQuery := httpbinding.SplitURI("/app-instances/{AppInstanceArn}") + opPath, opQuery := httpbinding.SplitURI("/app-instances/{AppInstanceArn}/retention-settings") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "PUT" @@ -996,14 +1166,14 @@ func (m *awsRestjson1_serializeOpUpdateAppInstance) HandleSerialize(ctx context. return out, metadata, &smithy.SerializationError{Err: err} } - if err := awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceInput(input, restEncoder); err != nil { + if err := awsRestjson1_serializeOpHttpBindingsPutAppInstanceRetentionSettingsInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } restEncoder.SetHeader("Content-Type").String("application/json") jsonEncoder := smithyjson.NewEncoder() - if err := awsRestjson1_serializeOpDocumentUpdateAppInstanceInput(input, jsonEncoder.Value); err != nil { + if err := awsRestjson1_serializeOpDocumentPutAppInstanceRetentionSettingsInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -1018,7 +1188,7 @@ func (m *awsRestjson1_serializeOpUpdateAppInstance) HandleSerialize(ctx context. return next.HandleSerialize(ctx, in) } -func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceInput(v *UpdateAppInstanceInput, encoder *httpbinding.Encoder) error { +func awsRestjson1_serializeOpHttpBindingsPutAppInstanceRetentionSettingsInput(v *PutAppInstanceRetentionSettingsInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } @@ -1035,31 +1205,28 @@ func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceInput(v *UpdateAppInst return nil } -func awsRestjson1_serializeOpDocumentUpdateAppInstanceInput(v *UpdateAppInstanceInput, value smithyjson.Value) error { +func awsRestjson1_serializeOpDocumentPutAppInstanceRetentionSettingsInput(v *PutAppInstanceRetentionSettingsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() - if v.Metadata != nil { - ok := object.Key("Metadata") - ok.String(*v.Metadata) - } - - if v.Name != nil { - ok := object.Key("Name") - ok.String(*v.Name) + if v.AppInstanceRetentionSettings != nil { + ok := object.Key("AppInstanceRetentionSettings") + if err := awsRestjson1_serializeDocumentAppInstanceRetentionSettings(v.AppInstanceRetentionSettings, ok); err != nil { + return err + } } return nil } -type awsRestjson1_serializeOpUpdateAppInstanceUser struct { +type awsRestjson1_serializeOpRegisterAppInstanceUserEndpoint struct { } -func (*awsRestjson1_serializeOpUpdateAppInstanceUser) ID() string { +func (*awsRestjson1_serializeOpRegisterAppInstanceUserEndpoint) ID() string { return "OperationSerializer" } -func (m *awsRestjson1_serializeOpUpdateAppInstanceUser) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsRestjson1_serializeOpRegisterAppInstanceUserEndpoint) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) @@ -1067,29 +1234,29 @@ func (m *awsRestjson1_serializeOpUpdateAppInstanceUser) HandleSerialize(ctx cont return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*UpdateAppInstanceUserInput) + input, ok := in.Parameters.(*RegisterAppInstanceUserEndpointInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } - opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}") + opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}/endpoints") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) - request.Method = "PUT" + request.Method = "POST" restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) if err != nil { return out, metadata, &smithy.SerializationError{Err: err} } - if err := awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserInput(input, restEncoder); err != nil { + if err := awsRestjson1_serializeOpHttpBindingsRegisterAppInstanceUserEndpointInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } restEncoder.SetHeader("Content-Type").String("application/json") jsonEncoder := smithyjson.NewEncoder() - if err := awsRestjson1_serializeOpDocumentUpdateAppInstanceUserInput(input, jsonEncoder.Value); err != nil { + if err := awsRestjson1_serializeOpDocumentRegisterAppInstanceUserEndpointInput(input, jsonEncoder.Value); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -1104,7 +1271,7 @@ func (m *awsRestjson1_serializeOpUpdateAppInstanceUser) HandleSerialize(ctx cont return next.HandleSerialize(ctx, in) } -func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserInput(v *UpdateAppInstanceUserInput, encoder *httpbinding.Encoder) error { +func awsRestjson1_serializeOpHttpBindingsRegisterAppInstanceUserEndpointInput(v *RegisterAppInstanceUserEndpointInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } @@ -1121,12 +1288,270 @@ func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserInput(v *UpdateApp return nil } -func awsRestjson1_serializeOpDocumentUpdateAppInstanceUserInput(v *UpdateAppInstanceUserInput, value smithyjson.Value) error { +func awsRestjson1_serializeOpDocumentRegisterAppInstanceUserEndpointInput(v *RegisterAppInstanceUserEndpointInput, value smithyjson.Value) error { object := value.Object() defer object.Close() - if v.Metadata != nil { - ok := object.Key("Metadata") + if len(v.AllowMessages) > 0 { + ok := object.Key("AllowMessages") + ok.String(string(v.AllowMessages)) + } + + if v.ClientRequestToken != nil { + ok := object.Key("ClientRequestToken") + ok.String(*v.ClientRequestToken) + } + + if v.EndpointAttributes != nil { + ok := object.Key("EndpointAttributes") + if err := awsRestjson1_serializeDocumentEndpointAttributes(v.EndpointAttributes, ok); err != nil { + return err + } + } + + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + + if v.ResourceArn != nil { + ok := object.Key("ResourceArn") + ok.String(*v.ResourceArn) + } + + if len(v.Type) > 0 { + ok := object.Key("Type") + ok.String(string(v.Type)) + } + + return nil +} + +type awsRestjson1_serializeOpTagResource struct { +} + +func (*awsRestjson1_serializeOpTagResource) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpTagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*TagResourceInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/tags?operation=tag-resource") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentTagResourceInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsTagResourceInput(v *TagResourceInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentTagResourceInput(v *TagResourceInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ResourceARN != nil { + ok := object.Key("ResourceARN") + ok.String(*v.ResourceARN) + } + + if v.Tags != nil { + ok := object.Key("Tags") + if err := awsRestjson1_serializeDocumentTagList(v.Tags, ok); err != nil { + return err + } + } + + return nil +} + +type awsRestjson1_serializeOpUntagResource struct { +} + +func (*awsRestjson1_serializeOpUntagResource) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUntagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UntagResourceInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/tags?operation=untag-resource") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUntagResourceInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUntagResourceInput(v *UntagResourceInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUntagResourceInput(v *UntagResourceInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ResourceARN != nil { + ok := object.Key("ResourceARN") + ok.String(*v.ResourceARN) + } + + if v.TagKeys != nil { + ok := object.Key("TagKeys") + if err := awsRestjson1_serializeDocumentTagKeyList(v.TagKeys, ok); err != nil { + return err + } + } + + return nil +} + +type awsRestjson1_serializeOpUpdateAppInstance struct { +} + +func (*awsRestjson1_serializeOpUpdateAppInstance) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUpdateAppInstance) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateAppInstanceInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/app-instances/{AppInstanceArn}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PUT" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUpdateAppInstanceInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceInput(v *UpdateAppInstanceInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AppInstanceArn == nil || len(*v.AppInstanceArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceArn must not be empty")} + } + if v.AppInstanceArn != nil { + if err := encoder.SetURI("AppInstanceArn").String(*v.AppInstanceArn); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUpdateAppInstanceInput(v *UpdateAppInstanceInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Metadata != nil { + ok := object.Key("Metadata") ok.String(*v.Metadata) } @@ -1138,6 +1563,187 @@ func awsRestjson1_serializeOpDocumentUpdateAppInstanceUserInput(v *UpdateAppInst return nil } +type awsRestjson1_serializeOpUpdateAppInstanceUser struct { +} + +func (*awsRestjson1_serializeOpUpdateAppInstanceUser) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUpdateAppInstanceUser) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateAppInstanceUserInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PUT" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUpdateAppInstanceUserInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserInput(v *UpdateAppInstanceUserInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AppInstanceUserArn == nil || len(*v.AppInstanceUserArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceUserArn must not be empty")} + } + if v.AppInstanceUserArn != nil { + if err := encoder.SetURI("AppInstanceUserArn").String(*v.AppInstanceUserArn); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUpdateAppInstanceUserInput(v *UpdateAppInstanceUserInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Metadata != nil { + ok := object.Key("Metadata") + ok.String(*v.Metadata) + } + + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + + return nil +} + +type awsRestjson1_serializeOpUpdateAppInstanceUserEndpoint struct { +} + +func (*awsRestjson1_serializeOpUpdateAppInstanceUserEndpoint) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUpdateAppInstanceUserEndpoint) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateAppInstanceUserEndpointInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PUT" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserEndpointInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUpdateAppInstanceUserEndpointInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUpdateAppInstanceUserEndpointInput(v *UpdateAppInstanceUserEndpointInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AppInstanceUserArn == nil || len(*v.AppInstanceUserArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member AppInstanceUserArn must not be empty")} + } + if v.AppInstanceUserArn != nil { + if err := encoder.SetURI("AppInstanceUserArn").String(*v.AppInstanceUserArn); err != nil { + return err + } + } + + if v.EndpointId == nil || len(*v.EndpointId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member EndpointId must not be empty")} + } + if v.EndpointId != nil { + if err := encoder.SetURI("EndpointId").String(*v.EndpointId); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUpdateAppInstanceUserEndpointInput(v *UpdateAppInstanceUserEndpointInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.AllowMessages) > 0 { + ok := object.Key("AllowMessages") + ok.String(string(v.AllowMessages)) + } + + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + + return nil +} + func awsRestjson1_serializeDocumentAppInstanceRetentionSettings(v *types.AppInstanceRetentionSettings, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1164,6 +1770,23 @@ func awsRestjson1_serializeDocumentChannelRetentionSettings(v *types.ChannelRete return nil } +func awsRestjson1_serializeDocumentEndpointAttributes(v *types.EndpointAttributes, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DeviceToken != nil { + ok := object.Key("DeviceToken") + ok.String(*v.DeviceToken) + } + + if v.VoipDeviceToken != nil { + ok := object.Key("VoipDeviceToken") + ok.String(*v.VoipDeviceToken) + } + + return nil +} + func awsRestjson1_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1181,6 +1804,17 @@ func awsRestjson1_serializeDocumentTag(v *types.Tag, value smithyjson.Value) err return nil } +func awsRestjson1_serializeDocumentTagKeyList(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentTagList(v []types.Tag, value smithyjson.Value) error { array := value.Array() defer array.Close() diff --git a/service/chimesdkidentity/types/enums.go b/service/chimesdkidentity/types/enums.go index 720e875e4cf..72ba7bcf4c5 100644 --- a/service/chimesdkidentity/types/enums.go +++ b/service/chimesdkidentity/types/enums.go @@ -2,6 +2,80 @@ package types +type AllowMessages string + +// Enum values for AllowMessages +const ( + AllowMessagesAll AllowMessages = "ALL" + AllowMessagesNone AllowMessages = "NONE" +) + +// Values returns all known values for AllowMessages. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AllowMessages) Values() []AllowMessages { + return []AllowMessages{ + "ALL", + "NONE", + } +} + +type AppInstanceUserEndpointType string + +// Enum values for AppInstanceUserEndpointType +const ( + AppInstanceUserEndpointTypeApns AppInstanceUserEndpointType = "APNS" + AppInstanceUserEndpointTypeApnsSandbox AppInstanceUserEndpointType = "APNS_SANDBOX" + AppInstanceUserEndpointTypeGcm AppInstanceUserEndpointType = "GCM" +) + +// Values returns all known values for AppInstanceUserEndpointType. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (AppInstanceUserEndpointType) Values() []AppInstanceUserEndpointType { + return []AppInstanceUserEndpointType{ + "APNS", + "APNS_SANDBOX", + "GCM", + } +} + +type EndpointStatus string + +// Enum values for EndpointStatus +const ( + EndpointStatusActive EndpointStatus = "ACTIVE" + EndpointStatusInactive EndpointStatus = "INACTIVE" +) + +// Values returns all known values for EndpointStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (EndpointStatus) Values() []EndpointStatus { + return []EndpointStatus{ + "ACTIVE", + "INACTIVE", + } +} + +type EndpointStatusReason string + +// Enum values for EndpointStatusReason +const ( + EndpointStatusReasonInvalidDeviceToken EndpointStatusReason = "INVALID_DEVICE_TOKEN" + EndpointStatusReasonInvalidPinpointArn EndpointStatusReason = "INVALID_PINPOINT_ARN" +) + +// Values returns all known values for EndpointStatusReason. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (EndpointStatusReason) Values() []EndpointStatusReason { + return []EndpointStatusReason{ + "INVALID_DEVICE_TOKEN", + "INVALID_PINPOINT_ARN", + } +} + type ErrorCode string // Enum values for ErrorCode diff --git a/service/chimesdkidentity/types/types.go b/service/chimesdkidentity/types/types.go index bf69e5f45d7..dec79b74aad 100644 --- a/service/chimesdkidentity/types/types.go +++ b/service/chimesdkidentity/types/types.go @@ -98,6 +98,88 @@ type AppInstanceUser struct { noSmithyDocumentSerde } +// An endpoint under an Amazon Chime AppInstanceUser that receives messages for a +// user. For push notifications, the endpoint is a mobile device used to receive +// mobile push notifications for a user. +type AppInstanceUserEndpoint struct { + + // Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive + // messages. ALL indicates the endpoint will receive all messages. NONE indicates + // the endpoint will receive no messages. + AllowMessages AllowMessages + + // The ARN of the AppInstanceUser. + AppInstanceUserArn *string + + // The time at which an AppInstanceUserEndpoint was created. + CreatedTimestamp *time.Time + + // The attributes of an Endpoint. + EndpointAttributes *EndpointAttributes + + // The unique identifier of the AppInstanceUserEndpoint. + EndpointId *string + + // A read-only field that represents the state of an AppInstanceUserEndpoint. + // Supported values: + // + // * ACTIVE: The AppInstanceUserEndpoint is active and able to + // receive messages. When ACTIVE, the EndpointStatusReason remains empty. + // + // * + // INACTIVE: The AppInstanceUserEndpoint is inactive and can't receive message. + // When INACTIVE, the corresponding reason will be conveyed through + // EndpointStatusReason. + // + // * INVALID_DEVICE_TOKEN indicates that an + // AppInstanceUserEndpoint is INACTIVE due to invalid device token + // + // * + // INVALID_PINPOINT_ARN indicates that an AppInstanceUserEndpoint is INACTIVE due + // to an invalid pinpoint ARN that was input through the ResourceArn field. + EndpointState *EndpointState + + // The time at which an AppInstanceUserEndpoint was last updated. + LastUpdatedTimestamp *time.Time + + // The name of the AppInstanceUserEndpoint. + Name *string + + // The ARN of the resource to which the endpoint belongs. + ResourceArn *string + + // The type of the AppInstanceUserEndpoint. + Type AppInstanceUserEndpointType + + noSmithyDocumentSerde +} + +// Summary of the details of an AppInstanceUserEndpoint. +type AppInstanceUserEndpointSummary struct { + + // BBoolean that controls whether the AppInstanceUserEndpoint is opted in to + // receive messages. ALL indicates the endpoint will receive all messages. NONE + // indicates the endpoint will receive no messages. + AllowMessages AllowMessages + + // The ARN of the AppInstanceUser. + AppInstanceUserArn *string + + // The unique identifier of the AppInstanceUserEndpoint. + EndpointId *string + + // A read-only field that represent the state of an AppInstanceUserEndpoint. + EndpointState *EndpointState + + // The name of the AppInstanceUserEndpoint. + Name *string + + // The type of the AppInstanceUserEndpoint. + Type AppInstanceUserEndpointType + + noSmithyDocumentSerde +} + // Summary of the details of an AppInstanceUser. type AppInstanceUserSummary struct { @@ -122,6 +204,50 @@ type ChannelRetentionSettings struct { noSmithyDocumentSerde } +// The attributes of an Endpoint. +type EndpointAttributes struct { + + // The device token for the GCM, APNS, and APNS_SANDBOX endpoint types. + // + // This member is required. + DeviceToken *string + + // The VOIP device token for the APNS and APNS_SANDBOX endpoint types. + VoipDeviceToken *string + + noSmithyDocumentSerde +} + +// A read-only field that represents the state of an AppInstanceUserEndpoint. +// Supported values: +// +// * ACTIVE: The AppInstanceUserEndpoint is active and able to +// receive messages. When ACTIVE, the EndpointStatusReason remains empty. +// +// * +// INACTIVE: The AppInstanceUserEndpoint is inactive and can't receive message. +// When INACTIVE, the corresponding reason will be conveyed through +// EndpointStatusReason. +// +// * INVALID_DEVICE_TOKEN indicates that an +// AppInstanceUserEndpoint is INACTIVE due to invalid device token +// +// * +// INVALID_PINPOINT_ARN indicates that an AppInstanceUserEndpoint is INACTIVE due +// to an invalid pinpoint ARN that was input through the ResourceArn field. +type EndpointState struct { + + // Enum that indicates the Status of an AppInstanceUserEndpoint. + // + // This member is required. + Status EndpointStatus + + // The reason for the EndpointStatus. + StatusReason EndpointStatusReason + + noSmithyDocumentSerde +} + // The details of a user. type Identity struct { @@ -134,15 +260,15 @@ type Identity struct { noSmithyDocumentSerde } -// Describes a tag applied to a resource. +// A tag object containing a key-value pair. type Tag struct { - // The key of the tag. + // The key in a tag. // // This member is required. Key *string - // The value of the tag. + // The value in a tag. // // This member is required. Value *string diff --git a/service/chimesdkidentity/validators.go b/service/chimesdkidentity/validators.go index 07cc5a4c868..b33afb41421 100644 --- a/service/chimesdkidentity/validators.go +++ b/service/chimesdkidentity/validators.go @@ -130,6 +130,26 @@ func (m *validateOpDeleteAppInstanceUser) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpDeregisterAppInstanceUserEndpoint struct { +} + +func (*validateOpDeregisterAppInstanceUserEndpoint) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeregisterAppInstanceUserEndpoint) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeregisterAppInstanceUserEndpointInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeregisterAppInstanceUserEndpointInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeAppInstanceAdmin struct { } @@ -170,6 +190,26 @@ func (m *validateOpDescribeAppInstance) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpDescribeAppInstanceUserEndpoint struct { +} + +func (*validateOpDescribeAppInstanceUserEndpoint) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeAppInstanceUserEndpoint) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeAppInstanceUserEndpointInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeAppInstanceUserEndpointInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeAppInstanceUser struct { } @@ -230,6 +270,26 @@ func (m *validateOpListAppInstanceAdmins) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpListAppInstanceUserEndpoints struct { +} + +func (*validateOpListAppInstanceUserEndpoints) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListAppInstanceUserEndpoints) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListAppInstanceUserEndpointsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListAppInstanceUserEndpointsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListAppInstanceUsers struct { } @@ -250,6 +310,26 @@ func (m *validateOpListAppInstanceUsers) HandleInitialize(ctx context.Context, i return next.HandleInitialize(ctx, in) } +type validateOpListTagsForResource struct { +} + +func (*validateOpListTagsForResource) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListTagsForResourceInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListTagsForResourceInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpPutAppInstanceRetentionSettings struct { } @@ -270,6 +350,66 @@ func (m *validateOpPutAppInstanceRetentionSettings) HandleInitialize(ctx context return next.HandleInitialize(ctx, in) } +type validateOpRegisterAppInstanceUserEndpoint struct { +} + +func (*validateOpRegisterAppInstanceUserEndpoint) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpRegisterAppInstanceUserEndpoint) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*RegisterAppInstanceUserEndpointInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpRegisterAppInstanceUserEndpointInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpTagResource struct { +} + +func (*validateOpTagResource) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpTagResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*TagResourceInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpTagResourceInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpUntagResource struct { +} + +func (*validateOpUntagResource) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUntagResource) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UntagResourceInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUntagResourceInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateAppInstance struct { } @@ -290,6 +430,26 @@ func (m *validateOpUpdateAppInstance) HandleInitialize(ctx context.Context, in m return next.HandleInitialize(ctx, in) } +type validateOpUpdateAppInstanceUserEndpoint struct { +} + +func (*validateOpUpdateAppInstanceUserEndpoint) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateAppInstanceUserEndpoint) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateAppInstanceUserEndpointInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateAppInstanceUserEndpointInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateAppInstanceUser struct { } @@ -334,6 +494,10 @@ func addOpDeleteAppInstanceUserValidationMiddleware(stack *middleware.Stack) err return stack.Initialize.Add(&validateOpDeleteAppInstanceUser{}, middleware.After) } +func addOpDeregisterAppInstanceUserEndpointValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeregisterAppInstanceUserEndpoint{}, middleware.After) +} + func addOpDescribeAppInstanceAdminValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeAppInstanceAdmin{}, middleware.After) } @@ -342,6 +506,10 @@ func addOpDescribeAppInstanceValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpDescribeAppInstance{}, middleware.After) } +func addOpDescribeAppInstanceUserEndpointValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeAppInstanceUserEndpoint{}, middleware.After) +} + func addOpDescribeAppInstanceUserValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeAppInstanceUser{}, middleware.After) } @@ -354,22 +522,61 @@ func addOpListAppInstanceAdminsValidationMiddleware(stack *middleware.Stack) err return stack.Initialize.Add(&validateOpListAppInstanceAdmins{}, middleware.After) } +func addOpListAppInstanceUserEndpointsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListAppInstanceUserEndpoints{}, middleware.After) +} + func addOpListAppInstanceUsersValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListAppInstanceUsers{}, middleware.After) } +func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After) +} + func addOpPutAppInstanceRetentionSettingsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpPutAppInstanceRetentionSettings{}, middleware.After) } +func addOpRegisterAppInstanceUserEndpointValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpRegisterAppInstanceUserEndpoint{}, middleware.After) +} + +func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpTagResource{}, middleware.After) +} + +func addOpUntagResourceValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUntagResource{}, middleware.After) +} + func addOpUpdateAppInstanceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateAppInstance{}, middleware.After) } +func addOpUpdateAppInstanceUserEndpointValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateAppInstanceUserEndpoint{}, middleware.After) +} + func addOpUpdateAppInstanceUserValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateAppInstanceUser{}, middleware.After) } +func validateEndpointAttributes(v *types.EndpointAttributes) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "EndpointAttributes"} + if v.DeviceToken == nil { + invalidParams.Add(smithy.NewErrParamRequired("DeviceToken")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateTag(v *types.Tag) error { if v == nil { return nil @@ -523,6 +730,24 @@ func validateOpDeleteAppInstanceUserInput(v *DeleteAppInstanceUserInput) error { } } +func validateOpDeregisterAppInstanceUserEndpointInput(v *DeregisterAppInstanceUserEndpointInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeregisterAppInstanceUserEndpointInput"} + if v.AppInstanceUserArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("AppInstanceUserArn")) + } + if v.EndpointId == nil { + invalidParams.Add(smithy.NewErrParamRequired("EndpointId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeAppInstanceAdminInput(v *DescribeAppInstanceAdminInput) error { if v == nil { return nil @@ -556,6 +781,24 @@ func validateOpDescribeAppInstanceInput(v *DescribeAppInstanceInput) error { } } +func validateOpDescribeAppInstanceUserEndpointInput(v *DescribeAppInstanceUserEndpointInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeAppInstanceUserEndpointInput"} + if v.AppInstanceUserArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("AppInstanceUserArn")) + } + if v.EndpointId == nil { + invalidParams.Add(smithy.NewErrParamRequired("EndpointId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeAppInstanceUserInput(v *DescribeAppInstanceUserInput) error { if v == nil { return nil @@ -601,6 +844,21 @@ func validateOpListAppInstanceAdminsInput(v *ListAppInstanceAdminsInput) error { } } +func validateOpListAppInstanceUserEndpointsInput(v *ListAppInstanceUserEndpointsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListAppInstanceUserEndpointsInput"} + if v.AppInstanceUserArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("AppInstanceUserArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListAppInstanceUsersInput(v *ListAppInstanceUsersInput) error { if v == nil { return nil @@ -616,6 +874,21 @@ func validateOpListAppInstanceUsersInput(v *ListAppInstanceUsersInput) error { } } +func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListTagsForResourceInput"} + if v.ResourceARN == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceARN")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpPutAppInstanceRetentionSettingsInput(v *PutAppInstanceRetentionSettingsInput) error { if v == nil { return nil @@ -634,6 +907,77 @@ func validateOpPutAppInstanceRetentionSettingsInput(v *PutAppInstanceRetentionSe } } +func validateOpRegisterAppInstanceUserEndpointInput(v *RegisterAppInstanceUserEndpointInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "RegisterAppInstanceUserEndpointInput"} + if v.AppInstanceUserArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("AppInstanceUserArn")) + } + if len(v.Type) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Type")) + } + if v.ResourceArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceArn")) + } + if v.EndpointAttributes == nil { + invalidParams.Add(smithy.NewErrParamRequired("EndpointAttributes")) + } else if v.EndpointAttributes != nil { + if err := validateEndpointAttributes(v.EndpointAttributes); err != nil { + invalidParams.AddNested("EndpointAttributes", err.(smithy.InvalidParamsError)) + } + } + if v.ClientRequestToken == nil { + invalidParams.Add(smithy.NewErrParamRequired("ClientRequestToken")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpTagResourceInput(v *TagResourceInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "TagResourceInput"} + if v.ResourceARN == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceARN")) + } + if v.Tags == nil { + invalidParams.Add(smithy.NewErrParamRequired("Tags")) + } else if v.Tags != nil { + if err := validateTagList(v.Tags); err != nil { + invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpUntagResourceInput(v *UntagResourceInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UntagResourceInput"} + if v.ResourceARN == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceARN")) + } + if v.TagKeys == nil { + invalidParams.Add(smithy.NewErrParamRequired("TagKeys")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateAppInstanceInput(v *UpdateAppInstanceInput) error { if v == nil { return nil @@ -655,6 +999,24 @@ func validateOpUpdateAppInstanceInput(v *UpdateAppInstanceInput) error { } } +func validateOpUpdateAppInstanceUserEndpointInput(v *UpdateAppInstanceUserEndpointInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateAppInstanceUserEndpointInput"} + if v.AppInstanceUserArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("AppInstanceUserArn")) + } + if v.EndpointId == nil { + invalidParams.Add(smithy.NewErrParamRequired("EndpointId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateAppInstanceUserInput(v *UpdateAppInstanceUserInput) error { if v == nil { return nil diff --git a/service/chimesdkmessaging/api_op_BatchCreateChannelMembership.go b/service/chimesdkmessaging/api_op_BatchCreateChannelMembership.go index 9f6001a9451..a1a4876619c 100644 --- a/service/chimesdkmessaging/api_op_BatchCreateChannelMembership.go +++ b/service/chimesdkmessaging/api_op_BatchCreateChannelMembership.go @@ -39,7 +39,7 @@ type BatchCreateChannelMembershipInput struct { // This member is required. ChimeBearer *string - // The ARNs of the members you want to add to the channel. + // The AppInstanceUserArns of the members you want to add to the channel. // // This member is required. MemberArns []string diff --git a/service/chimesdkmessaging/api_op_CreateChannelBan.go b/service/chimesdkmessaging/api_op_CreateChannelBan.go index 04280c5cad8..8c1d86d7d95 100644 --- a/service/chimesdkmessaging/api_op_CreateChannelBan.go +++ b/service/chimesdkmessaging/api_op_CreateChannelBan.go @@ -45,7 +45,7 @@ type CreateChannelBanInput struct { // This member is required. ChimeBearer *string - // The ARN of the member being banned. + // The AppInstanceUserArn of the member being banned. // // This member is required. MemberArn *string diff --git a/service/chimesdkmessaging/api_op_CreateChannelMembership.go b/service/chimesdkmessaging/api_op_CreateChannelMembership.go index e0e82069a3e..37bc661a63a 100644 --- a/service/chimesdkmessaging/api_op_CreateChannelMembership.go +++ b/service/chimesdkmessaging/api_op_CreateChannelMembership.go @@ -11,32 +11,33 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Adds a user to a channel. The InvitedBy response field is derived from the -// request header. A channel member can: +// Adds a user to a channel. The InvitedBy field in ChannelMembership is derived +// from the request header. A channel member can: // // * List messages // -// * Send messages +// * Send +// messages // -// * -// Receive messages +// * Receive messages // // * Edit their own messages // -// * Leave the channel +// * Leave the +// channel // -// Privacy -// settings impact this action as follows: +// Privacy settings impact this action as follows: // -// * Public Channels: You do not need to -// be a member to list messages, but you must be a member to send messages. +// * Public Channels: You +// do not need to be a member to list messages, but you must be a member to send +// messages. // -// * -// Private Channels: You must be a member to list or send messages. +// * Private Channels: You must be a member to list or send +// messages. // -// The -// x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of -// the user that makes the API call as the value in the header. +// The x-amz-chime-bearer request header is mandatory. Use the +// AppInstanceUserArn of the user that makes the API call as the value in the +// header. func (c *Client) CreateChannelMembership(ctx context.Context, params *CreateChannelMembershipInput, optFns ...func(*Options)) (*CreateChannelMembershipOutput, error) { if params == nil { params = &CreateChannelMembershipInput{} @@ -64,7 +65,7 @@ type CreateChannelMembershipInput struct { // This member is required. ChimeBearer *string - // The ARN of the member you want to add to the channel. + // The AppInstanceUserArn of the member you want to add to the channel. // // This member is required. MemberArn *string diff --git a/service/chimesdkmessaging/api_op_CreateChannelModerator.go b/service/chimesdkmessaging/api_op_CreateChannelModerator.go index 5a2a5b0c700..3c98d6d8059 100644 --- a/service/chimesdkmessaging/api_op_CreateChannelModerator.go +++ b/service/chimesdkmessaging/api_op_CreateChannelModerator.go @@ -51,7 +51,7 @@ type CreateChannelModeratorInput struct { // This member is required. ChannelArn *string - // The ARN of the moderator. + // The AppInstanceUserArn of the moderator. // // This member is required. ChannelModeratorArn *string diff --git a/service/chimesdkmessaging/api_op_DeleteChannelMembership.go b/service/chimesdkmessaging/api_op_DeleteChannelMembership.go index 4e9ee526d0b..4e14d661731 100644 --- a/service/chimesdkmessaging/api_op_DeleteChannelMembership.go +++ b/service/chimesdkmessaging/api_op_DeleteChannelMembership.go @@ -40,7 +40,7 @@ type DeleteChannelMembershipInput struct { // This member is required. ChimeBearer *string - // The ARN of the member that you're removing from the channel. + // The AppInstanceUserArn of the member that you're removing from the channel. // // This member is required. MemberArn *string diff --git a/service/chimesdkmessaging/api_op_DeleteChannelModerator.go b/service/chimesdkmessaging/api_op_DeleteChannelModerator.go index 4c299e4b80a..63c8f93ba38 100644 --- a/service/chimesdkmessaging/api_op_DeleteChannelModerator.go +++ b/service/chimesdkmessaging/api_op_DeleteChannelModerator.go @@ -35,7 +35,7 @@ type DeleteChannelModeratorInput struct { // This member is required. ChannelArn *string - // The ARN of the moderator being deleted. + // The AppInstanceUserArn of the moderator being deleted. // // This member is required. ChannelModeratorArn *string diff --git a/service/chimesdkmessaging/api_op_DescribeChannelBan.go b/service/chimesdkmessaging/api_op_DescribeChannelBan.go index 2d79d5b4f23..15f47ed1024 100644 --- a/service/chimesdkmessaging/api_op_DescribeChannelBan.go +++ b/service/chimesdkmessaging/api_op_DescribeChannelBan.go @@ -41,7 +41,7 @@ type DescribeChannelBanInput struct { // This member is required. ChimeBearer *string - // The ARN of the member being banned. + // The AppInstanceUserArn of the member being banned. // // This member is required. MemberArn *string diff --git a/service/chimesdkmessaging/api_op_DescribeChannelMembership.go b/service/chimesdkmessaging/api_op_DescribeChannelMembership.go index 77c97d697d1..2087187d256 100644 --- a/service/chimesdkmessaging/api_op_DescribeChannelMembership.go +++ b/service/chimesdkmessaging/api_op_DescribeChannelMembership.go @@ -41,7 +41,7 @@ type DescribeChannelMembershipInput struct { // This member is required. ChimeBearer *string - // The ARN of the member. + // The AppInstanceUserArn of the member. // // This member is required. MemberArn *string diff --git a/service/chimesdkmessaging/api_op_DescribeChannelModerator.go b/service/chimesdkmessaging/api_op_DescribeChannelModerator.go index 2982db27595..2356fca7f12 100644 --- a/service/chimesdkmessaging/api_op_DescribeChannelModerator.go +++ b/service/chimesdkmessaging/api_op_DescribeChannelModerator.go @@ -36,7 +36,7 @@ type DescribeChannelModeratorInput struct { // This member is required. ChannelArn *string - // The ARN of the channel moderator. + // The AppInstanceUserArn of the channel moderator. // // This member is required. ChannelModeratorArn *string diff --git a/service/chimesdkmessaging/api_op_GetChannelMembershipPreferences.go b/service/chimesdkmessaging/api_op_GetChannelMembershipPreferences.go new file mode 100644 index 00000000000..7155ee6e9df --- /dev/null +++ b/service/chimesdkmessaging/api_op_GetChannelMembershipPreferences.go @@ -0,0 +1,142 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkmessaging + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets the membership preferences of an AppInstanceUser for the specified channel. +// The AppInstanceUser must be a member of the channel. Only the AppInstanceUser +// who owns the membership can retrieve preferences. Users in the AppInstanceAdmin +// and channel moderator roles can't retrieve preferences for other users. Banned +// users can't retrieve membership preferences for the channel from which they are +// banned. +func (c *Client) GetChannelMembershipPreferences(ctx context.Context, params *GetChannelMembershipPreferencesInput, optFns ...func(*Options)) (*GetChannelMembershipPreferencesOutput, error) { + if params == nil { + params = &GetChannelMembershipPreferencesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetChannelMembershipPreferences", params, optFns, c.addOperationGetChannelMembershipPreferencesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetChannelMembershipPreferencesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetChannelMembershipPreferencesInput struct { + + // The ARN of the channel. + // + // This member is required. + ChannelArn *string + + // The AppInstanceUserARN of the user making the API call. + // + // This member is required. + ChimeBearer *string + + // The AppInstanceUserArn of the member retrieving the preferences. + // + // This member is required. + MemberArn *string + + noSmithyDocumentSerde +} + +type GetChannelMembershipPreferencesOutput struct { + + // The ARN of the channel. + ChannelArn *string + + // The details of a user. + Member *types.Identity + + // The channel membership preferences for an AppInstanceUser . + Preferences *types.ChannelMembershipPreferences + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetChannelMembershipPreferencesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetChannelMembershipPreferences{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetChannelMembershipPreferences{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetChannelMembershipPreferencesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetChannelMembershipPreferences(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetChannelMembershipPreferences(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "GetChannelMembershipPreferences", + } +} diff --git a/service/chimesdkmessaging/api_op_ListChannelMemberships.go b/service/chimesdkmessaging/api_op_ListChannelMemberships.go index 60281c7f429..4df7fd80bd2 100644 --- a/service/chimesdkmessaging/api_op_ListChannelMemberships.go +++ b/service/chimesdkmessaging/api_op_ListChannelMemberships.go @@ -14,7 +14,11 @@ import ( // Lists all channel memberships in a channel. The x-amz-chime-bearer request // header is mandatory. Use the AppInstanceUserArn of the user that makes the API -// call as the value in the header. +// call as the value in the header. If you want to list the channels to which a +// specific app instance user belongs, see the +// ListChannelMembershipsForAppInstanceUser +// (https://docs.aws.amazon.com/chime/latest/APIReference/API_messaging-chime_ListChannelMembershipsForAppInstanceUser.html) +// API. func (c *Client) ListChannelMemberships(ctx context.Context, params *ListChannelMembershipsInput, optFns ...func(*Options)) (*ListChannelMembershipsOutput, error) { if params == nil { params = &ListChannelMembershipsInput{} diff --git a/service/chimesdkmessaging/api_op_PutChannelMembershipPreferences.go b/service/chimesdkmessaging/api_op_PutChannelMembershipPreferences.go new file mode 100644 index 00000000000..ce666eeb60c --- /dev/null +++ b/service/chimesdkmessaging/api_op_PutChannelMembershipPreferences.go @@ -0,0 +1,146 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package chimesdkmessaging + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Sets the membership preferences of an AppInstanceUser for the specified channel. +// The AppInstanceUser must be a member of the channel. Only the AppInstanceUser +// who owns the membership can set preferences. Users in the AppInstanceAdmin and +// channel moderator roles can't set preferences for other users. Banned users +// can't set membership preferences for the channel from which they are banned. +func (c *Client) PutChannelMembershipPreferences(ctx context.Context, params *PutChannelMembershipPreferencesInput, optFns ...func(*Options)) (*PutChannelMembershipPreferencesOutput, error) { + if params == nil { + params = &PutChannelMembershipPreferencesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "PutChannelMembershipPreferences", params, optFns, c.addOperationPutChannelMembershipPreferencesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*PutChannelMembershipPreferencesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type PutChannelMembershipPreferencesInput struct { + + // The ARN of the channel. + // + // This member is required. + ChannelArn *string + + // The AppInstanceUserARN of the user making the API call. + // + // This member is required. + ChimeBearer *string + + // The AppInstanceUserArn of the member setting the preferences. + // + // This member is required. + MemberArn *string + + // The channel membership preferences of an AppInstanceUser . + // + // This member is required. + Preferences *types.ChannelMembershipPreferences + + noSmithyDocumentSerde +} + +type PutChannelMembershipPreferencesOutput struct { + + // The ARN of the channel. + ChannelArn *string + + // The details of a user. + Member *types.Identity + + // The ARN and metadata of the member being added. + Preferences *types.ChannelMembershipPreferences + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationPutChannelMembershipPreferencesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpPutChannelMembershipPreferences{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpPutChannelMembershipPreferences{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpPutChannelMembershipPreferencesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutChannelMembershipPreferences(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opPutChannelMembershipPreferences(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "chime", + OperationName: "PutChannelMembershipPreferences", + } +} diff --git a/service/chimesdkmessaging/api_op_SendChannelMessage.go b/service/chimesdkmessaging/api_op_SendChannelMessage.go index 26e15e51189..2252aaeba41 100644 --- a/service/chimesdkmessaging/api_op_SendChannelMessage.go +++ b/service/chimesdkmessaging/api_op_SendChannelMessage.go @@ -65,9 +65,16 @@ type SendChannelMessageInput struct { // This member is required. Type types.ChannelMessageType + // The attributes for the message, used for message filtering along with a + // FilterRule defined in the PushNotificationPreferences. + MessageAttributes map[string]types.MessageAttributeValue + // The optional metadata for each message. Metadata *string + // The push notification configuration of the message. + PushNotification *types.PushNotificationConfiguration + noSmithyDocumentSerde } diff --git a/service/chimesdkmessaging/deserializers.go b/service/chimesdkmessaging/deserializers.go index a5fd7220cd3..73a7560b792 100644 --- a/service/chimesdkmessaging/deserializers.go +++ b/service/chimesdkmessaging/deserializers.go @@ -3233,6 +3233,182 @@ func awsRestjson1_deserializeOpErrorDisassociateChannelFlow(response *smithyhttp } } +type awsRestjson1_deserializeOpGetChannelMembershipPreferences struct { +} + +func (*awsRestjson1_deserializeOpGetChannelMembershipPreferences) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpGetChannelMembershipPreferences) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorGetChannelMembershipPreferences(response, &metadata) + } + output := &GetChannelMembershipPreferencesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetChannelMembershipPreferencesOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorGetChannelMembershipPreferences(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentGetChannelMembershipPreferencesOutput(v **GetChannelMembershipPreferencesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetChannelMembershipPreferencesOutput + if *v == nil { + sv = &GetChannelMembershipPreferencesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChannelArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + } + sv.ChannelArn = ptr.String(jtv) + } + + case "Member": + if err := awsRestjson1_deserializeDocumentIdentity(&sv.Member, value); err != nil { + return err + } + + case "Preferences": + if err := awsRestjson1_deserializeDocumentChannelMembershipPreferences(&sv.Preferences, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpGetChannelMessage struct { } @@ -5456,6 +5632,185 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return nil } +type awsRestjson1_deserializeOpPutChannelMembershipPreferences struct { +} + +func (*awsRestjson1_deserializeOpPutChannelMembershipPreferences) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpPutChannelMembershipPreferences) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorPutChannelMembershipPreferences(response, &metadata) + } + output := &PutChannelMembershipPreferencesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentPutChannelMembershipPreferencesOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorPutChannelMembershipPreferences(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("ForbiddenException", errorCode): + return awsRestjson1_deserializeErrorForbiddenException(response, errorBody) + + case strings.EqualFold("ServiceFailureException", errorCode): + return awsRestjson1_deserializeErrorServiceFailureException(response, errorBody) + + case strings.EqualFold("ServiceUnavailableException", errorCode): + return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + + case strings.EqualFold("ThrottledClientException", errorCode): + return awsRestjson1_deserializeErrorThrottledClientException(response, errorBody) + + case strings.EqualFold("UnauthorizedClientException", errorCode): + return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentPutChannelMembershipPreferencesOutput(v **PutChannelMembershipPreferencesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *PutChannelMembershipPreferencesOutput + if *v == nil { + sv = &PutChannelMembershipPreferencesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChannelArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChimeArn to be of type string, got %T instead", value) + } + sv.ChannelArn = ptr.String(jtv) + } + + case "Member": + if err := awsRestjson1_deserializeDocumentIdentity(&sv.Member, value); err != nil { + return err + } + + case "Preferences": + if err := awsRestjson1_deserializeDocumentChannelMembershipPreferences(&sv.Preferences, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpRedactChannelMessage struct { } @@ -8019,6 +8374,42 @@ func awsRestjson1_deserializeDocumentChannelMembershipForAppInstanceUserSummaryL return nil } +func awsRestjson1_deserializeDocumentChannelMembershipPreferences(v **types.ChannelMembershipPreferences, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChannelMembershipPreferences + if *v == nil { + sv = &types.ChannelMembershipPreferences{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "PushNotifications": + if err := awsRestjson1_deserializeDocumentPushNotificationPreferences(&sv.PushNotifications, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentChannelMembershipSummary(v **types.ChannelMembershipSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8177,6 +8568,11 @@ func awsRestjson1_deserializeDocumentChannelMessage(v **types.ChannelMessage, va } } + case "MessageAttributes": + if err := awsRestjson1_deserializeDocumentMessageAttributeMap(&sv.MessageAttributes, value); err != nil { + return err + } + case "MessageId": if value != nil { jtv, ok := value.(string) @@ -8369,6 +8765,11 @@ func awsRestjson1_deserializeDocumentChannelMessageSummary(v **types.ChannelMess } } + case "MessageAttributes": + if err := awsRestjson1_deserializeDocumentMessageAttributeMap(&sv.MessageAttributes, value); err != nil { + return err + } + case "MessageId": if value != nil { jtv, ok := value.(string) @@ -9020,6 +9421,113 @@ func awsRestjson1_deserializeDocumentMembers(v *[]types.Identity, value interfac return nil } +func awsRestjson1_deserializeDocumentMessageAttributeMap(v *map[string]types.MessageAttributeValue, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]types.MessageAttributeValue + if *v == nil { + mv = map[string]types.MessageAttributeValue{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.MessageAttributeValue + mapVar := parsedVal + destAddr := &mapVar + if err := awsRestjson1_deserializeDocumentMessageAttributeValue(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsRestjson1_deserializeDocumentMessageAttributeStringValues(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected MessageAttributeStringValue to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentMessageAttributeValue(v **types.MessageAttributeValue, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.MessageAttributeValue + if *v == nil { + sv = &types.MessageAttributeValue{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "StringValues": + if err := awsRestjson1_deserializeDocumentMessageAttributeStringValues(&sv.StringValues, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentMessagingSessionEndpoint(v **types.MessagingSessionEndpoint, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -9246,6 +9754,55 @@ func awsRestjson1_deserializeDocumentProcessorList(v *[]types.Processor, value i return nil } +func awsRestjson1_deserializeDocumentPushNotificationPreferences(v **types.PushNotificationPreferences, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.PushNotificationPreferences + if *v == nil { + sv = &types.PushNotificationPreferences{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AllowNotifications": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AllowNotifications to be of type string, got %T instead", value) + } + sv.AllowNotifications = types.AllowNotifications(jtv) + } + + case "FilterRule": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FilterRule to be of type string, got %T instead", value) + } + sv.FilterRule = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentResourceLimitExceededException(v **types.ResourceLimitExceededException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/chimesdkmessaging/generated.json b/service/chimesdkmessaging/generated.json index 9c42a9c0563..7d75ba97b6d 100644 --- a/service/chimesdkmessaging/generated.json +++ b/service/chimesdkmessaging/generated.json @@ -27,6 +27,7 @@ "api_op_DescribeChannelModeratedByAppInstanceUser.go", "api_op_DescribeChannelModerator.go", "api_op_DisassociateChannelFlow.go", + "api_op_GetChannelMembershipPreferences.go", "api_op_GetChannelMessage.go", "api_op_GetChannelMessageStatus.go", "api_op_GetMessagingSessionEndpoint.go", @@ -40,6 +41,7 @@ "api_op_ListChannelsAssociatedWithChannelFlow.go", "api_op_ListChannelsModeratedByAppInstanceUser.go", "api_op_ListTagsForResource.go", + "api_op_PutChannelMembershipPreferences.go", "api_op_RedactChannelMessage.go", "api_op_SendChannelMessage.go", "api_op_TagResource.go", diff --git a/service/chimesdkmessaging/serializers.go b/service/chimesdkmessaging/serializers.go index 8940ba4cf51..bc83207c778 100644 --- a/service/chimesdkmessaging/serializers.go +++ b/service/chimesdkmessaging/serializers.go @@ -1703,6 +1703,78 @@ func awsRestjson1_serializeOpHttpBindingsDisassociateChannelFlowInput(v *Disasso return nil } +type awsRestjson1_serializeOpGetChannelMembershipPreferences struct { +} + +func (*awsRestjson1_serializeOpGetChannelMembershipPreferences) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetChannelMembershipPreferences) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetChannelMembershipPreferencesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/channels/{ChannelArn}/memberships/{MemberArn}/preferences") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetChannelMembershipPreferencesInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetChannelMembershipPreferencesInput(v *GetChannelMembershipPreferencesInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ChannelArn == nil || len(*v.ChannelArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member ChannelArn must not be empty")} + } + if v.ChannelArn != nil { + if err := encoder.SetURI("ChannelArn").String(*v.ChannelArn); err != nil { + return err + } + } + + if v.ChimeBearer != nil && len(*v.ChimeBearer) > 0 { + locationName := "X-Amz-Chime-Bearer" + encoder.SetHeader(locationName).String(*v.ChimeBearer) + } + + if v.MemberArn == nil || len(*v.MemberArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member MemberArn must not be empty")} + } + if v.MemberArn != nil { + if err := encoder.SetURI("MemberArn").String(*v.MemberArn); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpGetChannelMessage struct { } @@ -2569,6 +2641,103 @@ func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsFor return nil } +type awsRestjson1_serializeOpPutChannelMembershipPreferences struct { +} + +func (*awsRestjson1_serializeOpPutChannelMembershipPreferences) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpPutChannelMembershipPreferences) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*PutChannelMembershipPreferencesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/channels/{ChannelArn}/memberships/{MemberArn}/preferences") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PUT" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsPutChannelMembershipPreferencesInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentPutChannelMembershipPreferencesInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsPutChannelMembershipPreferencesInput(v *PutChannelMembershipPreferencesInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ChannelArn == nil || len(*v.ChannelArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member ChannelArn must not be empty")} + } + if v.ChannelArn != nil { + if err := encoder.SetURI("ChannelArn").String(*v.ChannelArn); err != nil { + return err + } + } + + if v.ChimeBearer != nil && len(*v.ChimeBearer) > 0 { + locationName := "X-Amz-Chime-Bearer" + encoder.SetHeader(locationName).String(*v.ChimeBearer) + } + + if v.MemberArn == nil || len(*v.MemberArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member MemberArn must not be empty")} + } + if v.MemberArn != nil { + if err := encoder.SetURI("MemberArn").String(*v.MemberArn); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentPutChannelMembershipPreferencesInput(v *PutChannelMembershipPreferencesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Preferences != nil { + ok := object.Key("Preferences") + if err := awsRestjson1_serializeDocumentChannelMembershipPreferences(v.Preferences, ok); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpRedactChannelMessage struct { } @@ -2729,6 +2898,13 @@ func awsRestjson1_serializeOpDocumentSendChannelMessageInput(v *SendChannelMessa ok.String(*v.Content) } + if v.MessageAttributes != nil { + ok := object.Key("MessageAttributes") + if err := awsRestjson1_serializeDocumentMessageAttributeMap(v.MessageAttributes, ok); err != nil { + return err + } + } + if v.Metadata != nil { ok := object.Key("Metadata") ok.String(*v.Metadata) @@ -2739,6 +2915,13 @@ func awsRestjson1_serializeOpDocumentSendChannelMessageInput(v *SendChannelMessa ok.String(string(v.Persistence)) } + if v.PushNotification != nil { + ok := object.Key("PushNotification") + if err := awsRestjson1_serializeDocumentPushNotificationConfiguration(v.PushNotification, ok); err != nil { + return err + } + } + if len(v.Type) > 0 { ok := object.Key("Type") ok.String(string(v.Type)) @@ -3244,6 +3427,20 @@ func awsRestjson1_serializeOpHttpBindingsUpdateChannelReadMarkerInput(v *UpdateC return nil } +func awsRestjson1_serializeDocumentChannelMembershipPreferences(v *types.ChannelMembershipPreferences, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.PushNotifications != nil { + ok := object.Key("PushNotifications") + if err := awsRestjson1_serializeDocumentPushNotificationPreferences(v.PushNotifications, ok); err != nil { + return err + } + } + + return nil +} + func awsRestjson1_serializeDocumentChannelMessageCallback(v *types.ChannelMessageCallback, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3294,6 +3491,45 @@ func awsRestjson1_serializeDocumentMemberArns(v []string, value smithyjson.Value return nil } +func awsRestjson1_serializeDocumentMessageAttributeMap(v map[string]types.MessageAttributeValue, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + mapVar := v[key] + if err := awsRestjson1_serializeDocumentMessageAttributeValue(&mapVar, om); err != nil { + return err + } + } + return nil +} + +func awsRestjson1_serializeDocumentMessageAttributeStringValues(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsRestjson1_serializeDocumentMessageAttributeValue(v *types.MessageAttributeValue, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.StringValues != nil { + ok := object.Key("StringValues") + if err := awsRestjson1_serializeDocumentMessageAttributeStringValues(v.StringValues, ok); err != nil { + return err + } + } + + return nil +} + func awsRestjson1_serializeDocumentProcessor(v *types.Processor, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3350,6 +3586,45 @@ func awsRestjson1_serializeDocumentProcessorList(v []types.Processor, value smit return nil } +func awsRestjson1_serializeDocumentPushNotificationConfiguration(v *types.PushNotificationConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Body != nil { + ok := object.Key("Body") + ok.String(*v.Body) + } + + if v.Title != nil { + ok := object.Key("Title") + ok.String(*v.Title) + } + + if len(v.Type) > 0 { + ok := object.Key("Type") + ok.String(string(v.Type)) + } + + return nil +} + +func awsRestjson1_serializeDocumentPushNotificationPreferences(v *types.PushNotificationPreferences, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.AllowNotifications) > 0 { + ok := object.Key("AllowNotifications") + ok.String(string(v.AllowNotifications)) + } + + if v.FilterRule != nil { + ok := object.Key("FilterRule") + ok.String(*v.FilterRule) + } + + return nil +} + func awsRestjson1_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/chimesdkmessaging/types/enums.go b/service/chimesdkmessaging/types/enums.go index 1b15279c481..eb5907af1ce 100644 --- a/service/chimesdkmessaging/types/enums.go +++ b/service/chimesdkmessaging/types/enums.go @@ -2,6 +2,26 @@ package types +type AllowNotifications string + +// Enum values for AllowNotifications +const ( + AllowNotificationsAll AllowNotifications = "ALL" + AllowNotificationsNone AllowNotifications = "NONE" + AllowNotificationsFiltered AllowNotifications = "FILTERED" +) + +// Values returns all known values for AllowNotifications. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AllowNotifications) Values() []AllowNotifications { + return []AllowNotifications{ + "ALL", + "NONE", + "FILTERED", + } +} + type ChannelMembershipType string // Enum values for ChannelMembershipType @@ -193,6 +213,24 @@ func (InvocationType) Values() []InvocationType { } } +type PushNotificationType string + +// Enum values for PushNotificationType +const ( + PushNotificationTypeDefault PushNotificationType = "DEFAULT" + PushNotificationTypeVoip PushNotificationType = "VOIP" +) + +// Values returns all known values for PushNotificationType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (PushNotificationType) Values() []PushNotificationType { + return []PushNotificationType{ + "DEFAULT", + "VOIP", + } +} + type SortOrder string // Enum values for SortOrder diff --git a/service/chimesdkmessaging/types/types.go b/service/chimesdkmessaging/types/types.go index 6af6782780c..0cf54f5e251 100644 --- a/service/chimesdkmessaging/types/types.go +++ b/service/chimesdkmessaging/types/types.go @@ -47,7 +47,7 @@ type BatchCreateChannelMembershipError struct { // The error message. ErrorMessage *string - // The ARN of the member that the service couldn't add. + // The AppInstanceUserArn of the member that the service couldn't add. MemberArn *string noSmithyDocumentSerde @@ -209,6 +209,15 @@ type ChannelMembershipForAppInstanceUserSummary struct { noSmithyDocumentSerde } +// The channel membership preferences for an AppInstanceUser. +type ChannelMembershipPreferences struct { + + // The push notification configuration of a message. + PushNotifications *PushNotificationPreferences + + noSmithyDocumentSerde +} + // Summary of the details of a ChannelMembership. type ChannelMembershipSummary struct { @@ -236,6 +245,10 @@ type ChannelMessage struct { // The time at which a message was updated. LastUpdatedTimestamp *time.Time + // The attributes for the message, used for message filtering along with a + // FilterRule defined in the PushNotificationPreferences. + MessageAttributes map[string]MessageAttributeValue + // The ID of a message. MessageId *string @@ -304,6 +317,9 @@ type ChannelMessageSummary struct { // The time at which a message was last updated. LastUpdatedTimestamp *time.Time + // The message attribues listed in a the summary of a channel message. + MessageAttributes map[string]MessageAttributeValue + // The ID of the message. MessageId *string @@ -415,6 +431,15 @@ type LambdaConfiguration struct { noSmithyDocumentSerde } +// A list of message attribute values. +type MessageAttributeValue struct { + + // The strings in a message attribute value. + StringValues []string + + noSmithyDocumentSerde +} + // The websocket endpoint used to connect to Amazon Chime SDK messaging. type MessagingSessionEndpoint struct { @@ -440,10 +465,13 @@ type Processor struct { // This member is required. ExecutionOrder *int32 - // Determines whether to continue or stop processing if communication with - // processor fails. If the last processor in a channel flow sequence has a fallback - // action of CONTINUE, and communication with the processor fails, the message is - // considered processed and sent to the recipients in the channel. + // Determines whether to continue with message processing or stop it in cases where + // communication with a processor fails. If a processor has a fallback action of + // ABORT and communication with it fails, the processor sets the message status to + // FAILED and does not send the message to any recipients. Note that if the last + // processor in the channel flow sequence has a fallback action of CONTINUE and + // communication with the processor fails, then the message is considered processed + // and sent to recipients of the channel. // // This member is required. FallbackAction FallbackAction @@ -467,6 +495,45 @@ type ProcessorConfiguration struct { noSmithyDocumentSerde } +// The push notification configuration of the message. +type PushNotificationConfiguration struct { + + // The body of the push notification. + // + // This member is required. + Body *string + + // The title of the push notification. + // + // This member is required. + Title *string + + // Enum value that indicates the type of the push notification for a message. + // DEFAULT: Normal mobile push notification. VOIP: VOIP mobile push notification. + // + // This member is required. + Type PushNotificationType + + noSmithyDocumentSerde +} + +// The channel membership preferences for push notification. +type PushNotificationPreferences struct { + + // Enum value that indicates which push notifications to send to the requested + // member of a channel. ALL sends all push notifications, NONE sends no push + // notifications, FILTERED sends only filtered push notifications. + // + // This member is required. + AllowNotifications AllowNotifications + + // The simple JSON object used to send a subset of a push notification to the + // requsted member. + FilterRule *string + + noSmithyDocumentSerde +} + // A tag object containing a key-value pair. type Tag struct { diff --git a/service/chimesdkmessaging/validators.go b/service/chimesdkmessaging/validators.go index 4c1df29dc6b..34b6be88802 100644 --- a/service/chimesdkmessaging/validators.go +++ b/service/chimesdkmessaging/validators.go @@ -450,6 +450,26 @@ func (m *validateOpDisassociateChannelFlow) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpGetChannelMembershipPreferences struct { +} + +func (*validateOpGetChannelMembershipPreferences) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetChannelMembershipPreferences) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetChannelMembershipPreferencesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetChannelMembershipPreferencesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetChannelMessage struct { } @@ -690,6 +710,26 @@ func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpPutChannelMembershipPreferences struct { +} + +func (*validateOpPutChannelMembershipPreferences) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpPutChannelMembershipPreferences) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*PutChannelMembershipPreferencesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpPutChannelMembershipPreferencesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpRedactChannelMessage struct { } @@ -938,6 +978,10 @@ func addOpDisassociateChannelFlowValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpDisassociateChannelFlow{}, middleware.After) } +func addOpGetChannelMembershipPreferencesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetChannelMembershipPreferences{}, middleware.After) +} + func addOpGetChannelMessageValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetChannelMessage{}, middleware.After) } @@ -986,6 +1030,10 @@ func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After) } +func addOpPutChannelMembershipPreferencesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpPutChannelMembershipPreferences{}, middleware.After) +} + func addOpRedactChannelMessageValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpRedactChannelMessage{}, middleware.After) } @@ -1018,6 +1066,23 @@ func addOpUpdateChannelReadMarkerValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpUpdateChannelReadMarker{}, middleware.After) } +func validateChannelMembershipPreferences(v *types.ChannelMembershipPreferences) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ChannelMembershipPreferences"} + if v.PushNotifications != nil { + if err := validatePushNotificationPreferences(v.PushNotifications); err != nil { + invalidParams.AddNested("PushNotifications", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateChannelMessageCallback(v *types.ChannelMessageCallback) error { if v == nil { return nil @@ -1115,6 +1180,42 @@ func validateProcessorList(v []types.Processor) error { } } +func validatePushNotificationConfiguration(v *types.PushNotificationConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "PushNotificationConfiguration"} + if v.Title == nil { + invalidParams.Add(smithy.NewErrParamRequired("Title")) + } + if v.Body == nil { + invalidParams.Add(smithy.NewErrParamRequired("Body")) + } + if len(v.Type) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Type")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validatePushNotificationPreferences(v *types.PushNotificationPreferences) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "PushNotificationPreferences"} + if len(v.AllowNotifications) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AllowNotifications")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateTag(v *types.Tag) error { if v == nil { return nil @@ -1621,6 +1722,27 @@ func validateOpDisassociateChannelFlowInput(v *DisassociateChannelFlowInput) err } } +func validateOpGetChannelMembershipPreferencesInput(v *GetChannelMembershipPreferencesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetChannelMembershipPreferencesInput"} + if v.ChannelArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ChannelArn")) + } + if v.MemberArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("MemberArn")) + } + if v.ChimeBearer == nil { + invalidParams.Add(smithy.NewErrParamRequired("ChimeBearer")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetChannelMessageInput(v *GetChannelMessageInput) error { if v == nil { return nil @@ -1828,6 +1950,34 @@ func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { } } +func validateOpPutChannelMembershipPreferencesInput(v *PutChannelMembershipPreferencesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "PutChannelMembershipPreferencesInput"} + if v.ChannelArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ChannelArn")) + } + if v.MemberArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("MemberArn")) + } + if v.ChimeBearer == nil { + invalidParams.Add(smithy.NewErrParamRequired("ChimeBearer")) + } + if v.Preferences == nil { + invalidParams.Add(smithy.NewErrParamRequired("Preferences")) + } else if v.Preferences != nil { + if err := validateChannelMembershipPreferences(v.Preferences); err != nil { + invalidParams.AddNested("Preferences", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpRedactChannelMessageInput(v *RedactChannelMessageInput) error { if v == nil { return nil @@ -1872,6 +2022,11 @@ func validateOpSendChannelMessageInput(v *SendChannelMessageInput) error { if v.ChimeBearer == nil { invalidParams.Add(smithy.NewErrParamRequired("ChimeBearer")) } + if v.PushNotification != nil { + if err := validatePushNotificationConfiguration(v.PushNotification); err != nil { + invalidParams.AddNested("PushNotification", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/cloudfront/api_op_CreateResponseHeadersPolicy.go b/service/cloudfront/api_op_CreateResponseHeadersPolicy.go new file mode 100644 index 00000000000..6c04efda109 --- /dev/null +++ b/service/cloudfront/api_op_CreateResponseHeadersPolicy.go @@ -0,0 +1,135 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates a response headers policy. A response headers policy contains +// information about a set of HTTP response headers and their values. To create a +// response headers policy, you provide some metadata about the policy, and a set +// of configurations that specify the response headers. After you create a response +// headers policy, you can use its ID to attach it to one or more cache behaviors +// in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront +// adds the headers in the policy to HTTP responses that it sends for requests that +// match the cache behavior. +func (c *Client) CreateResponseHeadersPolicy(ctx context.Context, params *CreateResponseHeadersPolicyInput, optFns ...func(*Options)) (*CreateResponseHeadersPolicyOutput, error) { + if params == nil { + params = &CreateResponseHeadersPolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateResponseHeadersPolicy", params, optFns, c.addOperationCreateResponseHeadersPolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateResponseHeadersPolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateResponseHeadersPolicyInput struct { + + // Contains metadata about the response headers policy, and a set of configurations + // that specify the response headers. + // + // This member is required. + ResponseHeadersPolicyConfig *types.ResponseHeadersPolicyConfig + + noSmithyDocumentSerde +} + +type CreateResponseHeadersPolicyOutput struct { + + // The version identifier for the current version of the response headers policy. + ETag *string + + // The URL of the response headers policy. + Location *string + + // Contains a response headers policy. + ResponseHeadersPolicy *types.ResponseHeadersPolicy + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateResponseHeadersPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpCreateResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpCreateResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpCreateResponseHeadersPolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateResponseHeadersPolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateResponseHeadersPolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "CreateResponseHeadersPolicy", + } +} diff --git a/service/cloudfront/api_op_DeleteResponseHeadersPolicy.go b/service/cloudfront/api_op_DeleteResponseHeadersPolicy.go new file mode 100644 index 00000000000..72e3a9b61ca --- /dev/null +++ b/service/cloudfront/api_op_DeleteResponseHeadersPolicy.go @@ -0,0 +1,128 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes a response headers policy. You cannot delete a response headers policy +// if it’s attached to a cache behavior. First update your distributions to remove +// the response headers policy from all cache behaviors, then delete the response +// headers policy. To delete a response headers policy, you must provide the +// policy’s identifier and version. To get these values, you can use +// ListResponseHeadersPolicies or GetResponseHeadersPolicy. +func (c *Client) DeleteResponseHeadersPolicy(ctx context.Context, params *DeleteResponseHeadersPolicyInput, optFns ...func(*Options)) (*DeleteResponseHeadersPolicyOutput, error) { + if params == nil { + params = &DeleteResponseHeadersPolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteResponseHeadersPolicy", params, optFns, c.addOperationDeleteResponseHeadersPolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteResponseHeadersPolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteResponseHeadersPolicyInput struct { + + // The identifier for the response headers policy that you are deleting. To get the + // identifier, you can use ListResponseHeadersPolicies. + // + // This member is required. + Id *string + + // The version of the response headers policy that you are deleting. The version is + // the response headers policy’s ETag value, which you can get using + // ListResponseHeadersPolicies, GetResponseHeadersPolicy, or + // GetResponseHeadersPolicyConfig. + IfMatch *string + + noSmithyDocumentSerde +} + +type DeleteResponseHeadersPolicyOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteResponseHeadersPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpDeleteResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteResponseHeadersPolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteResponseHeadersPolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteResponseHeadersPolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "DeleteResponseHeadersPolicy", + } +} diff --git a/service/cloudfront/api_op_GetResponseHeadersPolicy.go b/service/cloudfront/api_op_GetResponseHeadersPolicy.go new file mode 100644 index 00000000000..af1cce1db78 --- /dev/null +++ b/service/cloudfront/api_op_GetResponseHeadersPolicy.go @@ -0,0 +1,134 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets a response headers policy, including metadata (the policy’s identifier and +// the date and time when the policy was last modified). To get a response headers +// policy, you must provide the policy’s identifier. If the response headers policy +// is attached to a distribution’s cache behavior, you can get the policy’s +// identifier using ListDistributions or GetDistribution. If the response headers +// policy is not attached to a cache behavior, you can get the identifier using +// ListResponseHeadersPolicies. +func (c *Client) GetResponseHeadersPolicy(ctx context.Context, params *GetResponseHeadersPolicyInput, optFns ...func(*Options)) (*GetResponseHeadersPolicyOutput, error) { + if params == nil { + params = &GetResponseHeadersPolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetResponseHeadersPolicy", params, optFns, c.addOperationGetResponseHeadersPolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetResponseHeadersPolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetResponseHeadersPolicyInput struct { + + // The identifier for the response headers policy. If the response headers policy + // is attached to a distribution’s cache behavior, you can get the policy’s + // identifier using ListDistributions or GetDistribution. If the response headers + // policy is not attached to a cache behavior, you can get the identifier using + // ListResponseHeadersPolicies. + // + // This member is required. + Id *string + + noSmithyDocumentSerde +} + +type GetResponseHeadersPolicyOutput struct { + + // The version identifier for the current version of the response headers policy. + ETag *string + + // Contains a response headers policy. + ResponseHeadersPolicy *types.ResponseHeadersPolicy + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetResponseHeadersPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpGetResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpGetResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetResponseHeadersPolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetResponseHeadersPolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetResponseHeadersPolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "GetResponseHeadersPolicy", + } +} diff --git a/service/cloudfront/api_op_GetResponseHeadersPolicyConfig.go b/service/cloudfront/api_op_GetResponseHeadersPolicyConfig.go new file mode 100644 index 00000000000..86d424a698a --- /dev/null +++ b/service/cloudfront/api_op_GetResponseHeadersPolicyConfig.go @@ -0,0 +1,133 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets a response headers policy configuration. To get a response headers policy +// configuration, you must provide the policy’s identifier. If the response headers +// policy is attached to a distribution’s cache behavior, you can get the policy’s +// identifier using ListDistributions or GetDistribution. If the response headers +// policy is not attached to a cache behavior, you can get the identifier using +// ListResponseHeadersPolicies. +func (c *Client) GetResponseHeadersPolicyConfig(ctx context.Context, params *GetResponseHeadersPolicyConfigInput, optFns ...func(*Options)) (*GetResponseHeadersPolicyConfigOutput, error) { + if params == nil { + params = &GetResponseHeadersPolicyConfigInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetResponseHeadersPolicyConfig", params, optFns, c.addOperationGetResponseHeadersPolicyConfigMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetResponseHeadersPolicyConfigOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetResponseHeadersPolicyConfigInput struct { + + // The identifier for the response headers policy. If the response headers policy + // is attached to a distribution’s cache behavior, you can get the policy’s + // identifier using ListDistributions or GetDistribution. If the response headers + // policy is not attached to a cache behavior, you can get the identifier using + // ListResponseHeadersPolicies. + // + // This member is required. + Id *string + + noSmithyDocumentSerde +} + +type GetResponseHeadersPolicyConfigOutput struct { + + // The version identifier for the current version of the response headers policy. + ETag *string + + // Contains a response headers policy. + ResponseHeadersPolicyConfig *types.ResponseHeadersPolicyConfig + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetResponseHeadersPolicyConfigMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpGetResponseHeadersPolicyConfig{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpGetResponseHeadersPolicyConfig{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetResponseHeadersPolicyConfigValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetResponseHeadersPolicyConfig(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetResponseHeadersPolicyConfig(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "GetResponseHeadersPolicyConfig", + } +} diff --git a/service/cloudfront/api_op_ListCachePolicies.go b/service/cloudfront/api_op_ListCachePolicies.go index b0e8aee597b..bd19846c782 100644 --- a/service/cloudfront/api_op_ListCachePolicies.go +++ b/service/cloudfront/api_op_ListCachePolicies.go @@ -13,12 +13,12 @@ import ( // Gets a list of cache policies. You can optionally apply a filter to return only // the managed policies created by Amazon Web Services, or only the custom policies -// created in your account. You can optionally specify the maximum number of items -// to receive in the response. If the total number of items in the list exceeds the -// maximum that you specify, or the default maximum, the response is paginated. To -// get the next page of items, send a subsequent request that specifies the -// NextMarker value from the current response as the Marker value in the subsequent -// request. +// created in your Amazon Web Services account. You can optionally specify the +// maximum number of items to receive in the response. If the total number of items +// in the list exceeds the maximum that you specify, or the default maximum, the +// response is paginated. To get the next page of items, send a subsequent request +// that specifies the NextMarker value from the current response as the Marker +// value in the subsequent request. func (c *Client) ListCachePolicies(ctx context.Context, params *ListCachePoliciesInput, optFns ...func(*Options)) (*ListCachePoliciesOutput, error) { if params == nil { params = &ListCachePoliciesInput{} @@ -51,7 +51,8 @@ type ListCachePoliciesInput struct { // * managed – Returns only the managed policies created by Amazon Web // Services. // - // * custom – Returns only the custom policies created in your account. + // * custom – Returns only the custom policies created in your Amazon + // Web Services account. Type types.CachePolicyType noSmithyDocumentSerde diff --git a/service/cloudfront/api_op_ListDistributionsByResponseHeadersPolicyId.go b/service/cloudfront/api_op_ListDistributionsByResponseHeadersPolicyId.go new file mode 100644 index 00000000000..15faf14c1b8 --- /dev/null +++ b/service/cloudfront/api_op_ListDistributionsByResponseHeadersPolicyId.go @@ -0,0 +1,137 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets a list of distribution IDs for distributions that have a cache behavior +// that’s associated with the specified response headers policy. You can optionally +// specify the maximum number of items to receive in the response. If the total +// number of items in the list exceeds the maximum that you specify, or the default +// maximum, the response is paginated. To get the next page of items, send a +// subsequent request that specifies the NextMarker value from the current response +// as the Marker value in the subsequent request. +func (c *Client) ListDistributionsByResponseHeadersPolicyId(ctx context.Context, params *ListDistributionsByResponseHeadersPolicyIdInput, optFns ...func(*Options)) (*ListDistributionsByResponseHeadersPolicyIdOutput, error) { + if params == nil { + params = &ListDistributionsByResponseHeadersPolicyIdInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListDistributionsByResponseHeadersPolicyId", params, optFns, c.addOperationListDistributionsByResponseHeadersPolicyIdMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListDistributionsByResponseHeadersPolicyIdOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListDistributionsByResponseHeadersPolicyIdInput struct { + + // The ID of the response headers policy whose associated distribution IDs you want + // to list. + // + // This member is required. + ResponseHeadersPolicyId *string + + // Use this field when paginating results to indicate where to begin in your list + // of distribution IDs. The response includes distribution IDs in the list that + // occur after the marker. To get the next page of the list, set this field’s value + // to the value of NextMarker from the current page’s response. + Marker *string + + // The maximum number of distribution IDs that you want to get in the response. + MaxItems *int32 + + noSmithyDocumentSerde +} + +type ListDistributionsByResponseHeadersPolicyIdOutput struct { + + // A list of distribution IDs. + DistributionIdList *types.DistributionIdList + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListDistributionsByResponseHeadersPolicyIdMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpListDistributionsByResponseHeadersPolicyId{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpListDistributionsByResponseHeadersPolicyId{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListDistributionsByResponseHeadersPolicyIdValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListDistributionsByResponseHeadersPolicyId(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opListDistributionsByResponseHeadersPolicyId(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "ListDistributionsByResponseHeadersPolicyId", + } +} diff --git a/service/cloudfront/api_op_ListFunctions.go b/service/cloudfront/api_op_ListFunctions.go index 4d2fb5c624d..16e78046809 100644 --- a/service/cloudfront/api_op_ListFunctions.go +++ b/service/cloudfront/api_op_ListFunctions.go @@ -11,14 +11,14 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Gets a list of all CloudFront functions in your account. You can optionally -// apply a filter to return only the functions that are in the specified stage, -// either DEVELOPMENT or LIVE. You can optionally specify the maximum number of -// items to receive in the response. If the total number of items in the list -// exceeds the maximum that you specify, or the default maximum, the response is -// paginated. To get the next page of items, send a subsequent request that -// specifies the NextMarker value from the current response as the Marker value in -// the subsequent request. +// Gets a list of all CloudFront functions in your Amazon Web Services account. You +// can optionally apply a filter to return only the functions that are in the +// specified stage, either DEVELOPMENT or LIVE. You can optionally specify the +// maximum number of items to receive in the response. If the total number of items +// in the list exceeds the maximum that you specify, or the default maximum, the +// response is paginated. To get the next page of items, send a subsequent request +// that specifies the NextMarker value from the current response as the Marker +// value in the subsequent request. func (c *Client) ListFunctions(ctx context.Context, params *ListFunctionsInput, optFns ...func(*Options)) (*ListFunctionsOutput, error) { if params == nil { params = &ListFunctionsInput{} diff --git a/service/cloudfront/api_op_ListOriginRequestPolicies.go b/service/cloudfront/api_op_ListOriginRequestPolicies.go index 30bfd170dce..f8cbb66639b 100644 --- a/service/cloudfront/api_op_ListOriginRequestPolicies.go +++ b/service/cloudfront/api_op_ListOriginRequestPolicies.go @@ -13,12 +13,12 @@ import ( // Gets a list of origin request policies. You can optionally apply a filter to // return only the managed policies created by Amazon Web Services, or only the -// custom policies created in your account. You can optionally specify the maximum -// number of items to receive in the response. If the total number of items in the -// list exceeds the maximum that you specify, or the default maximum, the response -// is paginated. To get the next page of items, send a subsequent request that -// specifies the NextMarker value from the current response as the Marker value in -// the subsequent request. +// custom policies created in your Amazon Web Services account. You can optionally +// specify the maximum number of items to receive in the response. If the total +// number of items in the list exceeds the maximum that you specify, or the default +// maximum, the response is paginated. To get the next page of items, send a +// subsequent request that specifies the NextMarker value from the current response +// as the Marker value in the subsequent request. func (c *Client) ListOriginRequestPolicies(ctx context.Context, params *ListOriginRequestPoliciesInput, optFns ...func(*Options)) (*ListOriginRequestPoliciesOutput, error) { if params == nil { params = &ListOriginRequestPoliciesInput{} @@ -51,7 +51,8 @@ type ListOriginRequestPoliciesInput struct { // * managed – Returns only the managed policies created by Amazon Web // Services. // - // * custom – Returns only the custom policies created in your account. + // * custom – Returns only the custom policies created in your Amazon + // Web Services account. Type types.OriginRequestPolicyType noSmithyDocumentSerde diff --git a/service/cloudfront/api_op_ListResponseHeadersPolicies.go b/service/cloudfront/api_op_ListResponseHeadersPolicies.go new file mode 100644 index 00000000000..68b396ca4e9 --- /dev/null +++ b/service/cloudfront/api_op_ListResponseHeadersPolicies.go @@ -0,0 +1,140 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets a list of response headers policies. You can optionally apply a filter to +// get only the managed policies created by Amazon Web Services, or only the custom +// policies created in your Amazon Web Services account. You can optionally specify +// the maximum number of items to receive in the response. If the total number of +// items in the list exceeds the maximum that you specify, or the default maximum, +// the response is paginated. To get the next page of items, send a subsequent +// request that specifies the NextMarker value from the current response as the +// Marker value in the subsequent request. +func (c *Client) ListResponseHeadersPolicies(ctx context.Context, params *ListResponseHeadersPoliciesInput, optFns ...func(*Options)) (*ListResponseHeadersPoliciesOutput, error) { + if params == nil { + params = &ListResponseHeadersPoliciesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListResponseHeadersPolicies", params, optFns, c.addOperationListResponseHeadersPoliciesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListResponseHeadersPoliciesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListResponseHeadersPoliciesInput struct { + + // Use this field when paginating results to indicate where to begin in your list + // of response headers policies. The response includes response headers policies in + // the list that occur after the marker. To get the next page of the list, set this + // field’s value to the value of NextMarker from the current page’s response. + Marker *string + + // The maximum number of response headers policies that you want to get in the + // response. + MaxItems *int32 + + // A filter to get only the specified kind of response headers policies. Valid + // values are: + // + // * managed – Gets only the managed policies created by Amazon Web + // Services. + // + // * custom – Gets only the custom policies created in your Amazon Web + // Services account. + Type types.ResponseHeadersPolicyType + + noSmithyDocumentSerde +} + +type ListResponseHeadersPoliciesOutput struct { + + // A list of response headers policies. + ResponseHeadersPolicyList *types.ResponseHeadersPolicyList + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListResponseHeadersPoliciesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpListResponseHeadersPolicies{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpListResponseHeadersPolicies{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListResponseHeadersPolicies(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opListResponseHeadersPolicies(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "ListResponseHeadersPolicies", + } +} diff --git a/service/cloudfront/api_op_UpdateResponseHeadersPolicy.go b/service/cloudfront/api_op_UpdateResponseHeadersPolicy.go new file mode 100644 index 00000000000..da752c1bb6e --- /dev/null +++ b/service/cloudfront/api_op_UpdateResponseHeadersPolicy.go @@ -0,0 +1,147 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudfront + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates a response headers policy. When you update a response headers policy, +// the entire policy is replaced. You cannot update some policy fields independent +// of others. To update a response headers policy configuration: +// +// * Use +// GetResponseHeadersPolicyConfig to get the current policy’s configuration. +// +// * +// Modify the fields in the response headers policy configuration that you want to +// update. +// +// * Call UpdateResponseHeadersPolicy, providing the entire response +// headers policy configuration, including the fields that you modified and those +// that you didn’t. +func (c *Client) UpdateResponseHeadersPolicy(ctx context.Context, params *UpdateResponseHeadersPolicyInput, optFns ...func(*Options)) (*UpdateResponseHeadersPolicyOutput, error) { + if params == nil { + params = &UpdateResponseHeadersPolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateResponseHeadersPolicy", params, optFns, c.addOperationUpdateResponseHeadersPolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateResponseHeadersPolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateResponseHeadersPolicyInput struct { + + // The identifier for the response headers policy that you are updating. + // + // This member is required. + Id *string + + // A response headers policy configuration. + // + // This member is required. + ResponseHeadersPolicyConfig *types.ResponseHeadersPolicyConfig + + // The version of the response headers policy that you are updating. The version is + // returned in the cache policy’s ETag field in the response to + // GetResponseHeadersPolicyConfig. + IfMatch *string + + noSmithyDocumentSerde +} + +type UpdateResponseHeadersPolicyOutput struct { + + // The current version of the response headers policy. + ETag *string + + // A response headers policy. + ResponseHeadersPolicy *types.ResponseHeadersPolicy + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateResponseHeadersPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestxml_serializeOpUpdateResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestxml_deserializeOpUpdateResponseHeadersPolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateResponseHeadersPolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateResponseHeadersPolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateResponseHeadersPolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudfront", + OperationName: "UpdateResponseHeadersPolicy", + } +} diff --git a/service/cloudfront/deserializers.go b/service/cloudfront/deserializers.go index d09e7eab969..30aea7d3dc6 100644 --- a/service/cloudfront/deserializers.go +++ b/service/cloudfront/deserializers.go @@ -645,6 +645,9 @@ func awsRestxml_deserializeOpErrorCreateDistribution(response *smithyhttp.Respon case strings.EqualFold("NoSuchRealtimeLogConfig", errorCode): return awsRestxml_deserializeErrorNoSuchRealtimeLogConfig(response, errorBody) + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) + case strings.EqualFold("RealtimeLogConfigOwnerMismatch", errorCode): return awsRestxml_deserializeErrorRealtimeLogConfigOwnerMismatch(response, errorBody) @@ -675,6 +678,9 @@ func awsRestxml_deserializeOpErrorCreateDistribution(response *smithyhttp.Respon case strings.EqualFold("TooManyDistributionsAssociatedToOriginRequestPolicy", errorCode): return awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPolicy(response, errorBody) + case strings.EqualFold("TooManyDistributionsAssociatedToResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorTooManyDistributionsAssociatedToResponseHeadersPolicy(response, errorBody) + case strings.EqualFold("TooManyDistributionsWithFunctionAssociations", errorCode): return awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(response, errorBody) @@ -975,6 +981,9 @@ func awsRestxml_deserializeOpErrorCreateDistributionWithTags(response *smithyhtt case strings.EqualFold("NoSuchRealtimeLogConfig", errorCode): return awsRestxml_deserializeErrorNoSuchRealtimeLogConfig(response, errorBody) + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) + case strings.EqualFold("RealtimeLogConfigOwnerMismatch", errorCode): return awsRestxml_deserializeErrorRealtimeLogConfigOwnerMismatch(response, errorBody) @@ -1005,6 +1014,9 @@ func awsRestxml_deserializeOpErrorCreateDistributionWithTags(response *smithyhtt case strings.EqualFold("TooManyDistributionsAssociatedToOriginRequestPolicy", errorCode): return awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPolicy(response, errorBody) + case strings.EqualFold("TooManyDistributionsAssociatedToResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorTooManyDistributionsAssociatedToResponseHeadersPolicy(response, errorBody) + case strings.EqualFold("TooManyDistributionsWithFunctionAssociations", errorCode): return awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(response, errorBody) @@ -2621,6 +2633,180 @@ func awsRestxml_deserializeOpDocumentCreateRealtimeLogConfigOutput(v **CreateRea return nil } +type awsRestxml_deserializeOpCreateResponseHeadersPolicy struct { +} + +func (*awsRestxml_deserializeOpCreateResponseHeadersPolicy) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpCreateResponseHeadersPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorCreateResponseHeadersPolicy(response, &metadata) + } + output := &CreateResponseHeadersPolicyOutput{} + out.Result = output + + err = awsRestxml_deserializeOpHttpBindingsCreateResponseHeadersPolicyOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentResponseHeadersPolicy(&output.ResponseHeadersPolicy, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorCreateResponseHeadersPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + + case strings.EqualFold("InconsistentQuantities", errorCode): + return awsRestxml_deserializeErrorInconsistentQuantities(response, errorBody) + + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + + case strings.EqualFold("ResponseHeadersPolicyAlreadyExists", errorCode): + return awsRestxml_deserializeErrorResponseHeadersPolicyAlreadyExists(response, errorBody) + + case strings.EqualFold("TooManyCustomHeadersInResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorTooManyCustomHeadersInResponseHeadersPolicy(response, errorBody) + + case strings.EqualFold("TooManyResponseHeadersPolicies", errorCode): + return awsRestxml_deserializeErrorTooManyResponseHeadersPolicies(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestxml_deserializeOpHttpBindingsCreateResponseHeadersPolicyOutput(v *CreateResponseHeadersPolicyOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("ETag"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ETag = ptr.String(headerValues[0]) + } + + if headerValues := response.Header.Values("Location"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.Location = ptr.String(headerValues[0]) + } + + return nil +} +func awsRestxml_deserializeOpDocumentCreateResponseHeadersPolicyOutput(v **CreateResponseHeadersPolicyOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *CreateResponseHeadersPolicyOutput + if *v == nil { + sv = &CreateResponseHeadersPolicyOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("ResponseHeadersPolicy", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicy(&sv.ResponseHeadersPolicy, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + type awsRestxml_deserializeOpCreateStreamingDistribution struct { } @@ -3931,6 +4117,94 @@ func awsRestxml_deserializeOpErrorDeleteRealtimeLogConfig(response *smithyhttp.R } } +type awsRestxml_deserializeOpDeleteResponseHeadersPolicy struct { +} + +func (*awsRestxml_deserializeOpDeleteResponseHeadersPolicy) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpDeleteResponseHeadersPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorDeleteResponseHeadersPolicy(response, &metadata) + } + output := &DeleteResponseHeadersPolicyOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorDeleteResponseHeadersPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + + case strings.EqualFold("IllegalDelete", errorCode): + return awsRestxml_deserializeErrorIllegalDelete(response, errorBody) + + case strings.EqualFold("InvalidIfMatchVersion", errorCode): + return awsRestxml_deserializeErrorInvalidIfMatchVersion(response, errorBody) + + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) + + case strings.EqualFold("PreconditionFailed", errorCode): + return awsRestxml_deserializeErrorPreconditionFailed(response, errorBody) + + case strings.EqualFold("ResponseHeadersPolicyInUse", errorCode): + return awsRestxml_deserializeErrorResponseHeadersPolicyInUse(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestxml_deserializeOpDeleteStreamingDistribution struct { } @@ -7219,14 +7493,14 @@ func awsRestxml_deserializeOpDocumentGetRealtimeLogConfigOutput(v **GetRealtimeL return nil } -type awsRestxml_deserializeOpGetStreamingDistribution struct { +type awsRestxml_deserializeOpGetResponseHeadersPolicy struct { } -func (*awsRestxml_deserializeOpGetStreamingDistribution) ID() string { +func (*awsRestxml_deserializeOpGetResponseHeadersPolicy) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpGetStreamingDistribution) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpGetResponseHeadersPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -7240,12 +7514,12 @@ func (m *awsRestxml_deserializeOpGetStreamingDistribution) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorGetStreamingDistribution(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorGetResponseHeadersPolicy(response, &metadata) } - output := &GetStreamingDistributionOutput{} + output := &GetResponseHeadersPolicyOutput{} out.Result = output - err = awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionOutput(output, response) + err = awsRestxml_deserializeOpHttpBindingsGetResponseHeadersPolicyOutput(output, response) if err != nil { return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} } @@ -7268,7 +7542,7 @@ func (m *awsRestxml_deserializeOpGetStreamingDistribution) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentStreamingDistribution(&output.StreamingDistribution, decoder) + err = awsRestxml_deserializeDocumentResponseHeadersPolicy(&output.ResponseHeadersPolicy, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7281,7 +7555,7 @@ func (m *awsRestxml_deserializeOpGetStreamingDistribution) HandleDeserialize(ctx return out, metadata, err } -func awsRestxml_deserializeOpErrorGetStreamingDistribution(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorGetResponseHeadersPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -7309,8 +7583,8 @@ func awsRestxml_deserializeOpErrorGetStreamingDistribution(response *smithyhttp. case strings.EqualFold("AccessDenied", errorCode): return awsRestxml_deserializeErrorAccessDenied(response, errorBody) - case strings.EqualFold("NoSuchStreamingDistribution", errorCode): - return awsRestxml_deserializeErrorNoSuchStreamingDistribution(response, errorBody) + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -7322,7 +7596,7 @@ func awsRestxml_deserializeOpErrorGetStreamingDistribution(response *smithyhttp. } } -func awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionOutput(v *GetStreamingDistributionOutput, response *smithyhttp.Response) error { +func awsRestxml_deserializeOpHttpBindingsGetResponseHeadersPolicyOutput(v *GetResponseHeadersPolicyOutput, response *smithyhttp.Response) error { if v == nil { return fmt.Errorf("unsupported deserialization for nil %T", v) } @@ -7334,13 +7608,13 @@ func awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionOutput(v *GetSt return nil } -func awsRestxml_deserializeOpDocumentGetStreamingDistributionOutput(v **GetStreamingDistributionOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentGetResponseHeadersPolicyOutput(v **GetResponseHeadersPolicyOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *GetStreamingDistributionOutput + var sv *GetResponseHeadersPolicyOutput if *v == nil { - sv = &GetStreamingDistributionOutput{} + sv = &GetResponseHeadersPolicyOutput{} } else { sv = *v } @@ -7356,9 +7630,9 @@ func awsRestxml_deserializeOpDocumentGetStreamingDistributionOutput(v **GetStrea originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("StreamingDistribution", t.Name.Local): + case strings.EqualFold("ResponseHeadersPolicy", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentStreamingDistribution(&sv.StreamingDistribution, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentResponseHeadersPolicy(&sv.ResponseHeadersPolicy, nodeDecoder); err != nil { return err } @@ -7376,14 +7650,14 @@ func awsRestxml_deserializeOpDocumentGetStreamingDistributionOutput(v **GetStrea return nil } -type awsRestxml_deserializeOpGetStreamingDistributionConfig struct { +type awsRestxml_deserializeOpGetResponseHeadersPolicyConfig struct { } -func (*awsRestxml_deserializeOpGetStreamingDistributionConfig) ID() string { +func (*awsRestxml_deserializeOpGetResponseHeadersPolicyConfig) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpGetStreamingDistributionConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpGetResponseHeadersPolicyConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -7397,12 +7671,12 @@ func (m *awsRestxml_deserializeOpGetStreamingDistributionConfig) HandleDeseriali } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorGetStreamingDistributionConfig(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorGetResponseHeadersPolicyConfig(response, &metadata) } - output := &GetStreamingDistributionConfigOutput{} + output := &GetResponseHeadersPolicyConfigOutput{} out.Result = output - err = awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionConfigOutput(output, response) + err = awsRestxml_deserializeOpHttpBindingsGetResponseHeadersPolicyConfigOutput(output, response) if err != nil { return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} } @@ -7425,7 +7699,7 @@ func (m *awsRestxml_deserializeOpGetStreamingDistributionConfig) HandleDeseriali } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentStreamingDistributionConfig(&output.StreamingDistributionConfig, decoder) + err = awsRestxml_deserializeDocumentResponseHeadersPolicyConfig(&output.ResponseHeadersPolicyConfig, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7438,7 +7712,7 @@ func (m *awsRestxml_deserializeOpGetStreamingDistributionConfig) HandleDeseriali return out, metadata, err } -func awsRestxml_deserializeOpErrorGetStreamingDistributionConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorGetResponseHeadersPolicyConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -7466,8 +7740,8 @@ func awsRestxml_deserializeOpErrorGetStreamingDistributionConfig(response *smith case strings.EqualFold("AccessDenied", errorCode): return awsRestxml_deserializeErrorAccessDenied(response, errorBody) - case strings.EqualFold("NoSuchStreamingDistribution", errorCode): - return awsRestxml_deserializeErrorNoSuchStreamingDistribution(response, errorBody) + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -7479,7 +7753,7 @@ func awsRestxml_deserializeOpErrorGetStreamingDistributionConfig(response *smith } } -func awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionConfigOutput(v *GetStreamingDistributionConfigOutput, response *smithyhttp.Response) error { +func awsRestxml_deserializeOpHttpBindingsGetResponseHeadersPolicyConfigOutput(v *GetResponseHeadersPolicyConfigOutput, response *smithyhttp.Response) error { if v == nil { return fmt.Errorf("unsupported deserialization for nil %T", v) } @@ -7491,13 +7765,13 @@ func awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionConfigOutput(v return nil } -func awsRestxml_deserializeOpDocumentGetStreamingDistributionConfigOutput(v **GetStreamingDistributionConfigOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentGetResponseHeadersPolicyConfigOutput(v **GetResponseHeadersPolicyConfigOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *GetStreamingDistributionConfigOutput + var sv *GetResponseHeadersPolicyConfigOutput if *v == nil { - sv = &GetStreamingDistributionConfigOutput{} + sv = &GetResponseHeadersPolicyConfigOutput{} } else { sv = *v } @@ -7513,9 +7787,9 @@ func awsRestxml_deserializeOpDocumentGetStreamingDistributionConfigOutput(v **Ge originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("StreamingDistributionConfig", t.Name.Local): + case strings.EqualFold("ResponseHeadersPolicyConfig", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentStreamingDistributionConfig(&sv.StreamingDistributionConfig, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyConfig(&sv.ResponseHeadersPolicyConfig, nodeDecoder); err != nil { return err } @@ -7533,14 +7807,14 @@ func awsRestxml_deserializeOpDocumentGetStreamingDistributionConfigOutput(v **Ge return nil } -type awsRestxml_deserializeOpListCachePolicies struct { +type awsRestxml_deserializeOpGetStreamingDistribution struct { } -func (*awsRestxml_deserializeOpListCachePolicies) ID() string { +func (*awsRestxml_deserializeOpGetStreamingDistribution) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListCachePolicies) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpGetStreamingDistribution) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -7554,11 +7828,16 @@ func (m *awsRestxml_deserializeOpListCachePolicies) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListCachePolicies(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorGetStreamingDistribution(response, &metadata) } - output := &ListCachePoliciesOutput{} + output := &GetStreamingDistributionOutput{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -7577,7 +7856,7 @@ func (m *awsRestxml_deserializeOpListCachePolicies) HandleDeserialize(ctx contex } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentCachePolicyList(&output.CachePolicyList, decoder) + err = awsRestxml_deserializeDocumentStreamingDistribution(&output.StreamingDistribution, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7590,7 +7869,7 @@ func (m *awsRestxml_deserializeOpListCachePolicies) HandleDeserialize(ctx contex return out, metadata, err } -func awsRestxml_deserializeOpErrorListCachePolicies(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorGetStreamingDistribution(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -7618,11 +7897,8 @@ func awsRestxml_deserializeOpErrorListCachePolicies(response *smithyhttp.Respons case strings.EqualFold("AccessDenied", errorCode): return awsRestxml_deserializeErrorAccessDenied(response, errorBody) - case strings.EqualFold("InvalidArgument", errorCode): - return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - - case strings.EqualFold("NoSuchCachePolicy", errorCode): - return awsRestxml_deserializeErrorNoSuchCachePolicy(response, errorBody) + case strings.EqualFold("NoSuchStreamingDistribution", errorCode): + return awsRestxml_deserializeErrorNoSuchStreamingDistribution(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -7634,150 +7910,25 @@ func awsRestxml_deserializeOpErrorListCachePolicies(response *smithyhttp.Respons } } -func awsRestxml_deserializeOpDocumentListCachePoliciesOutput(v **ListCachePoliciesOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionOutput(v *GetStreamingDistributionOutput, response *smithyhttp.Response) error { if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - var sv *ListCachePoliciesOutput - if *v == nil { - sv = &ListCachePoliciesOutput{} - } else { - sv = *v - } - - for { - t, done, err := decoder.Token() - if err != nil { - return err - } - if done { - break - } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) - switch { - case strings.EqualFold("CachePolicyList", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentCachePolicyList(&sv.CachePolicyList, nodeDecoder); err != nil { - return err - } - - default: - // Do nothing and ignore the unexpected tag element - err = decoder.Decoder.Skip() - if err != nil { - return err - } - - } - decoder = originalDecoder - } - *v = sv - return nil -} - -type awsRestxml_deserializeOpListCloudFrontOriginAccessIdentities struct { -} - -func (*awsRestxml_deserializeOpListCloudFrontOriginAccessIdentities) ID() string { - return "OperationDeserializer" -} - -func (m *awsRestxml_deserializeOpListCloudFrontOriginAccessIdentities) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListCloudFrontOriginAccessIdentities(response, &metadata) - } - output := &ListCloudFrontOriginAccessIdentitiesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentCloudFrontOriginAccessIdentityList(&output.CloudFrontOriginAccessIdentityList, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - return out, metadata, err -} - -func awsRestxml_deserializeOpErrorListCloudFrontOriginAccessIdentities(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + return fmt.Errorf("unsupported deserialization for nil %T", v) } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - errorCode := "UnknownError" - errorMessage := errorCode - - errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) - if err != nil { - return err - } - if reqID := errorComponents.RequestID; len(reqID) != 0 { - awsmiddleware.SetRequestIDMetadata(metadata, reqID) - } - if len(errorComponents.Code) != 0 { - errorCode = errorComponents.Code - } - if len(errorComponents.Message) != 0 { - errorMessage = errorComponents.Message + if headerValues := response.Header.Values("ETag"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ETag = ptr.String(headerValues[0]) } - errorBody.Seek(0, io.SeekStart) - switch { - case strings.EqualFold("InvalidArgument", errorCode): - return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } + return nil } - -func awsRestxml_deserializeOpDocumentListCloudFrontOriginAccessIdentitiesOutput(v **ListCloudFrontOriginAccessIdentitiesOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentGetStreamingDistributionOutput(v **GetStreamingDistributionOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListCloudFrontOriginAccessIdentitiesOutput + var sv *GetStreamingDistributionOutput if *v == nil { - sv = &ListCloudFrontOriginAccessIdentitiesOutput{} + sv = &GetStreamingDistributionOutput{} } else { sv = *v } @@ -7793,9 +7944,9 @@ func awsRestxml_deserializeOpDocumentListCloudFrontOriginAccessIdentitiesOutput( originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("CloudFrontOriginAccessIdentityList", t.Name.Local): + case strings.EqualFold("StreamingDistribution", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentCloudFrontOriginAccessIdentityList(&sv.CloudFrontOriginAccessIdentityList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentStreamingDistribution(&sv.StreamingDistribution, nodeDecoder); err != nil { return err } @@ -7813,14 +7964,14 @@ func awsRestxml_deserializeOpDocumentListCloudFrontOriginAccessIdentitiesOutput( return nil } -type awsRestxml_deserializeOpListConflictingAliases struct { +type awsRestxml_deserializeOpGetStreamingDistributionConfig struct { } -func (*awsRestxml_deserializeOpListConflictingAliases) ID() string { +func (*awsRestxml_deserializeOpGetStreamingDistributionConfig) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListConflictingAliases) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpGetStreamingDistributionConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -7834,11 +7985,16 @@ func (m *awsRestxml_deserializeOpListConflictingAliases) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListConflictingAliases(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorGetStreamingDistributionConfig(response, &metadata) } - output := &ListConflictingAliasesOutput{} + output := &GetStreamingDistributionConfigOutput{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionConfigOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -7857,7 +8013,7 @@ func (m *awsRestxml_deserializeOpListConflictingAliases) HandleDeserialize(ctx c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentConflictingAliasesList(&output.ConflictingAliasesList, decoder) + err = awsRestxml_deserializeDocumentStreamingDistributionConfig(&output.StreamingDistributionConfig, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7870,7 +8026,7 @@ func (m *awsRestxml_deserializeOpListConflictingAliases) HandleDeserialize(ctx c return out, metadata, err } -func awsRestxml_deserializeOpErrorListConflictingAliases(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorGetStreamingDistributionConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -7895,11 +8051,11 @@ func awsRestxml_deserializeOpErrorListConflictingAliases(response *smithyhttp.Re } errorBody.Seek(0, io.SeekStart) switch { - case strings.EqualFold("InvalidArgument", errorCode): - return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) - case strings.EqualFold("NoSuchDistribution", errorCode): - return awsRestxml_deserializeErrorNoSuchDistribution(response, errorBody) + case strings.EqualFold("NoSuchStreamingDistribution", errorCode): + return awsRestxml_deserializeErrorNoSuchStreamingDistribution(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -7911,13 +8067,25 @@ func awsRestxml_deserializeOpErrorListConflictingAliases(response *smithyhttp.Re } } -func awsRestxml_deserializeOpDocumentListConflictingAliasesOutput(v **ListConflictingAliasesOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpHttpBindingsGetStreamingDistributionConfigOutput(v *GetStreamingDistributionConfigOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("ETag"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ETag = ptr.String(headerValues[0]) + } + + return nil +} +func awsRestxml_deserializeOpDocumentGetStreamingDistributionConfigOutput(v **GetStreamingDistributionConfigOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListConflictingAliasesOutput + var sv *GetStreamingDistributionConfigOutput if *v == nil { - sv = &ListConflictingAliasesOutput{} + sv = &GetStreamingDistributionConfigOutput{} } else { sv = *v } @@ -7933,9 +8101,9 @@ func awsRestxml_deserializeOpDocumentListConflictingAliasesOutput(v **ListConfli originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("ConflictingAliasesList", t.Name.Local): + case strings.EqualFold("StreamingDistributionConfig", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentConflictingAliasesList(&sv.ConflictingAliasesList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentStreamingDistributionConfig(&sv.StreamingDistributionConfig, nodeDecoder); err != nil { return err } @@ -7953,14 +8121,14 @@ func awsRestxml_deserializeOpDocumentListConflictingAliasesOutput(v **ListConfli return nil } -type awsRestxml_deserializeOpListDistributions struct { +type awsRestxml_deserializeOpListCachePolicies struct { } -func (*awsRestxml_deserializeOpListDistributions) ID() string { +func (*awsRestxml_deserializeOpListCachePolicies) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListDistributions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListCachePolicies) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -7974,9 +8142,9 @@ func (m *awsRestxml_deserializeOpListDistributions) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListDistributions(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListCachePolicies(response, &metadata) } - output := &ListDistributionsOutput{} + output := &ListCachePoliciesOutput{} out.Result = output var buff [1024]byte @@ -7997,7 +8165,7 @@ func (m *awsRestxml_deserializeOpListDistributions) HandleDeserialize(ctx contex } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentDistributionList(&output.DistributionList, decoder) + err = awsRestxml_deserializeDocumentCachePolicyList(&output.CachePolicyList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8010,7 +8178,7 @@ func (m *awsRestxml_deserializeOpListDistributions) HandleDeserialize(ctx contex return out, metadata, err } -func awsRestxml_deserializeOpErrorListDistributions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListCachePolicies(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8035,9 +8203,15 @@ func awsRestxml_deserializeOpErrorListDistributions(response *smithyhttp.Respons } errorBody.Seek(0, io.SeekStart) switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + case strings.EqualFold("NoSuchCachePolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchCachePolicy(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8048,13 +8222,13 @@ func awsRestxml_deserializeOpErrorListDistributions(response *smithyhttp.Respons } } -func awsRestxml_deserializeOpDocumentListDistributionsOutput(v **ListDistributionsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListCachePoliciesOutput(v **ListCachePoliciesOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListDistributionsOutput + var sv *ListCachePoliciesOutput if *v == nil { - sv = &ListDistributionsOutput{} + sv = &ListCachePoliciesOutput{} } else { sv = *v } @@ -8070,9 +8244,9 @@ func awsRestxml_deserializeOpDocumentListDistributionsOutput(v **ListDistributio originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("DistributionList", t.Name.Local): + case strings.EqualFold("CachePolicyList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentDistributionList(&sv.DistributionList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentCachePolicyList(&sv.CachePolicyList, nodeDecoder); err != nil { return err } @@ -8090,14 +8264,14 @@ func awsRestxml_deserializeOpDocumentListDistributionsOutput(v **ListDistributio return nil } -type awsRestxml_deserializeOpListDistributionsByCachePolicyId struct { +type awsRestxml_deserializeOpListCloudFrontOriginAccessIdentities struct { } -func (*awsRestxml_deserializeOpListDistributionsByCachePolicyId) ID() string { +func (*awsRestxml_deserializeOpListCloudFrontOriginAccessIdentities) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListDistributionsByCachePolicyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListCloudFrontOriginAccessIdentities) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8111,9 +8285,9 @@ func (m *awsRestxml_deserializeOpListDistributionsByCachePolicyId) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByCachePolicyId(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListCloudFrontOriginAccessIdentities(response, &metadata) } - output := &ListDistributionsByCachePolicyIdOutput{} + output := &ListCloudFrontOriginAccessIdentitiesOutput{} out.Result = output var buff [1024]byte @@ -8134,7 +8308,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByCachePolicyId) HandleDeseria } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentDistributionIdList(&output.DistributionIdList, decoder) + err = awsRestxml_deserializeDocumentCloudFrontOriginAccessIdentityList(&output.CloudFrontOriginAccessIdentityList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8147,7 +8321,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByCachePolicyId) HandleDeseria return out, metadata, err } -func awsRestxml_deserializeOpErrorListDistributionsByCachePolicyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListCloudFrontOriginAccessIdentities(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8172,14 +8346,148 @@ func awsRestxml_deserializeOpErrorListDistributionsByCachePolicyId(response *smi } errorBody.Seek(0, io.SeekStart) switch { - case strings.EqualFold("AccessDenied", errorCode): - return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} +func awsRestxml_deserializeOpDocumentListCloudFrontOriginAccessIdentitiesOutput(v **ListCloudFrontOriginAccessIdentitiesOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ListCloudFrontOriginAccessIdentitiesOutput + if *v == nil { + sv = &ListCloudFrontOriginAccessIdentitiesOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("CloudFrontOriginAccessIdentityList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentCloudFrontOriginAccessIdentityList(&sv.CloudFrontOriginAccessIdentityList, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +type awsRestxml_deserializeOpListConflictingAliases struct { +} + +func (*awsRestxml_deserializeOpListConflictingAliases) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpListConflictingAliases) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorListConflictingAliases(response, &metadata) + } + output := &ListConflictingAliasesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentConflictingAliasesList(&output.ConflictingAliasesList, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorListConflictingAliases(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("NoSuchCachePolicy", errorCode): - return awsRestxml_deserializeErrorNoSuchCachePolicy(response, errorBody) + case strings.EqualFold("NoSuchDistribution", errorCode): + return awsRestxml_deserializeErrorNoSuchDistribution(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -8191,13 +8499,13 @@ func awsRestxml_deserializeOpErrorListDistributionsByCachePolicyId(response *smi } } -func awsRestxml_deserializeOpDocumentListDistributionsByCachePolicyIdOutput(v **ListDistributionsByCachePolicyIdOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListConflictingAliasesOutput(v **ListConflictingAliasesOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListDistributionsByCachePolicyIdOutput + var sv *ListConflictingAliasesOutput if *v == nil { - sv = &ListDistributionsByCachePolicyIdOutput{} + sv = &ListConflictingAliasesOutput{} } else { sv = *v } @@ -8213,9 +8521,9 @@ func awsRestxml_deserializeOpDocumentListDistributionsByCachePolicyIdOutput(v ** originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("DistributionIdList", t.Name.Local): + case strings.EqualFold("ConflictingAliasesList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentDistributionIdList(&sv.DistributionIdList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentConflictingAliasesList(&sv.ConflictingAliasesList, nodeDecoder); err != nil { return err } @@ -8233,14 +8541,14 @@ func awsRestxml_deserializeOpDocumentListDistributionsByCachePolicyIdOutput(v ** return nil } -type awsRestxml_deserializeOpListDistributionsByKeyGroup struct { +type awsRestxml_deserializeOpListDistributions struct { } -func (*awsRestxml_deserializeOpListDistributionsByKeyGroup) ID() string { +func (*awsRestxml_deserializeOpListDistributions) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListDistributionsByKeyGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8254,9 +8562,9 @@ func (m *awsRestxml_deserializeOpListDistributionsByKeyGroup) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByKeyGroup(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributions(response, &metadata) } - output := &ListDistributionsByKeyGroupOutput{} + output := &ListDistributionsOutput{} out.Result = output var buff [1024]byte @@ -8277,7 +8585,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByKeyGroup) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentDistributionIdList(&output.DistributionIdList, decoder) + err = awsRestxml_deserializeDocumentDistributionList(&output.DistributionList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8290,7 +8598,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByKeyGroup) HandleDeserialize( return out, metadata, err } -func awsRestxml_deserializeOpErrorListDistributionsByKeyGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8318,9 +8626,6 @@ func awsRestxml_deserializeOpErrorListDistributionsByKeyGroup(response *smithyht case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("NoSuchResource", errorCode): - return awsRestxml_deserializeErrorNoSuchResource(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8331,13 +8636,13 @@ func awsRestxml_deserializeOpErrorListDistributionsByKeyGroup(response *smithyht } } -func awsRestxml_deserializeOpDocumentListDistributionsByKeyGroupOutput(v **ListDistributionsByKeyGroupOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsOutput(v **ListDistributionsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListDistributionsByKeyGroupOutput + var sv *ListDistributionsOutput if *v == nil { - sv = &ListDistributionsByKeyGroupOutput{} + sv = &ListDistributionsOutput{} } else { sv = *v } @@ -8353,9 +8658,9 @@ func awsRestxml_deserializeOpDocumentListDistributionsByKeyGroupOutput(v **ListD originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("DistributionIdList", t.Name.Local): + case strings.EqualFold("DistributionList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentDistributionIdList(&sv.DistributionIdList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentDistributionList(&sv.DistributionList, nodeDecoder); err != nil { return err } @@ -8373,14 +8678,14 @@ func awsRestxml_deserializeOpDocumentListDistributionsByKeyGroupOutput(v **ListD return nil } -type awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId struct { +type awsRestxml_deserializeOpListDistributionsByCachePolicyId struct { } -func (*awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId) ID() string { +func (*awsRestxml_deserializeOpListDistributionsByCachePolicyId) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributionsByCachePolicyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8394,9 +8699,9 @@ func (m *awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId) Handl } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByOriginRequestPolicyId(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByCachePolicyId(response, &metadata) } - output := &ListDistributionsByOriginRequestPolicyIdOutput{} + output := &ListDistributionsByCachePolicyIdOutput{} out.Result = output var buff [1024]byte @@ -8430,7 +8735,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId) Handl return out, metadata, err } -func awsRestxml_deserializeOpErrorListDistributionsByOriginRequestPolicyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributionsByCachePolicyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8461,8 +8766,8 @@ func awsRestxml_deserializeOpErrorListDistributionsByOriginRequestPolicyId(respo case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("NoSuchOriginRequestPolicy", errorCode): - return awsRestxml_deserializeErrorNoSuchOriginRequestPolicy(response, errorBody) + case strings.EqualFold("NoSuchCachePolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchCachePolicy(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -8474,13 +8779,13 @@ func awsRestxml_deserializeOpErrorListDistributionsByOriginRequestPolicyId(respo } } -func awsRestxml_deserializeOpDocumentListDistributionsByOriginRequestPolicyIdOutput(v **ListDistributionsByOriginRequestPolicyIdOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsByCachePolicyIdOutput(v **ListDistributionsByCachePolicyIdOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListDistributionsByOriginRequestPolicyIdOutput + var sv *ListDistributionsByCachePolicyIdOutput if *v == nil { - sv = &ListDistributionsByOriginRequestPolicyIdOutput{} + sv = &ListDistributionsByCachePolicyIdOutput{} } else { sv = *v } @@ -8516,14 +8821,14 @@ func awsRestxml_deserializeOpDocumentListDistributionsByOriginRequestPolicyIdOut return nil } -type awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig struct { +type awsRestxml_deserializeOpListDistributionsByKeyGroup struct { } -func (*awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) ID() string { +func (*awsRestxml_deserializeOpListDistributionsByKeyGroup) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributionsByKeyGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8537,9 +8842,9 @@ func (m *awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) HandleDes } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByRealtimeLogConfig(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByKeyGroup(response, &metadata) } - output := &ListDistributionsByRealtimeLogConfigOutput{} + output := &ListDistributionsByKeyGroupOutput{} out.Result = output var buff [1024]byte @@ -8560,7 +8865,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) HandleDes } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentDistributionList(&output.DistributionList, decoder) + err = awsRestxml_deserializeDocumentDistributionIdList(&output.DistributionIdList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8573,7 +8878,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) HandleDes return out, metadata, err } -func awsRestxml_deserializeOpErrorListDistributionsByRealtimeLogConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributionsByKeyGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8601,6 +8906,9 @@ func awsRestxml_deserializeOpErrorListDistributionsByRealtimeLogConfig(response case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + case strings.EqualFold("NoSuchResource", errorCode): + return awsRestxml_deserializeErrorNoSuchResource(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8611,13 +8919,13 @@ func awsRestxml_deserializeOpErrorListDistributionsByRealtimeLogConfig(response } } -func awsRestxml_deserializeOpDocumentListDistributionsByRealtimeLogConfigOutput(v **ListDistributionsByRealtimeLogConfigOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsByKeyGroupOutput(v **ListDistributionsByKeyGroupOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListDistributionsByRealtimeLogConfigOutput + var sv *ListDistributionsByKeyGroupOutput if *v == nil { - sv = &ListDistributionsByRealtimeLogConfigOutput{} + sv = &ListDistributionsByKeyGroupOutput{} } else { sv = *v } @@ -8633,9 +8941,9 @@ func awsRestxml_deserializeOpDocumentListDistributionsByRealtimeLogConfigOutput( originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("DistributionList", t.Name.Local): + case strings.EqualFold("DistributionIdList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentDistributionList(&sv.DistributionList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentDistributionIdList(&sv.DistributionIdList, nodeDecoder); err != nil { return err } @@ -8653,14 +8961,14 @@ func awsRestxml_deserializeOpDocumentListDistributionsByRealtimeLogConfigOutput( return nil } -type awsRestxml_deserializeOpListDistributionsByWebACLId struct { +type awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId struct { } -func (*awsRestxml_deserializeOpListDistributionsByWebACLId) ID() string { +func (*awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListDistributionsByWebACLId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributionsByOriginRequestPolicyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8674,9 +8982,9 @@ func (m *awsRestxml_deserializeOpListDistributionsByWebACLId) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByWebACLId(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByOriginRequestPolicyId(response, &metadata) } - output := &ListDistributionsByWebACLIdOutput{} + output := &ListDistributionsByOriginRequestPolicyIdOutput{} out.Result = output var buff [1024]byte @@ -8697,7 +9005,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByWebACLId) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentDistributionList(&output.DistributionList, decoder) + err = awsRestxml_deserializeDocumentDistributionIdList(&output.DistributionIdList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8710,7 +9018,7 @@ func (m *awsRestxml_deserializeOpListDistributionsByWebACLId) HandleDeserialize( return out, metadata, err } -func awsRestxml_deserializeOpErrorListDistributionsByWebACLId(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributionsByOriginRequestPolicyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8735,11 +9043,14 @@ func awsRestxml_deserializeOpErrorListDistributionsByWebACLId(response *smithyht } errorBody.Seek(0, io.SeekStart) switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("InvalidWebACLId", errorCode): - return awsRestxml_deserializeErrorInvalidWebACLId(response, errorBody) + case strings.EqualFold("NoSuchOriginRequestPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchOriginRequestPolicy(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -8751,13 +9062,13 @@ func awsRestxml_deserializeOpErrorListDistributionsByWebACLId(response *smithyht } } -func awsRestxml_deserializeOpDocumentListDistributionsByWebACLIdOutput(v **ListDistributionsByWebACLIdOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsByOriginRequestPolicyIdOutput(v **ListDistributionsByOriginRequestPolicyIdOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListDistributionsByWebACLIdOutput + var sv *ListDistributionsByOriginRequestPolicyIdOutput if *v == nil { - sv = &ListDistributionsByWebACLIdOutput{} + sv = &ListDistributionsByOriginRequestPolicyIdOutput{} } else { sv = *v } @@ -8773,9 +9084,9 @@ func awsRestxml_deserializeOpDocumentListDistributionsByWebACLIdOutput(v **ListD originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("DistributionList", t.Name.Local): + case strings.EqualFold("DistributionIdList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentDistributionList(&sv.DistributionList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentDistributionIdList(&sv.DistributionIdList, nodeDecoder); err != nil { return err } @@ -8793,14 +9104,14 @@ func awsRestxml_deserializeOpDocumentListDistributionsByWebACLIdOutput(v **ListD return nil } -type awsRestxml_deserializeOpListFieldLevelEncryptionConfigs struct { +type awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig struct { } -func (*awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) ID() string { +func (*awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributionsByRealtimeLogConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8814,9 +9125,9 @@ func (m *awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) HandleDeserial } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListFieldLevelEncryptionConfigs(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByRealtimeLogConfig(response, &metadata) } - output := &ListFieldLevelEncryptionConfigsOutput{} + output := &ListDistributionsByRealtimeLogConfigOutput{} out.Result = output var buff [1024]byte @@ -8837,7 +9148,7 @@ func (m *awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) HandleDeserial } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentFieldLevelEncryptionList(&output.FieldLevelEncryptionList, decoder) + err = awsRestxml_deserializeDocumentDistributionList(&output.DistributionList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8850,7 +9161,7 @@ func (m *awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) HandleDeserial return out, metadata, err } -func awsRestxml_deserializeOpErrorListFieldLevelEncryptionConfigs(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributionsByRealtimeLogConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -8888,13 +9199,13 @@ func awsRestxml_deserializeOpErrorListFieldLevelEncryptionConfigs(response *smit } } -func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionConfigsOutput(v **ListFieldLevelEncryptionConfigsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsByRealtimeLogConfigOutput(v **ListDistributionsByRealtimeLogConfigOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListFieldLevelEncryptionConfigsOutput + var sv *ListDistributionsByRealtimeLogConfigOutput if *v == nil { - sv = &ListFieldLevelEncryptionConfigsOutput{} + sv = &ListDistributionsByRealtimeLogConfigOutput{} } else { sv = *v } @@ -8910,9 +9221,9 @@ func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionConfigsOutput(v **L originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("FieldLevelEncryptionList", t.Name.Local): + case strings.EqualFold("DistributionList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentFieldLevelEncryptionList(&sv.FieldLevelEncryptionList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentDistributionList(&sv.DistributionList, nodeDecoder); err != nil { return err } @@ -8930,14 +9241,14 @@ func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionConfigsOutput(v **L return nil } -type awsRestxml_deserializeOpListFieldLevelEncryptionProfiles struct { +type awsRestxml_deserializeOpListDistributionsByResponseHeadersPolicyId struct { } -func (*awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) ID() string { +func (*awsRestxml_deserializeOpListDistributionsByResponseHeadersPolicyId) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributionsByResponseHeadersPolicyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -8951,9 +9262,9 @@ func (m *awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListFieldLevelEncryptionProfiles(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByResponseHeadersPolicyId(response, &metadata) } - output := &ListFieldLevelEncryptionProfilesOutput{} + output := &ListDistributionsByResponseHeadersPolicyIdOutput{} out.Result = output var buff [1024]byte @@ -8974,7 +9285,7 @@ func (m *awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) HandleDeseria } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentFieldLevelEncryptionProfileList(&output.FieldLevelEncryptionProfileList, decoder) + err = awsRestxml_deserializeDocumentDistributionIdList(&output.DistributionIdList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -8987,7 +9298,7 @@ func (m *awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) HandleDeseria return out, metadata, err } -func awsRestxml_deserializeOpErrorListFieldLevelEncryptionProfiles(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributionsByResponseHeadersPolicyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9012,9 +9323,15 @@ func awsRestxml_deserializeOpErrorListFieldLevelEncryptionProfiles(response *smi } errorBody.Seek(0, io.SeekStart) switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -9025,13 +9342,13 @@ func awsRestxml_deserializeOpErrorListFieldLevelEncryptionProfiles(response *smi } } -func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionProfilesOutput(v **ListFieldLevelEncryptionProfilesOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsByResponseHeadersPolicyIdOutput(v **ListDistributionsByResponseHeadersPolicyIdOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListFieldLevelEncryptionProfilesOutput + var sv *ListDistributionsByResponseHeadersPolicyIdOutput if *v == nil { - sv = &ListFieldLevelEncryptionProfilesOutput{} + sv = &ListDistributionsByResponseHeadersPolicyIdOutput{} } else { sv = *v } @@ -9047,9 +9364,9 @@ func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionProfilesOutput(v ** originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("FieldLevelEncryptionProfileList", t.Name.Local): + case strings.EqualFold("DistributionIdList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentFieldLevelEncryptionProfileList(&sv.FieldLevelEncryptionProfileList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentDistributionIdList(&sv.DistributionIdList, nodeDecoder); err != nil { return err } @@ -9067,14 +9384,14 @@ func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionProfilesOutput(v ** return nil } -type awsRestxml_deserializeOpListFunctions struct { +type awsRestxml_deserializeOpListDistributionsByWebACLId struct { } -func (*awsRestxml_deserializeOpListFunctions) ID() string { +func (*awsRestxml_deserializeOpListDistributionsByWebACLId) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListFunctions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListDistributionsByWebACLId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9088,9 +9405,9 @@ func (m *awsRestxml_deserializeOpListFunctions) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListFunctions(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListDistributionsByWebACLId(response, &metadata) } - output := &ListFunctionsOutput{} + output := &ListDistributionsByWebACLIdOutput{} out.Result = output var buff [1024]byte @@ -9111,7 +9428,7 @@ func (m *awsRestxml_deserializeOpListFunctions) HandleDeserialize(ctx context.Co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentFunctionList(&output.FunctionList, decoder) + err = awsRestxml_deserializeDocumentDistributionList(&output.DistributionList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9124,7 +9441,7 @@ func (m *awsRestxml_deserializeOpListFunctions) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsRestxml_deserializeOpErrorListFunctions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListDistributionsByWebACLId(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9152,8 +9469,8 @@ func awsRestxml_deserializeOpErrorListFunctions(response *smithyhttp.Response, m case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("UnsupportedOperation", errorCode): - return awsRestxml_deserializeErrorUnsupportedOperation(response, errorBody) + case strings.EqualFold("InvalidWebACLId", errorCode): + return awsRestxml_deserializeErrorInvalidWebACLId(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9165,13 +9482,13 @@ func awsRestxml_deserializeOpErrorListFunctions(response *smithyhttp.Response, m } } -func awsRestxml_deserializeOpDocumentListFunctionsOutput(v **ListFunctionsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListDistributionsByWebACLIdOutput(v **ListDistributionsByWebACLIdOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListFunctionsOutput + var sv *ListDistributionsByWebACLIdOutput if *v == nil { - sv = &ListFunctionsOutput{} + sv = &ListDistributionsByWebACLIdOutput{} } else { sv = *v } @@ -9187,9 +9504,9 @@ func awsRestxml_deserializeOpDocumentListFunctionsOutput(v **ListFunctionsOutput originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("FunctionList", t.Name.Local): + case strings.EqualFold("DistributionList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentFunctionList(&sv.FunctionList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentDistributionList(&sv.DistributionList, nodeDecoder); err != nil { return err } @@ -9207,14 +9524,14 @@ func awsRestxml_deserializeOpDocumentListFunctionsOutput(v **ListFunctionsOutput return nil } -type awsRestxml_deserializeOpListInvalidations struct { +type awsRestxml_deserializeOpListFieldLevelEncryptionConfigs struct { } -func (*awsRestxml_deserializeOpListInvalidations) ID() string { +func (*awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListInvalidations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListFieldLevelEncryptionConfigs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9228,9 +9545,9 @@ func (m *awsRestxml_deserializeOpListInvalidations) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListInvalidations(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListFieldLevelEncryptionConfigs(response, &metadata) } - output := &ListInvalidationsOutput{} + output := &ListFieldLevelEncryptionConfigsOutput{} out.Result = output var buff [1024]byte @@ -9251,7 +9568,7 @@ func (m *awsRestxml_deserializeOpListInvalidations) HandleDeserialize(ctx contex } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentInvalidationList(&output.InvalidationList, decoder) + err = awsRestxml_deserializeDocumentFieldLevelEncryptionList(&output.FieldLevelEncryptionList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9264,7 +9581,7 @@ func (m *awsRestxml_deserializeOpListInvalidations) HandleDeserialize(ctx contex return out, metadata, err } -func awsRestxml_deserializeOpErrorListInvalidations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListFieldLevelEncryptionConfigs(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9289,14 +9606,145 @@ func awsRestxml_deserializeOpErrorListInvalidations(response *smithyhttp.Respons } errorBody.Seek(0, io.SeekStart) switch { - case strings.EqualFold("AccessDenied", errorCode): - return awsRestxml_deserializeErrorAccessDenied(response, errorBody) - case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("NoSuchDistribution", errorCode): - return awsRestxml_deserializeErrorNoSuchDistribution(response, errorBody) + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionConfigsOutput(v **ListFieldLevelEncryptionConfigsOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ListFieldLevelEncryptionConfigsOutput + if *v == nil { + sv = &ListFieldLevelEncryptionConfigsOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("FieldLevelEncryptionList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentFieldLevelEncryptionList(&sv.FieldLevelEncryptionList, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +type awsRestxml_deserializeOpListFieldLevelEncryptionProfiles struct { +} + +func (*awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpListFieldLevelEncryptionProfiles) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorListFieldLevelEncryptionProfiles(response, &metadata) + } + output := &ListFieldLevelEncryptionProfilesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentFieldLevelEncryptionProfileList(&output.FieldLevelEncryptionProfileList, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorListFieldLevelEncryptionProfiles(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9308,13 +9756,13 @@ func awsRestxml_deserializeOpErrorListInvalidations(response *smithyhttp.Respons } } -func awsRestxml_deserializeOpDocumentListInvalidationsOutput(v **ListInvalidationsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListFieldLevelEncryptionProfilesOutput(v **ListFieldLevelEncryptionProfilesOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListInvalidationsOutput + var sv *ListFieldLevelEncryptionProfilesOutput if *v == nil { - sv = &ListInvalidationsOutput{} + sv = &ListFieldLevelEncryptionProfilesOutput{} } else { sv = *v } @@ -9330,9 +9778,9 @@ func awsRestxml_deserializeOpDocumentListInvalidationsOutput(v **ListInvalidatio originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("InvalidationList", t.Name.Local): + case strings.EqualFold("FieldLevelEncryptionProfileList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentInvalidationList(&sv.InvalidationList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentFieldLevelEncryptionProfileList(&sv.FieldLevelEncryptionProfileList, nodeDecoder); err != nil { return err } @@ -9350,14 +9798,14 @@ func awsRestxml_deserializeOpDocumentListInvalidationsOutput(v **ListInvalidatio return nil } -type awsRestxml_deserializeOpListKeyGroups struct { +type awsRestxml_deserializeOpListFunctions struct { } -func (*awsRestxml_deserializeOpListKeyGroups) ID() string { +func (*awsRestxml_deserializeOpListFunctions) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListKeyGroups) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListFunctions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9371,9 +9819,9 @@ func (m *awsRestxml_deserializeOpListKeyGroups) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListKeyGroups(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListFunctions(response, &metadata) } - output := &ListKeyGroupsOutput{} + output := &ListFunctionsOutput{} out.Result = output var buff [1024]byte @@ -9394,7 +9842,7 @@ func (m *awsRestxml_deserializeOpListKeyGroups) HandleDeserialize(ctx context.Co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentKeyGroupList(&output.KeyGroupList, decoder) + err = awsRestxml_deserializeDocumentFunctionList(&output.FunctionList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9407,7 +9855,7 @@ func (m *awsRestxml_deserializeOpListKeyGroups) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsRestxml_deserializeOpErrorListKeyGroups(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListFunctions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9435,6 +9883,9 @@ func awsRestxml_deserializeOpErrorListKeyGroups(response *smithyhttp.Response, m case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + case strings.EqualFold("UnsupportedOperation", errorCode): + return awsRestxml_deserializeErrorUnsupportedOperation(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -9445,13 +9896,13 @@ func awsRestxml_deserializeOpErrorListKeyGroups(response *smithyhttp.Response, m } } -func awsRestxml_deserializeOpDocumentListKeyGroupsOutput(v **ListKeyGroupsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListFunctionsOutput(v **ListFunctionsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListKeyGroupsOutput + var sv *ListFunctionsOutput if *v == nil { - sv = &ListKeyGroupsOutput{} + sv = &ListFunctionsOutput{} } else { sv = *v } @@ -9467,9 +9918,9 @@ func awsRestxml_deserializeOpDocumentListKeyGroupsOutput(v **ListKeyGroupsOutput originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("KeyGroupList", t.Name.Local): + case strings.EqualFold("FunctionList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentKeyGroupList(&sv.KeyGroupList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentFunctionList(&sv.FunctionList, nodeDecoder); err != nil { return err } @@ -9487,14 +9938,14 @@ func awsRestxml_deserializeOpDocumentListKeyGroupsOutput(v **ListKeyGroupsOutput return nil } -type awsRestxml_deserializeOpListOriginRequestPolicies struct { +type awsRestxml_deserializeOpListInvalidations struct { } -func (*awsRestxml_deserializeOpListOriginRequestPolicies) ID() string { +func (*awsRestxml_deserializeOpListInvalidations) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListOriginRequestPolicies) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListInvalidations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9508,9 +9959,9 @@ func (m *awsRestxml_deserializeOpListOriginRequestPolicies) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListOriginRequestPolicies(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListInvalidations(response, &metadata) } - output := &ListOriginRequestPoliciesOutput{} + output := &ListInvalidationsOutput{} out.Result = output var buff [1024]byte @@ -9531,7 +9982,7 @@ func (m *awsRestxml_deserializeOpListOriginRequestPolicies) HandleDeserialize(ct } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentOriginRequestPolicyList(&output.OriginRequestPolicyList, decoder) + err = awsRestxml_deserializeDocumentInvalidationList(&output.InvalidationList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9544,7 +9995,7 @@ func (m *awsRestxml_deserializeOpListOriginRequestPolicies) HandleDeserialize(ct return out, metadata, err } -func awsRestxml_deserializeOpErrorListOriginRequestPolicies(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListInvalidations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9575,8 +10026,8 @@ func awsRestxml_deserializeOpErrorListOriginRequestPolicies(response *smithyhttp case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("NoSuchOriginRequestPolicy", errorCode): - return awsRestxml_deserializeErrorNoSuchOriginRequestPolicy(response, errorBody) + case strings.EqualFold("NoSuchDistribution", errorCode): + return awsRestxml_deserializeErrorNoSuchDistribution(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9588,13 +10039,13 @@ func awsRestxml_deserializeOpErrorListOriginRequestPolicies(response *smithyhttp } } -func awsRestxml_deserializeOpDocumentListOriginRequestPoliciesOutput(v **ListOriginRequestPoliciesOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListInvalidationsOutput(v **ListInvalidationsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListOriginRequestPoliciesOutput + var sv *ListInvalidationsOutput if *v == nil { - sv = &ListOriginRequestPoliciesOutput{} + sv = &ListInvalidationsOutput{} } else { sv = *v } @@ -9610,9 +10061,9 @@ func awsRestxml_deserializeOpDocumentListOriginRequestPoliciesOutput(v **ListOri originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("OriginRequestPolicyList", t.Name.Local): + case strings.EqualFold("InvalidationList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentOriginRequestPolicyList(&sv.OriginRequestPolicyList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentInvalidationList(&sv.InvalidationList, nodeDecoder); err != nil { return err } @@ -9630,14 +10081,14 @@ func awsRestxml_deserializeOpDocumentListOriginRequestPoliciesOutput(v **ListOri return nil } -type awsRestxml_deserializeOpListPublicKeys struct { +type awsRestxml_deserializeOpListKeyGroups struct { } -func (*awsRestxml_deserializeOpListPublicKeys) ID() string { +func (*awsRestxml_deserializeOpListKeyGroups) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListPublicKeys) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListKeyGroups) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9651,9 +10102,9 @@ func (m *awsRestxml_deserializeOpListPublicKeys) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListPublicKeys(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListKeyGroups(response, &metadata) } - output := &ListPublicKeysOutput{} + output := &ListKeyGroupsOutput{} out.Result = output var buff [1024]byte @@ -9674,7 +10125,7 @@ func (m *awsRestxml_deserializeOpListPublicKeys) HandleDeserialize(ctx context.C } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentPublicKeyList(&output.PublicKeyList, decoder) + err = awsRestxml_deserializeDocumentKeyGroupList(&output.KeyGroupList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9687,7 +10138,7 @@ func (m *awsRestxml_deserializeOpListPublicKeys) HandleDeserialize(ctx context.C return out, metadata, err } -func awsRestxml_deserializeOpErrorListPublicKeys(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListKeyGroups(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9725,13 +10176,13 @@ func awsRestxml_deserializeOpErrorListPublicKeys(response *smithyhttp.Response, } } -func awsRestxml_deserializeOpDocumentListPublicKeysOutput(v **ListPublicKeysOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListKeyGroupsOutput(v **ListKeyGroupsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListPublicKeysOutput + var sv *ListKeyGroupsOutput if *v == nil { - sv = &ListPublicKeysOutput{} + sv = &ListKeyGroupsOutput{} } else { sv = *v } @@ -9747,9 +10198,9 @@ func awsRestxml_deserializeOpDocumentListPublicKeysOutput(v **ListPublicKeysOutp originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("PublicKeyList", t.Name.Local): + case strings.EqualFold("KeyGroupList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentPublicKeyList(&sv.PublicKeyList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentKeyGroupList(&sv.KeyGroupList, nodeDecoder); err != nil { return err } @@ -9767,14 +10218,14 @@ func awsRestxml_deserializeOpDocumentListPublicKeysOutput(v **ListPublicKeysOutp return nil } -type awsRestxml_deserializeOpListRealtimeLogConfigs struct { +type awsRestxml_deserializeOpListOriginRequestPolicies struct { } -func (*awsRestxml_deserializeOpListRealtimeLogConfigs) ID() string { +func (*awsRestxml_deserializeOpListOriginRequestPolicies) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListRealtimeLogConfigs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListOriginRequestPolicies) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9788,9 +10239,9 @@ func (m *awsRestxml_deserializeOpListRealtimeLogConfigs) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListRealtimeLogConfigs(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListOriginRequestPolicies(response, &metadata) } - output := &ListRealtimeLogConfigsOutput{} + output := &ListOriginRequestPoliciesOutput{} out.Result = output var buff [1024]byte @@ -9811,7 +10262,7 @@ func (m *awsRestxml_deserializeOpListRealtimeLogConfigs) HandleDeserialize(ctx c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentRealtimeLogConfigs(&output.RealtimeLogConfigs, decoder) + err = awsRestxml_deserializeDocumentOriginRequestPolicyList(&output.OriginRequestPolicyList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9824,7 +10275,7 @@ func (m *awsRestxml_deserializeOpListRealtimeLogConfigs) HandleDeserialize(ctx c return out, metadata, err } -func awsRestxml_deserializeOpErrorListRealtimeLogConfigs(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListOriginRequestPolicies(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -9855,8 +10306,8 @@ func awsRestxml_deserializeOpErrorListRealtimeLogConfigs(response *smithyhttp.Re case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("NoSuchRealtimeLogConfig", errorCode): - return awsRestxml_deserializeErrorNoSuchRealtimeLogConfig(response, errorBody) + case strings.EqualFold("NoSuchOriginRequestPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchOriginRequestPolicy(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9868,13 +10319,13 @@ func awsRestxml_deserializeOpErrorListRealtimeLogConfigs(response *smithyhttp.Re } } -func awsRestxml_deserializeOpDocumentListRealtimeLogConfigsOutput(v **ListRealtimeLogConfigsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListOriginRequestPoliciesOutput(v **ListOriginRequestPoliciesOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListRealtimeLogConfigsOutput + var sv *ListOriginRequestPoliciesOutput if *v == nil { - sv = &ListRealtimeLogConfigsOutput{} + sv = &ListOriginRequestPoliciesOutput{} } else { sv = *v } @@ -9890,9 +10341,9 @@ func awsRestxml_deserializeOpDocumentListRealtimeLogConfigsOutput(v **ListRealti originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("RealtimeLogConfigs", t.Name.Local): + case strings.EqualFold("OriginRequestPolicyList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentRealtimeLogConfigs(&sv.RealtimeLogConfigs, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentOriginRequestPolicyList(&sv.OriginRequestPolicyList, nodeDecoder); err != nil { return err } @@ -9910,14 +10361,14 @@ func awsRestxml_deserializeOpDocumentListRealtimeLogConfigsOutput(v **ListRealti return nil } -type awsRestxml_deserializeOpListStreamingDistributions struct { +type awsRestxml_deserializeOpListPublicKeys struct { } -func (*awsRestxml_deserializeOpListStreamingDistributions) ID() string { +func (*awsRestxml_deserializeOpListPublicKeys) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListStreamingDistributions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListPublicKeys) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -9931,9 +10382,9 @@ func (m *awsRestxml_deserializeOpListStreamingDistributions) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListStreamingDistributions(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListPublicKeys(response, &metadata) } - output := &ListStreamingDistributionsOutput{} + output := &ListPublicKeysOutput{} out.Result = output var buff [1024]byte @@ -9954,7 +10405,7 @@ func (m *awsRestxml_deserializeOpListStreamingDistributions) HandleDeserialize(c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentStreamingDistributionList(&output.StreamingDistributionList, decoder) + err = awsRestxml_deserializeDocumentPublicKeyList(&output.PublicKeyList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -9967,7 +10418,7 @@ func (m *awsRestxml_deserializeOpListStreamingDistributions) HandleDeserialize(c return out, metadata, err } -func awsRestxml_deserializeOpErrorListStreamingDistributions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListPublicKeys(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -10005,13 +10456,13 @@ func awsRestxml_deserializeOpErrorListStreamingDistributions(response *smithyhtt } } -func awsRestxml_deserializeOpDocumentListStreamingDistributionsOutput(v **ListStreamingDistributionsOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListPublicKeysOutput(v **ListPublicKeysOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListStreamingDistributionsOutput + var sv *ListPublicKeysOutput if *v == nil { - sv = &ListStreamingDistributionsOutput{} + sv = &ListPublicKeysOutput{} } else { sv = *v } @@ -10027,9 +10478,9 @@ func awsRestxml_deserializeOpDocumentListStreamingDistributionsOutput(v **ListSt originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("StreamingDistributionList", t.Name.Local): + case strings.EqualFold("PublicKeyList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentStreamingDistributionList(&sv.StreamingDistributionList, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentPublicKeyList(&sv.PublicKeyList, nodeDecoder); err != nil { return err } @@ -10047,14 +10498,14 @@ func awsRestxml_deserializeOpDocumentListStreamingDistributionsOutput(v **ListSt return nil } -type awsRestxml_deserializeOpListTagsForResource struct { +type awsRestxml_deserializeOpListRealtimeLogConfigs struct { } -func (*awsRestxml_deserializeOpListTagsForResource) ID() string { +func (*awsRestxml_deserializeOpListRealtimeLogConfigs) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListRealtimeLogConfigs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10068,9 +10519,9 @@ func (m *awsRestxml_deserializeOpListTagsForResource) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListRealtimeLogConfigs(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &ListRealtimeLogConfigsOutput{} out.Result = output var buff [1024]byte @@ -10091,7 +10542,7 @@ func (m *awsRestxml_deserializeOpListTagsForResource) HandleDeserialize(ctx cont } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentTags(&output.Tags, decoder) + err = awsRestxml_deserializeDocumentRealtimeLogConfigs(&output.RealtimeLogConfigs, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10104,7 +10555,7 @@ func (m *awsRestxml_deserializeOpListTagsForResource) HandleDeserialize(ctx cont return out, metadata, err } -func awsRestxml_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListRealtimeLogConfigs(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -10135,11 +10586,151 @@ func awsRestxml_deserializeOpErrorListTagsForResource(response *smithyhttp.Respo case strings.EqualFold("InvalidArgument", errorCode): return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) - case strings.EqualFold("InvalidTagging", errorCode): - return awsRestxml_deserializeErrorInvalidTagging(response, errorBody) + case strings.EqualFold("NoSuchRealtimeLogConfig", errorCode): + return awsRestxml_deserializeErrorNoSuchRealtimeLogConfig(response, errorBody) - case strings.EqualFold("NoSuchResource", errorCode): - return awsRestxml_deserializeErrorNoSuchResource(response, errorBody) + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestxml_deserializeOpDocumentListRealtimeLogConfigsOutput(v **ListRealtimeLogConfigsOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ListRealtimeLogConfigsOutput + if *v == nil { + sv = &ListRealtimeLogConfigsOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("RealtimeLogConfigs", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentRealtimeLogConfigs(&sv.RealtimeLogConfigs, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +type awsRestxml_deserializeOpListResponseHeadersPolicies struct { +} + +func (*awsRestxml_deserializeOpListResponseHeadersPolicies) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpListResponseHeadersPolicies) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorListResponseHeadersPolicies(response, &metadata) + } + output := &ListResponseHeadersPoliciesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentResponseHeadersPolicyList(&output.ResponseHeadersPolicyList, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorListResponseHeadersPolicies(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -10151,13 +10742,13 @@ func awsRestxml_deserializeOpErrorListTagsForResource(response *smithyhttp.Respo } } -func awsRestxml_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeOpDocumentListResponseHeadersPoliciesOutput(v **ListResponseHeadersPoliciesOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *ListTagsForResourceOutput + var sv *ListResponseHeadersPoliciesOutput if *v == nil { - sv = &ListTagsForResourceOutput{} + sv = &ListResponseHeadersPoliciesOutput{} } else { sv = *v } @@ -10173,9 +10764,9 @@ func awsRestxml_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForRe originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("Tags", t.Name.Local): + case strings.EqualFold("ResponseHeadersPolicyList", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentTags(&sv.Tags, nodeDecoder); err != nil { + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyList(&sv.ResponseHeadersPolicyList, nodeDecoder); err != nil { return err } @@ -10193,14 +10784,14 @@ func awsRestxml_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForRe return nil } -type awsRestxml_deserializeOpPublishFunction struct { +type awsRestxml_deserializeOpListStreamingDistributions struct { } -func (*awsRestxml_deserializeOpPublishFunction) ID() string { +func (*awsRestxml_deserializeOpListStreamingDistributions) ID() string { return "OperationDeserializer" } -func (m *awsRestxml_deserializeOpPublishFunction) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestxml_deserializeOpListStreamingDistributions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10214,9 +10805,9 @@ func (m *awsRestxml_deserializeOpPublishFunction) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestxml_deserializeOpErrorPublishFunction(response, &metadata) + return out, metadata, awsRestxml_deserializeOpErrorListStreamingDistributions(response, &metadata) } - output := &PublishFunctionOutput{} + output := &ListStreamingDistributionsOutput{} out.Result = output var buff [1024]byte @@ -10237,7 +10828,7 @@ func (m *awsRestxml_deserializeOpPublishFunction) HandleDeserialize(ctx context. } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsRestxml_deserializeDocumentFunctionSummary(&output.FunctionSummary, decoder) + err = awsRestxml_deserializeDocumentStreamingDistributionList(&output.StreamingDistributionList, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10250,7 +10841,290 @@ func (m *awsRestxml_deserializeOpPublishFunction) HandleDeserialize(ctx context. return out, metadata, err } -func awsRestxml_deserializeOpErrorPublishFunction(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestxml_deserializeOpErrorListStreamingDistributions(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestxml_deserializeOpDocumentListStreamingDistributionsOutput(v **ListStreamingDistributionsOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ListStreamingDistributionsOutput + if *v == nil { + sv = &ListStreamingDistributionsOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("StreamingDistributionList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentStreamingDistributionList(&sv.StreamingDistributionList, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +type awsRestxml_deserializeOpListTagsForResource struct { +} + +func (*awsRestxml_deserializeOpListTagsForResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorListTagsForResource(response, &metadata) + } + output := &ListTagsForResourceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentTags(&output.Tags, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + + case strings.EqualFold("InvalidTagging", errorCode): + return awsRestxml_deserializeErrorInvalidTagging(response, errorBody) + + case strings.EqualFold("NoSuchResource", errorCode): + return awsRestxml_deserializeErrorNoSuchResource(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestxml_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ListTagsForResourceOutput + if *v == nil { + sv = &ListTagsForResourceOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Tags", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentTags(&sv.Tags, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +type awsRestxml_deserializeOpPublishFunction struct { +} + +func (*awsRestxml_deserializeOpPublishFunction) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpPublishFunction) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorPublishFunction(response, &metadata) + } + output := &PublishFunctionOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentFunctionSummary(&output.FunctionSummary, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorPublishFunction(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -11200,6 +12074,9 @@ func awsRestxml_deserializeOpErrorUpdateDistribution(response *smithyhttp.Respon case strings.EqualFold("NoSuchRealtimeLogConfig", errorCode): return awsRestxml_deserializeErrorNoSuchRealtimeLogConfig(response, errorBody) + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) + case strings.EqualFold("PreconditionFailed", errorCode): return awsRestxml_deserializeErrorPreconditionFailed(response, errorBody) @@ -11230,6 +12107,9 @@ func awsRestxml_deserializeOpErrorUpdateDistribution(response *smithyhttp.Respon case strings.EqualFold("TooManyDistributionsAssociatedToOriginRequestPolicy", errorCode): return awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPolicy(response, errorBody) + case strings.EqualFold("TooManyDistributionsAssociatedToResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorTooManyDistributionsAssociatedToResponseHeadersPolicy(response, errorBody) + case strings.EqualFold("TooManyDistributionsWithFunctionAssociations", errorCode): return awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(response, errorBody) @@ -12544,6 +13424,184 @@ func awsRestxml_deserializeOpDocumentUpdateRealtimeLogConfigOutput(v **UpdateRea return nil } +type awsRestxml_deserializeOpUpdateResponseHeadersPolicy struct { +} + +func (*awsRestxml_deserializeOpUpdateResponseHeadersPolicy) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestxml_deserializeOpUpdateResponseHeadersPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestxml_deserializeOpErrorUpdateResponseHeadersPolicy(response, &metadata) + } + output := &UpdateResponseHeadersPolicyOutput{} + out.Result = output + + err = awsRestxml_deserializeOpHttpBindingsUpdateResponseHeadersPolicyOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsRestxml_deserializeDocumentResponseHeadersPolicy(&output.ResponseHeadersPolicy, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestxml_deserializeOpErrorUpdateResponseHeadersPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("AccessDenied", errorCode): + return awsRestxml_deserializeErrorAccessDenied(response, errorBody) + + case strings.EqualFold("IllegalUpdate", errorCode): + return awsRestxml_deserializeErrorIllegalUpdate(response, errorBody) + + case strings.EqualFold("InconsistentQuantities", errorCode): + return awsRestxml_deserializeErrorInconsistentQuantities(response, errorBody) + + case strings.EqualFold("InvalidArgument", errorCode): + return awsRestxml_deserializeErrorInvalidArgument(response, errorBody) + + case strings.EqualFold("InvalidIfMatchVersion", errorCode): + return awsRestxml_deserializeErrorInvalidIfMatchVersion(response, errorBody) + + case strings.EqualFold("NoSuchResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response, errorBody) + + case strings.EqualFold("PreconditionFailed", errorCode): + return awsRestxml_deserializeErrorPreconditionFailed(response, errorBody) + + case strings.EqualFold("ResponseHeadersPolicyAlreadyExists", errorCode): + return awsRestxml_deserializeErrorResponseHeadersPolicyAlreadyExists(response, errorBody) + + case strings.EqualFold("TooManyCustomHeadersInResponseHeadersPolicy", errorCode): + return awsRestxml_deserializeErrorTooManyCustomHeadersInResponseHeadersPolicy(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestxml_deserializeOpHttpBindingsUpdateResponseHeadersPolicyOutput(v *UpdateResponseHeadersPolicyOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("ETag"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ETag = ptr.String(headerValues[0]) + } + + return nil +} +func awsRestxml_deserializeOpDocumentUpdateResponseHeadersPolicyOutput(v **UpdateResponseHeadersPolicyOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *UpdateResponseHeadersPolicyOutput + if *v == nil { + sv = &UpdateResponseHeadersPolicyOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("ResponseHeadersPolicy", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicy(&sv.ResponseHeadersPolicy, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + type awsRestxml_deserializeOpUpdateStreamingDistribution struct { } @@ -15374,8 +16432,8 @@ func awsRestxml_deserializeErrorNoSuchResource(response *smithyhttp.Response, er return output } -func awsRestxml_deserializeErrorNoSuchStreamingDistribution(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.NoSuchStreamingDistribution{} +func awsRestxml_deserializeErrorNoSuchResponseHeadersPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.NoSuchResponseHeadersPolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15405,7 +16463,7 @@ func awsRestxml_deserializeErrorNoSuchStreamingDistribution(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentNoSuchStreamingDistribution(&output, decoder) + err = awsRestxml_deserializeDocumentNoSuchResponseHeadersPolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15418,8 +16476,8 @@ func awsRestxml_deserializeErrorNoSuchStreamingDistribution(response *smithyhttp return output } -func awsRestxml_deserializeErrorOriginRequestPolicyAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.OriginRequestPolicyAlreadyExists{} +func awsRestxml_deserializeErrorNoSuchStreamingDistribution(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.NoSuchStreamingDistribution{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15449,7 +16507,7 @@ func awsRestxml_deserializeErrorOriginRequestPolicyAlreadyExists(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentOriginRequestPolicyAlreadyExists(&output, decoder) + err = awsRestxml_deserializeDocumentNoSuchStreamingDistribution(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15462,8 +16520,8 @@ func awsRestxml_deserializeErrorOriginRequestPolicyAlreadyExists(response *smith return output } -func awsRestxml_deserializeErrorOriginRequestPolicyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.OriginRequestPolicyInUse{} +func awsRestxml_deserializeErrorOriginRequestPolicyAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.OriginRequestPolicyAlreadyExists{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15493,7 +16551,7 @@ func awsRestxml_deserializeErrorOriginRequestPolicyInUse(response *smithyhttp.Re } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentOriginRequestPolicyInUse(&output, decoder) + err = awsRestxml_deserializeDocumentOriginRequestPolicyAlreadyExists(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15506,8 +16564,8 @@ func awsRestxml_deserializeErrorOriginRequestPolicyInUse(response *smithyhttp.Re return output } -func awsRestxml_deserializeErrorPreconditionFailed(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.PreconditionFailed{} +func awsRestxml_deserializeErrorOriginRequestPolicyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.OriginRequestPolicyInUse{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15537,7 +16595,7 @@ func awsRestxml_deserializeErrorPreconditionFailed(response *smithyhttp.Response } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentPreconditionFailed(&output, decoder) + err = awsRestxml_deserializeDocumentOriginRequestPolicyInUse(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15550,8 +16608,8 @@ func awsRestxml_deserializeErrorPreconditionFailed(response *smithyhttp.Response return output } -func awsRestxml_deserializeErrorPublicKeyAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.PublicKeyAlreadyExists{} +func awsRestxml_deserializeErrorPreconditionFailed(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.PreconditionFailed{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15581,7 +16639,7 @@ func awsRestxml_deserializeErrorPublicKeyAlreadyExists(response *smithyhttp.Resp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentPublicKeyAlreadyExists(&output, decoder) + err = awsRestxml_deserializeDocumentPreconditionFailed(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15594,8 +16652,8 @@ func awsRestxml_deserializeErrorPublicKeyAlreadyExists(response *smithyhttp.Resp return output } -func awsRestxml_deserializeErrorPublicKeyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.PublicKeyInUse{} +func awsRestxml_deserializeErrorPublicKeyAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.PublicKeyAlreadyExists{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15625,7 +16683,7 @@ func awsRestxml_deserializeErrorPublicKeyInUse(response *smithyhttp.Response, er } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentPublicKeyInUse(&output, decoder) + err = awsRestxml_deserializeDocumentPublicKeyAlreadyExists(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15638,8 +16696,8 @@ func awsRestxml_deserializeErrorPublicKeyInUse(response *smithyhttp.Response, er return output } -func awsRestxml_deserializeErrorQueryArgProfileEmpty(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.QueryArgProfileEmpty{} +func awsRestxml_deserializeErrorPublicKeyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.PublicKeyInUse{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15669,7 +16727,7 @@ func awsRestxml_deserializeErrorQueryArgProfileEmpty(response *smithyhttp.Respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentQueryArgProfileEmpty(&output, decoder) + err = awsRestxml_deserializeDocumentPublicKeyInUse(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15682,8 +16740,8 @@ func awsRestxml_deserializeErrorQueryArgProfileEmpty(response *smithyhttp.Respon return output } -func awsRestxml_deserializeErrorRealtimeLogConfigAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.RealtimeLogConfigAlreadyExists{} +func awsRestxml_deserializeErrorQueryArgProfileEmpty(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.QueryArgProfileEmpty{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15713,7 +16771,7 @@ func awsRestxml_deserializeErrorRealtimeLogConfigAlreadyExists(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentRealtimeLogConfigAlreadyExists(&output, decoder) + err = awsRestxml_deserializeDocumentQueryArgProfileEmpty(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15726,8 +16784,8 @@ func awsRestxml_deserializeErrorRealtimeLogConfigAlreadyExists(response *smithyh return output } -func awsRestxml_deserializeErrorRealtimeLogConfigInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.RealtimeLogConfigInUse{} +func awsRestxml_deserializeErrorRealtimeLogConfigAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.RealtimeLogConfigAlreadyExists{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15757,7 +16815,7 @@ func awsRestxml_deserializeErrorRealtimeLogConfigInUse(response *smithyhttp.Resp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentRealtimeLogConfigInUse(&output, decoder) + err = awsRestxml_deserializeDocumentRealtimeLogConfigAlreadyExists(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15770,8 +16828,8 @@ func awsRestxml_deserializeErrorRealtimeLogConfigInUse(response *smithyhttp.Resp return output } -func awsRestxml_deserializeErrorRealtimeLogConfigOwnerMismatch(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.RealtimeLogConfigOwnerMismatch{} +func awsRestxml_deserializeErrorRealtimeLogConfigInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.RealtimeLogConfigInUse{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15801,7 +16859,7 @@ func awsRestxml_deserializeErrorRealtimeLogConfigOwnerMismatch(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentRealtimeLogConfigOwnerMismatch(&output, decoder) + err = awsRestxml_deserializeDocumentRealtimeLogConfigInUse(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15814,8 +16872,8 @@ func awsRestxml_deserializeErrorRealtimeLogConfigOwnerMismatch(response *smithyh return output } -func awsRestxml_deserializeErrorResourceInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ResourceInUse{} +func awsRestxml_deserializeErrorRealtimeLogConfigOwnerMismatch(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.RealtimeLogConfigOwnerMismatch{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15845,7 +16903,7 @@ func awsRestxml_deserializeErrorResourceInUse(response *smithyhttp.Response, err } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentResourceInUse(&output, decoder) + err = awsRestxml_deserializeDocumentRealtimeLogConfigOwnerMismatch(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15858,8 +16916,8 @@ func awsRestxml_deserializeErrorResourceInUse(response *smithyhttp.Response, err return output } -func awsRestxml_deserializeErrorStreamingDistributionAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.StreamingDistributionAlreadyExists{} +func awsRestxml_deserializeErrorResourceInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ResourceInUse{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15889,7 +16947,7 @@ func awsRestxml_deserializeErrorStreamingDistributionAlreadyExists(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentStreamingDistributionAlreadyExists(&output, decoder) + err = awsRestxml_deserializeDocumentResourceInUse(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15902,8 +16960,8 @@ func awsRestxml_deserializeErrorStreamingDistributionAlreadyExists(response *smi return output } -func awsRestxml_deserializeErrorStreamingDistributionNotDisabled(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.StreamingDistributionNotDisabled{} +func awsRestxml_deserializeErrorResponseHeadersPolicyAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ResponseHeadersPolicyAlreadyExists{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15933,7 +16991,7 @@ func awsRestxml_deserializeErrorStreamingDistributionNotDisabled(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentStreamingDistributionNotDisabled(&output, decoder) + err = awsRestxml_deserializeDocumentResponseHeadersPolicyAlreadyExists(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15946,8 +17004,8 @@ func awsRestxml_deserializeErrorStreamingDistributionNotDisabled(response *smith return output } -func awsRestxml_deserializeErrorTestFunctionFailed(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TestFunctionFailed{} +func awsRestxml_deserializeErrorResponseHeadersPolicyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ResponseHeadersPolicyInUse{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15977,7 +17035,7 @@ func awsRestxml_deserializeErrorTestFunctionFailed(response *smithyhttp.Response } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTestFunctionFailed(&output, decoder) + err = awsRestxml_deserializeDocumentResponseHeadersPolicyInUse(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -15990,8 +17048,8 @@ func awsRestxml_deserializeErrorTestFunctionFailed(response *smithyhttp.Response return output } -func awsRestxml_deserializeErrorTooManyCacheBehaviors(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCacheBehaviors{} +func awsRestxml_deserializeErrorStreamingDistributionAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.StreamingDistributionAlreadyExists{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16021,7 +17079,7 @@ func awsRestxml_deserializeErrorTooManyCacheBehaviors(response *smithyhttp.Respo } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCacheBehaviors(&output, decoder) + err = awsRestxml_deserializeDocumentStreamingDistributionAlreadyExists(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16034,8 +17092,8 @@ func awsRestxml_deserializeErrorTooManyCacheBehaviors(response *smithyhttp.Respo return output } -func awsRestxml_deserializeErrorTooManyCachePolicies(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCachePolicies{} +func awsRestxml_deserializeErrorStreamingDistributionNotDisabled(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.StreamingDistributionNotDisabled{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16065,7 +17123,7 @@ func awsRestxml_deserializeErrorTooManyCachePolicies(response *smithyhttp.Respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCachePolicies(&output, decoder) + err = awsRestxml_deserializeDocumentStreamingDistributionNotDisabled(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16078,8 +17136,8 @@ func awsRestxml_deserializeErrorTooManyCachePolicies(response *smithyhttp.Respon return output } -func awsRestxml_deserializeErrorTooManyCertificates(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCertificates{} +func awsRestxml_deserializeErrorTestFunctionFailed(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TestFunctionFailed{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16109,7 +17167,7 @@ func awsRestxml_deserializeErrorTooManyCertificates(response *smithyhttp.Respons } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCertificates(&output, decoder) + err = awsRestxml_deserializeDocumentTestFunctionFailed(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16122,8 +17180,8 @@ func awsRestxml_deserializeErrorTooManyCertificates(response *smithyhttp.Respons return output } -func awsRestxml_deserializeErrorTooManyCloudFrontOriginAccessIdentities(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCloudFrontOriginAccessIdentities{} +func awsRestxml_deserializeErrorTooManyCacheBehaviors(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCacheBehaviors{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16153,7 +17211,7 @@ func awsRestxml_deserializeErrorTooManyCloudFrontOriginAccessIdentities(response } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCloudFrontOriginAccessIdentities(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCacheBehaviors(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16166,8 +17224,8 @@ func awsRestxml_deserializeErrorTooManyCloudFrontOriginAccessIdentities(response return output } -func awsRestxml_deserializeErrorTooManyCookieNamesInWhiteList(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCookieNamesInWhiteList{} +func awsRestxml_deserializeErrorTooManyCachePolicies(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCachePolicies{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16197,7 +17255,7 @@ func awsRestxml_deserializeErrorTooManyCookieNamesInWhiteList(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCookieNamesInWhiteList(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCachePolicies(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16210,8 +17268,8 @@ func awsRestxml_deserializeErrorTooManyCookieNamesInWhiteList(response *smithyht return output } -func awsRestxml_deserializeErrorTooManyCookiesInCachePolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCookiesInCachePolicy{} +func awsRestxml_deserializeErrorTooManyCertificates(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCertificates{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16241,7 +17299,7 @@ func awsRestxml_deserializeErrorTooManyCookiesInCachePolicy(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCookiesInCachePolicy(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCertificates(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16254,8 +17312,8 @@ func awsRestxml_deserializeErrorTooManyCookiesInCachePolicy(response *smithyhttp return output } -func awsRestxml_deserializeErrorTooManyCookiesInOriginRequestPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyCookiesInOriginRequestPolicy{} +func awsRestxml_deserializeErrorTooManyCloudFrontOriginAccessIdentities(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCloudFrontOriginAccessIdentities{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16285,7 +17343,7 @@ func awsRestxml_deserializeErrorTooManyCookiesInOriginRequestPolicy(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyCookiesInOriginRequestPolicy(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCloudFrontOriginAccessIdentities(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16298,8 +17356,8 @@ func awsRestxml_deserializeErrorTooManyCookiesInOriginRequestPolicy(response *sm return output } -func awsRestxml_deserializeErrorTooManyDistributionCNAMEs(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionCNAMEs{} +func awsRestxml_deserializeErrorTooManyCookieNamesInWhiteList(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCookieNamesInWhiteList{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16329,7 +17387,7 @@ func awsRestxml_deserializeErrorTooManyDistributionCNAMEs(response *smithyhttp.R } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionCNAMEs(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCookieNamesInWhiteList(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16342,8 +17400,8 @@ func awsRestxml_deserializeErrorTooManyDistributionCNAMEs(response *smithyhttp.R return output } -func awsRestxml_deserializeErrorTooManyDistributions(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributions{} +func awsRestxml_deserializeErrorTooManyCookiesInCachePolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCookiesInCachePolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16373,7 +17431,7 @@ func awsRestxml_deserializeErrorTooManyDistributions(response *smithyhttp.Respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributions(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCookiesInCachePolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16386,8 +17444,8 @@ func awsRestxml_deserializeErrorTooManyDistributions(response *smithyhttp.Respon return output } -func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToCachePolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsAssociatedToCachePolicy{} +func awsRestxml_deserializeErrorTooManyCookiesInOriginRequestPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCookiesInOriginRequestPolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16417,7 +17475,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToCachePolicy(resp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToCachePolicy(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCookiesInOriginRequestPolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16430,8 +17488,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToCachePolicy(resp return output } -func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToFieldLevelEncryptionConfig(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsAssociatedToFieldLevelEncryptionConfig{} +func awsRestxml_deserializeErrorTooManyCustomHeadersInResponseHeadersPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyCustomHeadersInResponseHeadersPolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16461,7 +17519,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToFieldLevelEncryp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToFieldLevelEncryptionConfig(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyCustomHeadersInResponseHeadersPolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16474,8 +17532,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToFieldLevelEncryp return output } -func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToKeyGroup(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsAssociatedToKeyGroup{} +func awsRestxml_deserializeErrorTooManyDistributionCNAMEs(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionCNAMEs{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16505,7 +17563,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToKeyGroup(respons } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToKeyGroup(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionCNAMEs(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16518,8 +17576,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToKeyGroup(respons return output } -func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsAssociatedToOriginRequestPolicy{} +func awsRestxml_deserializeErrorTooManyDistributions(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributions{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16549,7 +17607,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPol } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToOriginRequestPolicy(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributions(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16562,8 +17620,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPol return output } -func awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsWithFunctionAssociations{} +func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToCachePolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsAssociatedToCachePolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16593,7 +17651,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(res } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsWithFunctionAssociations(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToCachePolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16606,8 +17664,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(res return output } -func awsRestxml_deserializeErrorTooManyDistributionsWithLambdaAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsWithLambdaAssociations{} +func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToFieldLevelEncryptionConfig(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsAssociatedToFieldLevelEncryptionConfig{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16637,7 +17695,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsWithLambdaAssociations(respo } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsWithLambdaAssociations(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToFieldLevelEncryptionConfig(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16650,8 +17708,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsWithLambdaAssociations(respo return output } -func awsRestxml_deserializeErrorTooManyDistributionsWithSingleFunctionARN(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyDistributionsWithSingleFunctionARN{} +func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToKeyGroup(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsAssociatedToKeyGroup{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16681,7 +17739,7 @@ func awsRestxml_deserializeErrorTooManyDistributionsWithSingleFunctionARN(respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyDistributionsWithSingleFunctionARN(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToKeyGroup(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16694,8 +17752,8 @@ func awsRestxml_deserializeErrorTooManyDistributionsWithSingleFunctionARN(respon return output } -func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionConfigs(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFieldLevelEncryptionConfigs{} +func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToOriginRequestPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsAssociatedToOriginRequestPolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16725,7 +17783,7 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionConfigs(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionConfigs(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToOriginRequestPolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16738,8 +17796,8 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionConfigs(response *smi return output } -func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionContentTypeProfiles(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFieldLevelEncryptionContentTypeProfiles{} +func awsRestxml_deserializeErrorTooManyDistributionsAssociatedToResponseHeadersPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsAssociatedToResponseHeadersPolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16769,7 +17827,7 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionContentTypeProfiles(r } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionContentTypeProfiles(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToResponseHeadersPolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16782,8 +17840,8 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionContentTypeProfiles(r return output } -func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionEncryptionEntities(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFieldLevelEncryptionEncryptionEntities{} +func awsRestxml_deserializeErrorTooManyDistributionsWithFunctionAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsWithFunctionAssociations{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16813,7 +17871,7 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionEncryptionEntities(re } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionEncryptionEntities(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsWithFunctionAssociations(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16826,8 +17884,8 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionEncryptionEntities(re return output } -func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionFieldPatterns(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFieldLevelEncryptionFieldPatterns{} +func awsRestxml_deserializeErrorTooManyDistributionsWithLambdaAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsWithLambdaAssociations{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16857,7 +17915,7 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionFieldPatterns(respons } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionFieldPatterns(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsWithLambdaAssociations(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16870,8 +17928,8 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionFieldPatterns(respons return output } -func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionProfiles(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFieldLevelEncryptionProfiles{} +func awsRestxml_deserializeErrorTooManyDistributionsWithSingleFunctionARN(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyDistributionsWithSingleFunctionARN{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16901,7 +17959,7 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionProfiles(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionProfiles(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyDistributionsWithSingleFunctionARN(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16914,8 +17972,8 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionProfiles(response *sm return output } -func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionQueryArgProfiles(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFieldLevelEncryptionQueryArgProfiles{} +func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionConfigs(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFieldLevelEncryptionConfigs{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16945,7 +18003,7 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionQueryArgProfiles(resp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionQueryArgProfiles(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionConfigs(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16958,8 +18016,8 @@ func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionQueryArgProfiles(resp return output } -func awsRestxml_deserializeErrorTooManyFunctionAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFunctionAssociations{} +func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionContentTypeProfiles(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFieldLevelEncryptionContentTypeProfiles{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16989,7 +18047,7 @@ func awsRestxml_deserializeErrorTooManyFunctionAssociations(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFunctionAssociations(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionContentTypeProfiles(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17002,8 +18060,8 @@ func awsRestxml_deserializeErrorTooManyFunctionAssociations(response *smithyhttp return output } -func awsRestxml_deserializeErrorTooManyFunctions(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyFunctions{} +func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionEncryptionEntities(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFieldLevelEncryptionEncryptionEntities{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17033,7 +18091,7 @@ func awsRestxml_deserializeErrorTooManyFunctions(response *smithyhttp.Response, } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyFunctions(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionEncryptionEntities(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17046,8 +18104,8 @@ func awsRestxml_deserializeErrorTooManyFunctions(response *smithyhttp.Response, return output } -func awsRestxml_deserializeErrorTooManyHeadersInCachePolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyHeadersInCachePolicy{} +func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionFieldPatterns(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFieldLevelEncryptionFieldPatterns{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17077,7 +18135,7 @@ func awsRestxml_deserializeErrorTooManyHeadersInCachePolicy(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyHeadersInCachePolicy(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionFieldPatterns(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17090,8 +18148,8 @@ func awsRestxml_deserializeErrorTooManyHeadersInCachePolicy(response *smithyhttp return output } -func awsRestxml_deserializeErrorTooManyHeadersInForwardedValues(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyHeadersInForwardedValues{} +func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionProfiles(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFieldLevelEncryptionProfiles{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17121,7 +18179,7 @@ func awsRestxml_deserializeErrorTooManyHeadersInForwardedValues(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyHeadersInForwardedValues(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionProfiles(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17134,8 +18192,8 @@ func awsRestxml_deserializeErrorTooManyHeadersInForwardedValues(response *smithy return output } -func awsRestxml_deserializeErrorTooManyHeadersInOriginRequestPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyHeadersInOriginRequestPolicy{} +func awsRestxml_deserializeErrorTooManyFieldLevelEncryptionQueryArgProfiles(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFieldLevelEncryptionQueryArgProfiles{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17165,7 +18223,7 @@ func awsRestxml_deserializeErrorTooManyHeadersInOriginRequestPolicy(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyHeadersInOriginRequestPolicy(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFieldLevelEncryptionQueryArgProfiles(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17178,8 +18236,8 @@ func awsRestxml_deserializeErrorTooManyHeadersInOriginRequestPolicy(response *sm return output } -func awsRestxml_deserializeErrorTooManyInvalidationsInProgress(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyInvalidationsInProgress{} +func awsRestxml_deserializeErrorTooManyFunctionAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFunctionAssociations{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17209,7 +18267,7 @@ func awsRestxml_deserializeErrorTooManyInvalidationsInProgress(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyInvalidationsInProgress(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFunctionAssociations(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17222,8 +18280,8 @@ func awsRestxml_deserializeErrorTooManyInvalidationsInProgress(response *smithyh return output } -func awsRestxml_deserializeErrorTooManyKeyGroups(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyKeyGroups{} +func awsRestxml_deserializeErrorTooManyFunctions(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyFunctions{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17253,7 +18311,7 @@ func awsRestxml_deserializeErrorTooManyKeyGroups(response *smithyhttp.Response, } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyKeyGroups(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyFunctions(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17266,8 +18324,8 @@ func awsRestxml_deserializeErrorTooManyKeyGroups(response *smithyhttp.Response, return output } -func awsRestxml_deserializeErrorTooManyKeyGroupsAssociatedToDistribution(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyKeyGroupsAssociatedToDistribution{} +func awsRestxml_deserializeErrorTooManyHeadersInCachePolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyHeadersInCachePolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17297,7 +18355,7 @@ func awsRestxml_deserializeErrorTooManyKeyGroupsAssociatedToDistribution(respons } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyKeyGroupsAssociatedToDistribution(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyHeadersInCachePolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17310,8 +18368,8 @@ func awsRestxml_deserializeErrorTooManyKeyGroupsAssociatedToDistribution(respons return output } -func awsRestxml_deserializeErrorTooManyLambdaFunctionAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyLambdaFunctionAssociations{} +func awsRestxml_deserializeErrorTooManyHeadersInForwardedValues(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyHeadersInForwardedValues{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17341,7 +18399,7 @@ func awsRestxml_deserializeErrorTooManyLambdaFunctionAssociations(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyLambdaFunctionAssociations(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyHeadersInForwardedValues(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17354,8 +18412,8 @@ func awsRestxml_deserializeErrorTooManyLambdaFunctionAssociations(response *smit return output } -func awsRestxml_deserializeErrorTooManyOriginCustomHeaders(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyOriginCustomHeaders{} +func awsRestxml_deserializeErrorTooManyHeadersInOriginRequestPolicy(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyHeadersInOriginRequestPolicy{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17385,7 +18443,7 @@ func awsRestxml_deserializeErrorTooManyOriginCustomHeaders(response *smithyhttp. } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyOriginCustomHeaders(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyHeadersInOriginRequestPolicy(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17398,8 +18456,8 @@ func awsRestxml_deserializeErrorTooManyOriginCustomHeaders(response *smithyhttp. return output } -func awsRestxml_deserializeErrorTooManyOriginGroupsPerDistribution(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyOriginGroupsPerDistribution{} +func awsRestxml_deserializeErrorTooManyInvalidationsInProgress(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyInvalidationsInProgress{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17429,7 +18487,7 @@ func awsRestxml_deserializeErrorTooManyOriginGroupsPerDistribution(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsRestxml_deserializeDocumentTooManyOriginGroupsPerDistribution(&output, decoder) + err = awsRestxml_deserializeDocumentTooManyInvalidationsInProgress(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17442,8 +18500,228 @@ func awsRestxml_deserializeErrorTooManyOriginGroupsPerDistribution(response *smi return output } -func awsRestxml_deserializeErrorTooManyOriginRequestPolicies(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.TooManyOriginRequestPolicies{} +func awsRestxml_deserializeErrorTooManyKeyGroups(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyKeyGroups{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsRestxml_deserializeDocumentTooManyKeyGroups(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsRestxml_deserializeErrorTooManyKeyGroupsAssociatedToDistribution(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyKeyGroupsAssociatedToDistribution{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsRestxml_deserializeDocumentTooManyKeyGroupsAssociatedToDistribution(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsRestxml_deserializeErrorTooManyLambdaFunctionAssociations(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyLambdaFunctionAssociations{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsRestxml_deserializeDocumentTooManyLambdaFunctionAssociations(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsRestxml_deserializeErrorTooManyOriginCustomHeaders(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyOriginCustomHeaders{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsRestxml_deserializeDocumentTooManyOriginCustomHeaders(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsRestxml_deserializeErrorTooManyOriginGroupsPerDistribution(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyOriginGroupsPerDistribution{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsRestxml_deserializeDocumentTooManyOriginGroupsPerDistribution(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsRestxml_deserializeErrorTooManyOriginRequestPolicies(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyOriginRequestPolicies{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17794,6 +19072,50 @@ func awsRestxml_deserializeErrorTooManyRealtimeLogConfigs(response *smithyhttp.R return output } +func awsRestxml_deserializeErrorTooManyResponseHeadersPolicies(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.TooManyResponseHeadersPolicies{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsRestxml_deserializeDocumentTooManyResponseHeadersPolicies(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + func awsRestxml_deserializeErrorTooManyStreamingDistributionCNAMEs(response *smithyhttp.Response, errorBody *bytes.Reader) error { output := &types.TooManyStreamingDistributionCNAMEs{} var buff [1024]byte @@ -18058,17 +19380,18 @@ func awsRestxml_deserializeErrorUnsupportedOperation(response *smithyhttp.Respon return output } -func awsRestxml_deserializeDocumentAccessDenied(v **types.AccessDenied, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentAccessControlAllowHeadersList(v *[]string, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.AccessDenied + var sv []string if *v == nil { - sv = &types.AccessDenied{} + sv = make([]string, 0) } else { sv = *v } + originalDecoder := decoder for { t, done, err := decoder.Token() if err != nil { @@ -18077,10 +19400,11 @@ func awsRestxml_deserializeDocumentAccessDenied(v **types.AccessDenied, decoder if done { break } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder switch { - case strings.EqualFold("Message", t.Name.Local): + case strings.EqualFold("Header", t.Name.Local): + var col string val, err := decoder.Value() if err != nil { return err @@ -18090,11 +19414,11 @@ func awsRestxml_deserializeDocumentAccessDenied(v **types.AccessDenied, decoder } { xtv := string(val) - sv.Message = ptr.String(xtv) + col = xtv } + sv = append(sv, col) default: - // Do nothing and ignore the unexpected tag element err = decoder.Decoder.Skip() if err != nil { return err @@ -18107,92 +19431,47 @@ func awsRestxml_deserializeDocumentAccessDenied(v **types.AccessDenied, decoder return nil } -func awsRestxml_deserializeDocumentActiveTrustedKeyGroups(v **types.ActiveTrustedKeyGroups, decoder smithyxml.NodeDecoder) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - var sv *types.ActiveTrustedKeyGroups +func awsRestxml_deserializeDocumentAccessControlAllowHeadersListUnwrapped(v *[]string, decoder smithyxml.NodeDecoder) error { + var sv []string if *v == nil { - sv = &types.ActiveTrustedKeyGroups{} + sv = make([]string, 0) } else { sv = *v } - for { - t, done, err := decoder.Token() + switch { + default: + var mv string + t := decoder.StartEl + _ = t + val, err := decoder.Value() if err != nil { return err } - if done { + if val == nil { break } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) - switch { - case strings.EqualFold("Enabled", t.Name.Local): - val, err := decoder.Value() - if err != nil { - return err - } - if val == nil { - break - } - { - xtv, err := strconv.ParseBool(string(val)) - if err != nil { - return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) - } - sv.Enabled = ptr.Bool(xtv) - } - - case strings.EqualFold("Items", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentKGKeyPairIdsList(&sv.Items, nodeDecoder); err != nil { - return err - } - - case strings.EqualFold("Quantity", t.Name.Local): - val, err := decoder.Value() - if err != nil { - return err - } - if val == nil { - break - } - { - xtv := string(val) - i64, err := strconv.ParseInt(xtv, 10, 64) - if err != nil { - return err - } - sv.Quantity = ptr.Int32(int32(i64)) - } - - default: - // Do nothing and ignore the unexpected tag element - err = decoder.Decoder.Skip() - if err != nil { - return err - } - + { + xtv := string(val) + mv = xtv } - decoder = originalDecoder + sv = append(sv, mv) } *v = sv return nil } - -func awsRestxml_deserializeDocumentActiveTrustedSigners(v **types.ActiveTrustedSigners, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentAccessControlAllowMethodsList(v *[]types.ResponseHeadersPolicyAccessControlAllowMethodsValues, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.ActiveTrustedSigners + var sv []types.ResponseHeadersPolicyAccessControlAllowMethodsValues if *v == nil { - sv = &types.ActiveTrustedSigners{} + sv = make([]types.ResponseHeadersPolicyAccessControlAllowMethodsValues, 0) } else { sv = *v } + originalDecoder := decoder for { t, done, err := decoder.Token() if err != nil { @@ -18201,32 +19480,11 @@ func awsRestxml_deserializeDocumentActiveTrustedSigners(v **types.ActiveTrustedS if done { break } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder switch { - case strings.EqualFold("Enabled", t.Name.Local): - val, err := decoder.Value() - if err != nil { - return err - } - if val == nil { - break - } - { - xtv, err := strconv.ParseBool(string(val)) - if err != nil { - return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) - } - sv.Enabled = ptr.Bool(xtv) - } - - case strings.EqualFold("Items", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentSignerList(&sv.Items, nodeDecoder); err != nil { - return err - } - - case strings.EqualFold("Quantity", t.Name.Local): + case strings.EqualFold("Method", t.Name.Local): + var col types.ResponseHeadersPolicyAccessControlAllowMethodsValues val, err := decoder.Value() if err != nil { return err @@ -18236,15 +19494,11 @@ func awsRestxml_deserializeDocumentActiveTrustedSigners(v **types.ActiveTrustedS } { xtv := string(val) - i64, err := strconv.ParseInt(xtv, 10, 64) - if err != nil { - return err - } - sv.Quantity = ptr.Int32(int32(i64)) + col = types.ResponseHeadersPolicyAccessControlAllowMethodsValues(xtv) } + sv = append(sv, col) default: - // Do nothing and ignore the unexpected tag element err = decoder.Decoder.Skip() if err != nil { return err @@ -18257,76 +19511,47 @@ func awsRestxml_deserializeDocumentActiveTrustedSigners(v **types.ActiveTrustedS return nil } -func awsRestxml_deserializeDocumentAliases(v **types.Aliases, decoder smithyxml.NodeDecoder) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - var sv *types.Aliases +func awsRestxml_deserializeDocumentAccessControlAllowMethodsListUnwrapped(v *[]types.ResponseHeadersPolicyAccessControlAllowMethodsValues, decoder smithyxml.NodeDecoder) error { + var sv []types.ResponseHeadersPolicyAccessControlAllowMethodsValues if *v == nil { - sv = &types.Aliases{} + sv = make([]types.ResponseHeadersPolicyAccessControlAllowMethodsValues, 0) } else { sv = *v } - for { - t, done, err := decoder.Token() + switch { + default: + var mv types.ResponseHeadersPolicyAccessControlAllowMethodsValues + t := decoder.StartEl + _ = t + val, err := decoder.Value() if err != nil { return err } - if done { + if val == nil { break } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) - switch { - case strings.EqualFold("Items", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentAliasList(&sv.Items, nodeDecoder); err != nil { - return err - } - - case strings.EqualFold("Quantity", t.Name.Local): - val, err := decoder.Value() - if err != nil { - return err - } - if val == nil { - break - } - { - xtv := string(val) - i64, err := strconv.ParseInt(xtv, 10, 64) - if err != nil { - return err - } - sv.Quantity = ptr.Int32(int32(i64)) - } - - default: - // Do nothing and ignore the unexpected tag element - err = decoder.Decoder.Skip() - if err != nil { - return err - } - + { + xtv := string(val) + mv = types.ResponseHeadersPolicyAccessControlAllowMethodsValues(xtv) } - decoder = originalDecoder + sv = append(sv, mv) } *v = sv return nil } - -func awsRestxml_deserializeDocumentAliasICPRecordal(v **types.AliasICPRecordal, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentAccessControlAllowOriginsList(v *[]string, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.AliasICPRecordal + var sv []string if *v == nil { - sv = &types.AliasICPRecordal{} + sv = make([]string, 0) } else { sv = *v } + originalDecoder := decoder for { t, done, err := decoder.Token() if err != nil { @@ -18335,23 +19560,11 @@ func awsRestxml_deserializeDocumentAliasICPRecordal(v **types.AliasICPRecordal, if done { break } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder switch { - case strings.EqualFold("CNAME", t.Name.Local): - val, err := decoder.Value() - if err != nil { - return err - } - if val == nil { - break - } - { - xtv := string(val) - sv.CNAME = ptr.String(xtv) - } - - case strings.EqualFold("ICPRecordalStatus", t.Name.Local): + case strings.EqualFold("Origin", t.Name.Local): + var col string val, err := decoder.Value() if err != nil { return err @@ -18361,52 +19574,8 @@ func awsRestxml_deserializeDocumentAliasICPRecordal(v **types.AliasICPRecordal, } { xtv := string(val) - sv.ICPRecordalStatus = types.ICPRecordalStatus(xtv) - } - - default: - // Do nothing and ignore the unexpected tag element - err = decoder.Decoder.Skip() - if err != nil { - return err - } - - } - decoder = originalDecoder - } - *v = sv - return nil -} - -func awsRestxml_deserializeDocumentAliasICPRecordals(v *[]types.AliasICPRecordal, decoder smithyxml.NodeDecoder) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - var sv []types.AliasICPRecordal - if *v == nil { - sv = make([]types.AliasICPRecordal, 0) - } else { - sv = *v - } - - originalDecoder := decoder - for { - t, done, err := decoder.Token() - if err != nil { - return err - } - if done { - break - } - switch { - case strings.EqualFold("AliasICPRecordal", t.Name.Local): - var col types.AliasICPRecordal - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &col - if err := awsRestxml_deserializeDocumentAliasICPRecordal(&destAddr, nodeDecoder); err != nil { - return err + col = xtv } - col = *destAddr sv = append(sv, col) default: @@ -18422,31 +19591,504 @@ func awsRestxml_deserializeDocumentAliasICPRecordals(v *[]types.AliasICPRecordal return nil } -func awsRestxml_deserializeDocumentAliasICPRecordalsUnwrapped(v *[]types.AliasICPRecordal, decoder smithyxml.NodeDecoder) error { - var sv []types.AliasICPRecordal +func awsRestxml_deserializeDocumentAccessControlAllowOriginsListUnwrapped(v *[]string, decoder smithyxml.NodeDecoder) error { + var sv []string if *v == nil { - sv = make([]types.AliasICPRecordal, 0) + sv = make([]string, 0) } else { sv = *v } switch { default: - var mv types.AliasICPRecordal + var mv string t := decoder.StartEl _ = t - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &mv - if err := awsRestxml_deserializeDocumentAliasICPRecordal(&destAddr, nodeDecoder); err != nil { + val, err := decoder.Value() + if err != nil { return err } - mv = *destAddr + if val == nil { + break + } + { + xtv := string(val) + mv = xtv + } sv = append(sv, mv) } *v = sv return nil } -func awsRestxml_deserializeDocumentAliasList(v *[]string, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentAccessControlExposeHeadersList(v *[]string, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("Header", t.Name.Local): + var col string + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = xtv + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentAccessControlExposeHeadersListUnwrapped(v *[]string, decoder smithyxml.NodeDecoder) error { + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + switch { + default: + var mv string + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = xtv + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsRestxml_deserializeDocumentAccessDenied(v **types.AccessDenied, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.AccessDenied + if *v == nil { + sv = &types.AccessDenied{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentActiveTrustedKeyGroups(v **types.ActiveTrustedKeyGroups, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ActiveTrustedKeyGroups + if *v == nil { + sv = &types.ActiveTrustedKeyGroups{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Enabled", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Enabled = ptr.Bool(xtv) + } + + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentKGKeyPairIdsList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentActiveTrustedSigners(v **types.ActiveTrustedSigners, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ActiveTrustedSigners + if *v == nil { + sv = &types.ActiveTrustedSigners{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Enabled", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Enabled = ptr.Bool(xtv) + } + + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentSignerList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentAliases(v **types.Aliases, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.Aliases + if *v == nil { + sv = &types.Aliases{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentAliasList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentAliasICPRecordal(v **types.AliasICPRecordal, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.AliasICPRecordal + if *v == nil { + sv = &types.AliasICPRecordal{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("CNAME", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.CNAME = ptr.String(xtv) + } + + case strings.EqualFold("ICPRecordalStatus", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ICPRecordalStatus = types.ICPRecordalStatus(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentAliasICPRecordals(v *[]types.AliasICPRecordal, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AliasICPRecordal + if *v == nil { + sv = make([]types.AliasICPRecordal, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("AliasICPRecordal", t.Name.Local): + var col types.AliasICPRecordal + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsRestxml_deserializeDocumentAliasICPRecordal(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentAliasICPRecordalsUnwrapped(v *[]types.AliasICPRecordal, decoder smithyxml.NodeDecoder) error { + var sv []types.AliasICPRecordal + if *v == nil { + sv = make([]types.AliasICPRecordal, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AliasICPRecordal + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsRestxml_deserializeDocumentAliasICPRecordal(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsRestxml_deserializeDocumentAliasList(v *[]string, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -18898,6 +20540,19 @@ func awsRestxml_deserializeDocumentCacheBehavior(v **types.CacheBehavior, decode sv.RealtimeLogConfigArn = ptr.String(xtv) } + case strings.EqualFold("ResponseHeadersPolicyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ResponseHeadersPolicyId = ptr.String(xtv) + } + case strings.EqualFold("SmoothStreaming", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -21661,6 +23316,19 @@ func awsRestxml_deserializeDocumentDefaultCacheBehavior(v **types.DefaultCacheBe sv.RealtimeLogConfigArn = ptr.String(xtv) } + case strings.EqualFold("ResponseHeadersPolicyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ResponseHeadersPolicyId = ptr.String(xtv) + } + case strings.EqualFold("SmoothStreaming", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -29097,6 +30765,55 @@ func awsRestxml_deserializeDocumentNoSuchResource(v **types.NoSuchResource, deco return nil } +func awsRestxml_deserializeDocumentNoSuchResponseHeadersPolicy(v **types.NoSuchResponseHeadersPolicy, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.NoSuchResponseHeadersPolicy + if *v == nil { + sv = &types.NoSuchResponseHeadersPolicy{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentNoSuchStreamingDistribution(v **types.NoSuchStreamingDistribution, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -32281,13 +33998,1360 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigAlreadyExists(v **types.Real return nil } -func awsRestxml_deserializeDocumentRealtimeLogConfigInUse(v **types.RealtimeLogConfigInUse, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentRealtimeLogConfigInUse(v **types.RealtimeLogConfigInUse, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.RealtimeLogConfigInUse + if *v == nil { + sv = &types.RealtimeLogConfigInUse{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentRealtimeLogConfigList(v *[]types.RealtimeLogConfig, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.RealtimeLogConfig + if *v == nil { + sv = make([]types.RealtimeLogConfig, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.RealtimeLogConfig + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsRestxml_deserializeDocumentRealtimeLogConfig(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentRealtimeLogConfigListUnwrapped(v *[]types.RealtimeLogConfig, decoder smithyxml.NodeDecoder) error { + var sv []types.RealtimeLogConfig + if *v == nil { + sv = make([]types.RealtimeLogConfig, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.RealtimeLogConfig + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsRestxml_deserializeDocumentRealtimeLogConfig(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsRestxml_deserializeDocumentRealtimeLogConfigOwnerMismatch(v **types.RealtimeLogConfigOwnerMismatch, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.RealtimeLogConfigOwnerMismatch + if *v == nil { + sv = &types.RealtimeLogConfigOwnerMismatch{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfigs, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.RealtimeLogConfigs + if *v == nil { + sv = &types.RealtimeLogConfigs{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("IsTruncated", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.IsTruncated = ptr.Bool(xtv) + } + + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentRealtimeLogConfigList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Marker", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Marker = ptr.String(xtv) + } + + case strings.EqualFold("MaxItems", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.MaxItems = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("NextMarker", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextMarker = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentRealtimeMetricsSubscriptionConfig(v **types.RealtimeMetricsSubscriptionConfig, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.RealtimeMetricsSubscriptionConfig + if *v == nil { + sv = &types.RealtimeMetricsSubscriptionConfig{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("RealtimeMetricsSubscriptionStatus", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.RealtimeMetricsSubscriptionStatus = types.RealtimeMetricsSubscriptionStatus(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResourceInUse(v **types.ResourceInUse, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResourceInUse + if *v == nil { + sv = &types.ResourceInUse{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicy(v **types.ResponseHeadersPolicy, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicy + if *v == nil { + sv = &types.ResponseHeadersPolicy{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Id", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Id = ptr.String(xtv) + } + + case strings.EqualFold("LastModifiedTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.LastModifiedTime = ptr.Time(t) + } + + case strings.EqualFold("ResponseHeadersPolicyConfig", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyConfig(&sv.ResponseHeadersPolicyConfig, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlAllowHeaders(v **types.ResponseHeadersPolicyAccessControlAllowHeaders, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyAccessControlAllowHeaders + if *v == nil { + sv = &types.ResponseHeadersPolicyAccessControlAllowHeaders{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentAccessControlAllowHeadersList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlAllowMethods(v **types.ResponseHeadersPolicyAccessControlAllowMethods, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyAccessControlAllowMethods + if *v == nil { + sv = &types.ResponseHeadersPolicyAccessControlAllowMethods{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentAccessControlAllowMethodsList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlAllowOrigins(v **types.ResponseHeadersPolicyAccessControlAllowOrigins, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyAccessControlAllowOrigins + if *v == nil { + sv = &types.ResponseHeadersPolicyAccessControlAllowOrigins{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentAccessControlAllowOriginsList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlExposeHeaders(v **types.ResponseHeadersPolicyAccessControlExposeHeaders, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyAccessControlExposeHeaders + if *v == nil { + sv = &types.ResponseHeadersPolicyAccessControlExposeHeaders{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentAccessControlExposeHeadersList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyAlreadyExists(v **types.ResponseHeadersPolicyAlreadyExists, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyAlreadyExists + if *v == nil { + sv = &types.ResponseHeadersPolicyAlreadyExists{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyConfig(v **types.ResponseHeadersPolicyConfig, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyConfig + if *v == nil { + sv = &types.ResponseHeadersPolicyConfig{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Comment", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Comment = ptr.String(xtv) + } + + case strings.EqualFold("CorsConfig", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyCorsConfig(&sv.CorsConfig, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("CustomHeadersConfig", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeadersConfig(&sv.CustomHeadersConfig, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Name", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Name = ptr.String(xtv) + } + + case strings.EqualFold("SecurityHeadersConfig", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicySecurityHeadersConfig(&sv.SecurityHeadersConfig, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyContentSecurityPolicy(v **types.ResponseHeadersPolicyContentSecurityPolicy, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyContentSecurityPolicy + if *v == nil { + sv = &types.ResponseHeadersPolicyContentSecurityPolicy{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("ContentSecurityPolicy", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ContentSecurityPolicy = ptr.String(xtv) + } + + case strings.EqualFold("Override", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Override = ptr.Bool(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyContentTypeOptions(v **types.ResponseHeadersPolicyContentTypeOptions, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyContentTypeOptions + if *v == nil { + sv = &types.ResponseHeadersPolicyContentTypeOptions{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Override", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Override = ptr.Bool(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyCorsConfig(v **types.ResponseHeadersPolicyCorsConfig, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyCorsConfig + if *v == nil { + sv = &types.ResponseHeadersPolicyCorsConfig{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("AccessControlAllowCredentials", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.AccessControlAllowCredentials = ptr.Bool(xtv) + } + + case strings.EqualFold("AccessControlAllowHeaders", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlAllowHeaders(&sv.AccessControlAllowHeaders, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AccessControlAllowMethods", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlAllowMethods(&sv.AccessControlAllowMethods, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AccessControlAllowOrigins", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlAllowOrigins(&sv.AccessControlAllowOrigins, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AccessControlExposeHeaders", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyAccessControlExposeHeaders(&sv.AccessControlExposeHeaders, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("AccessControlMaxAgeSec", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.AccessControlMaxAgeSec = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("OriginOverride", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.OriginOverride = ptr.Bool(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeader(v **types.ResponseHeadersPolicyCustomHeader, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyCustomHeader + if *v == nil { + sv = &types.ResponseHeadersPolicyCustomHeader{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Header", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Header = ptr.String(xtv) + } + + case strings.EqualFold("Override", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Override = ptr.Bool(xtv) + } + + case strings.EqualFold("Value", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Value = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeaderList(v *[]types.ResponseHeadersPolicyCustomHeader, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.ResponseHeadersPolicyCustomHeader + if *v == nil { + sv = make([]types.ResponseHeadersPolicyCustomHeader, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("ResponseHeadersPolicyCustomHeader", t.Name.Local): + var col types.ResponseHeadersPolicyCustomHeader + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeader(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeaderListUnwrapped(v *[]types.ResponseHeadersPolicyCustomHeader, decoder smithyxml.NodeDecoder) error { + var sv []types.ResponseHeadersPolicyCustomHeader + if *v == nil { + sv = make([]types.ResponseHeadersPolicyCustomHeader, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.ResponseHeadersPolicyCustomHeader + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeader(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeadersConfig(v **types.ResponseHeadersPolicyCustomHeadersConfig, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyCustomHeadersConfig + if *v == nil { + sv = &types.ResponseHeadersPolicyCustomHeadersConfig{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyCustomHeaderList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyFrameOptions(v **types.ResponseHeadersPolicyFrameOptions, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyFrameOptions + if *v == nil { + sv = &types.ResponseHeadersPolicyFrameOptions{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("FrameOption", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.FrameOption = types.FrameOptionsList(xtv) + } + + case strings.EqualFold("Override", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Override = ptr.Bool(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyInUse(v **types.ResponseHeadersPolicyInUse, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyInUse + if *v == nil { + sv = &types.ResponseHeadersPolicyInUse{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicyList(v **types.ResponseHeadersPolicyList, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.RealtimeLogConfigInUse + var sv *types.ResponseHeadersPolicyList if *v == nil { - sv = &types.RealtimeLogConfigInUse{} + sv = &types.ResponseHeadersPolicyList{} } else { sv = *v } @@ -32303,7 +35367,13 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigInUse(v **types.RealtimeLogC originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("Message", t.Name.Local): + case strings.EqualFold("Items", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicySummaryList(&sv.Items, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("MaxItems", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32313,7 +35383,41 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigInUse(v **types.RealtimeLogC } { xtv := string(val) - sv.Message = ptr.String(xtv) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.MaxItems = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("NextMarker", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextMarker = ptr.String(xtv) + } + + case strings.EqualFold("Quantity", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Quantity = ptr.Int32(int32(i64)) } default: @@ -32330,18 +35434,17 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigInUse(v **types.RealtimeLogC return nil } -func awsRestxml_deserializeDocumentRealtimeLogConfigList(v *[]types.RealtimeLogConfig, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentResponseHeadersPolicyReferrerPolicy(v **types.ResponseHeadersPolicyReferrerPolicy, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv []types.RealtimeLogConfig + var sv *types.ResponseHeadersPolicyReferrerPolicy if *v == nil { - sv = make([]types.RealtimeLogConfig, 0) + sv = &types.ResponseHeadersPolicyReferrerPolicy{} } else { sv = *v } - originalDecoder := decoder for { t, done, err := decoder.Token() if err != nil { @@ -32350,18 +35453,40 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigList(v *[]types.RealtimeLogC if done { break } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("member", t.Name.Local): - var col types.RealtimeLogConfig - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &col - if err := awsRestxml_deserializeDocumentRealtimeLogConfig(&destAddr, nodeDecoder); err != nil { + case strings.EqualFold("Override", t.Name.Local): + val, err := decoder.Value() + if err != nil { return err } - col = *destAddr - sv = append(sv, col) + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Override = ptr.Bool(xtv) + } + + case strings.EqualFold("ReferrerPolicy", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ReferrerPolicy = types.ReferrerPolicyList(xtv) + } default: + // Do nothing and ignore the unexpected tag element err = decoder.Decoder.Skip() if err != nil { return err @@ -32374,37 +35499,13 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigList(v *[]types.RealtimeLogC return nil } -func awsRestxml_deserializeDocumentRealtimeLogConfigListUnwrapped(v *[]types.RealtimeLogConfig, decoder smithyxml.NodeDecoder) error { - var sv []types.RealtimeLogConfig - if *v == nil { - sv = make([]types.RealtimeLogConfig, 0) - } else { - sv = *v - } - - switch { - default: - var mv types.RealtimeLogConfig - t := decoder.StartEl - _ = t - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - destAddr := &mv - if err := awsRestxml_deserializeDocumentRealtimeLogConfig(&destAddr, nodeDecoder); err != nil { - return err - } - mv = *destAddr - sv = append(sv, mv) - } - *v = sv - return nil -} -func awsRestxml_deserializeDocumentRealtimeLogConfigOwnerMismatch(v **types.RealtimeLogConfigOwnerMismatch, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentResponseHeadersPolicySecurityHeadersConfig(v **types.ResponseHeadersPolicySecurityHeadersConfig, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.RealtimeLogConfigOwnerMismatch + var sv *types.ResponseHeadersPolicySecurityHeadersConfig if *v == nil { - sv = &types.RealtimeLogConfigOwnerMismatch{} + sv = &types.ResponseHeadersPolicySecurityHeadersConfig{} } else { sv = *v } @@ -32420,17 +35521,40 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigOwnerMismatch(v **types.Real originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("Message", t.Name.Local): - val, err := decoder.Value() - if err != nil { + case strings.EqualFold("ContentSecurityPolicy", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyContentSecurityPolicy(&sv.ContentSecurityPolicy, nodeDecoder); err != nil { return err } - if val == nil { - break + + case strings.EqualFold("ContentTypeOptions", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyContentTypeOptions(&sv.ContentTypeOptions, nodeDecoder); err != nil { + return err } - { - xtv := string(val) - sv.Message = ptr.String(xtv) + + case strings.EqualFold("FrameOptions", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyFrameOptions(&sv.FrameOptions, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ReferrerPolicy", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyReferrerPolicy(&sv.ReferrerPolicy, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("StrictTransportSecurity", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyStrictTransportSecurity(&sv.StrictTransportSecurity, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("XSSProtection", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicyXSSProtection(&sv.XSSProtection, nodeDecoder); err != nil { + return err } default: @@ -32447,13 +35571,13 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigOwnerMismatch(v **types.Real return nil } -func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfigs, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentResponseHeadersPolicyStrictTransportSecurity(v **types.ResponseHeadersPolicyStrictTransportSecurity, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.RealtimeLogConfigs + var sv *types.ResponseHeadersPolicyStrictTransportSecurity if *v == nil { - sv = &types.RealtimeLogConfigs{} + sv = &types.ResponseHeadersPolicyStrictTransportSecurity{} } else { sv = *v } @@ -32469,7 +35593,7 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfi originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("IsTruncated", t.Name.Local): + case strings.EqualFold("AccessControlMaxAgeSec", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32478,20 +35602,15 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfi break } { - xtv, err := strconv.ParseBool(string(val)) + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) if err != nil { - return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + return err } - sv.IsTruncated = ptr.Bool(xtv) - } - - case strings.EqualFold("Items", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentRealtimeLogConfigList(&sv.Items, nodeDecoder); err != nil { - return err + sv.AccessControlMaxAgeSec = ptr.Int32(int32(i64)) } - case strings.EqualFold("Marker", t.Name.Local): + case strings.EqualFold("IncludeSubdomains", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32500,11 +35619,14 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfi break } { - xtv := string(val) - sv.Marker = ptr.String(xtv) + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.IncludeSubdomains = ptr.Bool(xtv) } - case strings.EqualFold("MaxItems", t.Name.Local): + case strings.EqualFold("Override", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32513,15 +35635,14 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfi break } { - xtv := string(val) - i64, err := strconv.ParseInt(xtv, 10, 64) + xtv, err := strconv.ParseBool(string(val)) if err != nil { - return err + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) } - sv.MaxItems = ptr.Int32(int32(i64)) + sv.Override = ptr.Bool(xtv) } - case strings.EqualFold("NextMarker", t.Name.Local): + case strings.EqualFold("Preload", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32530,8 +35651,11 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfi break } { - xtv := string(val) - sv.NextMarker = ptr.String(xtv) + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Preload = ptr.Bool(xtv) } default: @@ -32548,13 +35672,13 @@ func awsRestxml_deserializeDocumentRealtimeLogConfigs(v **types.RealtimeLogConfi return nil } -func awsRestxml_deserializeDocumentRealtimeMetricsSubscriptionConfig(v **types.RealtimeMetricsSubscriptionConfig, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentResponseHeadersPolicySummary(v **types.ResponseHeadersPolicySummary, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.RealtimeMetricsSubscriptionConfig + var sv *types.ResponseHeadersPolicySummary if *v == nil { - sv = &types.RealtimeMetricsSubscriptionConfig{} + sv = &types.ResponseHeadersPolicySummary{} } else { sv = *v } @@ -32570,7 +35694,13 @@ func awsRestxml_deserializeDocumentRealtimeMetricsSubscriptionConfig(v **types.R originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("RealtimeMetricsSubscriptionStatus", t.Name.Local): + case strings.EqualFold("ResponseHeadersPolicy", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentResponseHeadersPolicy(&sv.ResponseHeadersPolicy, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Type", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32580,7 +35710,7 @@ func awsRestxml_deserializeDocumentRealtimeMetricsSubscriptionConfig(v **types.R } { xtv := string(val) - sv.RealtimeMetricsSubscriptionStatus = types.RealtimeMetricsSubscriptionStatus(xtv) + sv.Type = types.ResponseHeadersPolicyType(xtv) } default: @@ -32597,13 +35727,81 @@ func awsRestxml_deserializeDocumentRealtimeMetricsSubscriptionConfig(v **types.R return nil } -func awsRestxml_deserializeDocumentResourceInUse(v **types.ResourceInUse, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentResponseHeadersPolicySummaryList(v *[]types.ResponseHeadersPolicySummary, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.ResourceInUse + var sv []types.ResponseHeadersPolicySummary if *v == nil { - sv = &types.ResourceInUse{} + sv = make([]types.ResponseHeadersPolicySummary, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("ResponseHeadersPolicySummary", t.Name.Local): + var col types.ResponseHeadersPolicySummary + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsRestxml_deserializeDocumentResponseHeadersPolicySummary(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentResponseHeadersPolicySummaryListUnwrapped(v *[]types.ResponseHeadersPolicySummary, decoder smithyxml.NodeDecoder) error { + var sv []types.ResponseHeadersPolicySummary + if *v == nil { + sv = make([]types.ResponseHeadersPolicySummary, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.ResponseHeadersPolicySummary + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsRestxml_deserializeDocumentResponseHeadersPolicySummary(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsRestxml_deserializeDocumentResponseHeadersPolicyXSSProtection(v **types.ResponseHeadersPolicyXSSProtection, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ResponseHeadersPolicyXSSProtection + if *v == nil { + sv = &types.ResponseHeadersPolicyXSSProtection{} } else { sv = *v } @@ -32619,7 +35817,55 @@ func awsRestxml_deserializeDocumentResourceInUse(v **types.ResourceInUse, decode originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("Message", t.Name.Local): + case strings.EqualFold("ModeBlock", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.ModeBlock = ptr.Bool(xtv) + } + + case strings.EqualFold("Override", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Override = ptr.Bool(xtv) + } + + case strings.EqualFold("Protection", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", val) + } + sv.Protection = ptr.Bool(xtv) + } + + case strings.EqualFold("ReportUri", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -32629,7 +35875,7 @@ func awsRestxml_deserializeDocumentResourceInUse(v **types.ResourceInUse, decode } { xtv := string(val) - sv.Message = ptr.String(xtv) + sv.ReportUri = ptr.String(xtv) } default: @@ -34559,6 +37805,55 @@ func awsRestxml_deserializeDocumentTooManyCookiesInOriginRequestPolicy(v **types return nil } +func awsRestxml_deserializeDocumentTooManyCustomHeadersInResponseHeadersPolicy(v **types.TooManyCustomHeadersInResponseHeadersPolicy, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.TooManyCustomHeadersInResponseHeadersPolicy + if *v == nil { + sv = &types.TooManyCustomHeadersInResponseHeadersPolicy{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentTooManyDistributionCNAMEs(v **types.TooManyDistributionCNAMEs, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -34853,6 +38148,55 @@ func awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToOriginRequest return nil } +func awsRestxml_deserializeDocumentTooManyDistributionsAssociatedToResponseHeadersPolicy(v **types.TooManyDistributionsAssociatedToResponseHeadersPolicy, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.TooManyDistributionsAssociatedToResponseHeadersPolicy + if *v == nil { + sv = &types.TooManyDistributionsAssociatedToResponseHeadersPolicy{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentTooManyDistributionsWithFunctionAssociations(v **types.TooManyDistributionsWithFunctionAssociations, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -36225,6 +39569,55 @@ func awsRestxml_deserializeDocumentTooManyRealtimeLogConfigs(v **types.TooManyRe return nil } +func awsRestxml_deserializeDocumentTooManyResponseHeadersPolicies(v **types.TooManyResponseHeadersPolicies, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.TooManyResponseHeadersPolicies + if *v == nil { + sv = &types.TooManyResponseHeadersPolicies{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentTooManyStreamingDistributionCNAMEs(v **types.TooManyStreamingDistributionCNAMEs, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/cloudfront/generated.json b/service/cloudfront/generated.json index d08255996ac..0d2d136074f 100644 --- a/service/cloudfront/generated.json +++ b/service/cloudfront/generated.json @@ -20,6 +20,7 @@ "api_op_CreateOriginRequestPolicy.go", "api_op_CreatePublicKey.go", "api_op_CreateRealtimeLogConfig.go", + "api_op_CreateResponseHeadersPolicy.go", "api_op_CreateStreamingDistribution.go", "api_op_CreateStreamingDistributionWithTags.go", "api_op_DeleteCachePolicy.go", @@ -33,6 +34,7 @@ "api_op_DeleteOriginRequestPolicy.go", "api_op_DeletePublicKey.go", "api_op_DeleteRealtimeLogConfig.go", + "api_op_DeleteResponseHeadersPolicy.go", "api_op_DeleteStreamingDistribution.go", "api_op_DescribeFunction.go", "api_op_GetCachePolicy.go", @@ -55,6 +57,8 @@ "api_op_GetPublicKey.go", "api_op_GetPublicKeyConfig.go", "api_op_GetRealtimeLogConfig.go", + "api_op_GetResponseHeadersPolicy.go", + "api_op_GetResponseHeadersPolicyConfig.go", "api_op_GetStreamingDistribution.go", "api_op_GetStreamingDistributionConfig.go", "api_op_ListCachePolicies.go", @@ -65,6 +69,7 @@ "api_op_ListDistributionsByKeyGroup.go", "api_op_ListDistributionsByOriginRequestPolicyId.go", "api_op_ListDistributionsByRealtimeLogConfig.go", + "api_op_ListDistributionsByResponseHeadersPolicyId.go", "api_op_ListDistributionsByWebACLId.go", "api_op_ListFieldLevelEncryptionConfigs.go", "api_op_ListFieldLevelEncryptionProfiles.go", @@ -74,6 +79,7 @@ "api_op_ListOriginRequestPolicies.go", "api_op_ListPublicKeys.go", "api_op_ListRealtimeLogConfigs.go", + "api_op_ListResponseHeadersPolicies.go", "api_op_ListStreamingDistributions.go", "api_op_ListTagsForResource.go", "api_op_PublishFunction.go", @@ -90,6 +96,7 @@ "api_op_UpdateOriginRequestPolicy.go", "api_op_UpdatePublicKey.go", "api_op_UpdateRealtimeLogConfig.go", + "api_op_UpdateResponseHeadersPolicy.go", "api_op_UpdateStreamingDistribution.go", "deserializers.go", "doc.go", diff --git a/service/cloudfront/serializers.go b/service/cloudfront/serializers.go index dd0998629b4..20ce3148d74 100644 --- a/service/cloudfront/serializers.go +++ b/service/cloudfront/serializers.go @@ -1069,6 +1069,74 @@ func awsRestxml_serializeOpDocumentCreateRealtimeLogConfigInput(v *CreateRealtim return nil } +type awsRestxml_serializeOpCreateResponseHeadersPolicy struct { +} + +func (*awsRestxml_serializeOpCreateResponseHeadersPolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpCreateResponseHeadersPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*CreateResponseHeadersPolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/response-headers-policy") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if input.ResponseHeadersPolicyConfig != nil { + if !restEncoder.HasHeader("Content-Type") { + restEncoder.SetHeader("Content-Type").String("application/xml") + } + + xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil)) + payloadRootAttr := []smithyxml.Attr{} + payloadRoot := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ResponseHeadersPolicyConfig", + }, + Attr: payloadRootAttr, + } + payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://cloudfront.amazonaws.com/doc/2020-05-31/")) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyConfig(input.ResponseHeadersPolicyConfig, xmlEncoder.RootElement(payloadRoot)); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + payload := bytes.NewReader(xmlEncoder.Bytes()) + if request, err = request.SetStream(payload); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsCreateResponseHeadersPolicyInput(v *CreateResponseHeadersPolicyInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + type awsRestxml_serializeOpCreateStreamingDistribution struct { } @@ -1920,6 +1988,69 @@ func awsRestxml_serializeOpDocumentDeleteRealtimeLogConfigInput(v *DeleteRealtim return nil } +type awsRestxml_serializeOpDeleteResponseHeadersPolicy struct { +} + +func (*awsRestxml_serializeOpDeleteResponseHeadersPolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpDeleteResponseHeadersPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteResponseHeadersPolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/response-headers-policy/{Id}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "DELETE" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsDeleteResponseHeadersPolicyInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsDeleteResponseHeadersPolicyInput(v *DeleteResponseHeadersPolicyInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Id == nil || len(*v.Id) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Id must not be empty")} + } + if v.Id != nil { + if err := encoder.SetURI("Id").String(*v.Id); err != nil { + return err + } + } + + if v.IfMatch != nil && len(*v.IfMatch) > 0 { + locationName := "If-Match" + encoder.SetHeader(locationName).String(*v.IfMatch) + } + + return nil +} + type awsRestxml_serializeOpDeleteStreamingDistribution struct { } @@ -3250,6 +3381,122 @@ func awsRestxml_serializeOpDocumentGetRealtimeLogConfigInput(v *GetRealtimeLogCo return nil } +type awsRestxml_serializeOpGetResponseHeadersPolicy struct { +} + +func (*awsRestxml_serializeOpGetResponseHeadersPolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpGetResponseHeadersPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetResponseHeadersPolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/response-headers-policy/{Id}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsGetResponseHeadersPolicyInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsGetResponseHeadersPolicyInput(v *GetResponseHeadersPolicyInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Id == nil || len(*v.Id) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Id must not be empty")} + } + if v.Id != nil { + if err := encoder.SetURI("Id").String(*v.Id); err != nil { + return err + } + } + + return nil +} + +type awsRestxml_serializeOpGetResponseHeadersPolicyConfig struct { +} + +func (*awsRestxml_serializeOpGetResponseHeadersPolicyConfig) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpGetResponseHeadersPolicyConfig) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetResponseHeadersPolicyConfigInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/response-headers-policy/{Id}/config") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsGetResponseHeadersPolicyConfigInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsGetResponseHeadersPolicyConfigInput(v *GetResponseHeadersPolicyConfigInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Id == nil || len(*v.Id) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Id must not be empty")} + } + if v.Id != nil { + if err := encoder.SetURI("Id").String(*v.Id); err != nil { + return err + } + } + + return nil +} + type awsRestxml_serializeOpGetStreamingDistribution struct { } @@ -3916,14 +4163,14 @@ func awsRestxml_serializeOpDocumentListDistributionsByRealtimeLogConfigInput(v * return nil } -type awsRestxml_serializeOpListDistributionsByWebACLId struct { +type awsRestxml_serializeOpListDistributionsByResponseHeadersPolicyId struct { } -func (*awsRestxml_serializeOpListDistributionsByWebACLId) ID() string { +func (*awsRestxml_serializeOpListDistributionsByResponseHeadersPolicyId) ID() string { return "OperationSerializer" } -func (m *awsRestxml_serializeOpListDistributionsByWebACLId) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsRestxml_serializeOpListDistributionsByResponseHeadersPolicyId) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) @@ -3931,13 +4178,13 @@ func (m *awsRestxml_serializeOpListDistributionsByWebACLId) HandleSerialize(ctx return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*ListDistributionsByWebACLIdInput) + input, ok := in.Parameters.(*ListDistributionsByResponseHeadersPolicyIdInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } - opPath, opQuery := httpbinding.SplitURI("/2020-05-31/distributionsByWebACLId/{WebACLId}") + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/distributionsByResponseHeadersPolicyId/{ResponseHeadersPolicyId}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" @@ -3946,7 +4193,7 @@ func (m *awsRestxml_serializeOpListDistributionsByWebACLId) HandleSerialize(ctx return out, metadata, &smithy.SerializationError{Err: err} } - if err := awsRestxml_serializeOpHttpBindingsListDistributionsByWebACLIdInput(input, restEncoder); err != nil { + if err := awsRestxml_serializeOpHttpBindingsListDistributionsByResponseHeadersPolicyIdInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -3957,7 +4204,7 @@ func (m *awsRestxml_serializeOpListDistributionsByWebACLId) HandleSerialize(ctx return next.HandleSerialize(ctx, in) } -func awsRestxml_serializeOpHttpBindingsListDistributionsByWebACLIdInput(v *ListDistributionsByWebACLIdInput, encoder *httpbinding.Encoder) error { +func awsRestxml_serializeOpHttpBindingsListDistributionsByResponseHeadersPolicyIdInput(v *ListDistributionsByResponseHeadersPolicyIdInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } @@ -3970,11 +4217,11 @@ func awsRestxml_serializeOpHttpBindingsListDistributionsByWebACLIdInput(v *ListD encoder.SetQuery("MaxItems").Integer(*v.MaxItems) } - if v.WebACLId == nil || len(*v.WebACLId) == 0 { - return &smithy.SerializationError{Err: fmt.Errorf("input member WebACLId must not be empty")} + if v.ResponseHeadersPolicyId == nil || len(*v.ResponseHeadersPolicyId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member ResponseHeadersPolicyId must not be empty")} } - if v.WebACLId != nil { - if err := encoder.SetURI("WebACLId").String(*v.WebACLId); err != nil { + if v.ResponseHeadersPolicyId != nil { + if err := encoder.SetURI("ResponseHeadersPolicyId").String(*v.ResponseHeadersPolicyId); err != nil { return err } } @@ -3982,14 +4229,14 @@ func awsRestxml_serializeOpHttpBindingsListDistributionsByWebACLIdInput(v *ListD return nil } -type awsRestxml_serializeOpListFieldLevelEncryptionConfigs struct { +type awsRestxml_serializeOpListDistributionsByWebACLId struct { } -func (*awsRestxml_serializeOpListFieldLevelEncryptionConfigs) ID() string { +func (*awsRestxml_serializeOpListDistributionsByWebACLId) ID() string { return "OperationSerializer" } -func (m *awsRestxml_serializeOpListFieldLevelEncryptionConfigs) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsRestxml_serializeOpListDistributionsByWebACLId) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) @@ -3997,13 +4244,13 @@ func (m *awsRestxml_serializeOpListFieldLevelEncryptionConfigs) HandleSerialize( return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} } - input, ok := in.Parameters.(*ListFieldLevelEncryptionConfigsInput) + input, ok := in.Parameters.(*ListDistributionsByWebACLIdInput) _ = input if !ok { return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} } - opPath, opQuery := httpbinding.SplitURI("/2020-05-31/field-level-encryption") + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/distributionsByWebACLId/{WebACLId}") request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) request.Method = "GET" @@ -4012,7 +4259,7 @@ func (m *awsRestxml_serializeOpListFieldLevelEncryptionConfigs) HandleSerialize( return out, metadata, &smithy.SerializationError{Err: err} } - if err := awsRestxml_serializeOpHttpBindingsListFieldLevelEncryptionConfigsInput(input, restEncoder); err != nil { + if err := awsRestxml_serializeOpHttpBindingsListDistributionsByWebACLIdInput(input, restEncoder); err != nil { return out, metadata, &smithy.SerializationError{Err: err} } @@ -4023,7 +4270,7 @@ func (m *awsRestxml_serializeOpListFieldLevelEncryptionConfigs) HandleSerialize( return next.HandleSerialize(ctx, in) } -func awsRestxml_serializeOpHttpBindingsListFieldLevelEncryptionConfigsInput(v *ListFieldLevelEncryptionConfigsInput, encoder *httpbinding.Encoder) error { +func awsRestxml_serializeOpHttpBindingsListDistributionsByWebACLIdInput(v *ListDistributionsByWebACLIdInput, encoder *httpbinding.Encoder) error { if v == nil { return fmt.Errorf("unsupported serialization of nil %T", v) } @@ -4036,17 +4283,83 @@ func awsRestxml_serializeOpHttpBindingsListFieldLevelEncryptionConfigsInput(v *L encoder.SetQuery("MaxItems").Integer(*v.MaxItems) } + if v.WebACLId == nil || len(*v.WebACLId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member WebACLId must not be empty")} + } + if v.WebACLId != nil { + if err := encoder.SetURI("WebACLId").String(*v.WebACLId); err != nil { + return err + } + } + return nil } -type awsRestxml_serializeOpListFieldLevelEncryptionProfiles struct { +type awsRestxml_serializeOpListFieldLevelEncryptionConfigs struct { } -func (*awsRestxml_serializeOpListFieldLevelEncryptionProfiles) ID() string { +func (*awsRestxml_serializeOpListFieldLevelEncryptionConfigs) ID() string { return "OperationSerializer" } -func (m *awsRestxml_serializeOpListFieldLevelEncryptionProfiles) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( +func (m *awsRestxml_serializeOpListFieldLevelEncryptionConfigs) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListFieldLevelEncryptionConfigsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/field-level-encryption") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsListFieldLevelEncryptionConfigsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsListFieldLevelEncryptionConfigsInput(v *ListFieldLevelEncryptionConfigsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Marker != nil { + encoder.SetQuery("Marker").String(*v.Marker) + } + + if v.MaxItems != nil { + encoder.SetQuery("MaxItems").Integer(*v.MaxItems) + } + + return nil +} + +type awsRestxml_serializeOpListFieldLevelEncryptionProfiles struct { +} + +func (*awsRestxml_serializeOpListFieldLevelEncryptionProfiles) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpListFieldLevelEncryptionProfiles) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( out middleware.SerializeOutput, metadata middleware.Metadata, err error, ) { request, ok := in.Request.(*smithyhttp.Request) @@ -4455,6 +4768,67 @@ func awsRestxml_serializeOpHttpBindingsListRealtimeLogConfigsInput(v *ListRealti return nil } +type awsRestxml_serializeOpListResponseHeadersPolicies struct { +} + +func (*awsRestxml_serializeOpListResponseHeadersPolicies) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpListResponseHeadersPolicies) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListResponseHeadersPoliciesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/response-headers-policy") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsListResponseHeadersPoliciesInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsListResponseHeadersPoliciesInput(v *ListResponseHeadersPoliciesInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Marker != nil { + encoder.SetQuery("Marker").String(*v.Marker) + } + + if v.MaxItems != nil { + encoder.SetQuery("MaxItems").Integer(*v.MaxItems) + } + + if len(v.Type) > 0 { + encoder.SetQuery("Type").String(string(v.Type)) + } + + return nil +} + type awsRestxml_serializeOpListStreamingDistributions struct { } @@ -5813,6 +6187,92 @@ func awsRestxml_serializeOpDocumentUpdateRealtimeLogConfigInput(v *UpdateRealtim return nil } +type awsRestxml_serializeOpUpdateResponseHeadersPolicy struct { +} + +func (*awsRestxml_serializeOpUpdateResponseHeadersPolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsRestxml_serializeOpUpdateResponseHeadersPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateResponseHeadersPolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-05-31/response-headers-policy/{Id}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PUT" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestxml_serializeOpHttpBindingsUpdateResponseHeadersPolicyInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if input.ResponseHeadersPolicyConfig != nil { + if !restEncoder.HasHeader("Content-Type") { + restEncoder.SetHeader("Content-Type").String("application/xml") + } + + xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil)) + payloadRootAttr := []smithyxml.Attr{} + payloadRoot := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ResponseHeadersPolicyConfig", + }, + Attr: payloadRootAttr, + } + payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://cloudfront.amazonaws.com/doc/2020-05-31/")) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyConfig(input.ResponseHeadersPolicyConfig, xmlEncoder.RootElement(payloadRoot)); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + payload := bytes.NewReader(xmlEncoder.Bytes()) + if request, err = request.SetStream(payload); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestxml_serializeOpHttpBindingsUpdateResponseHeadersPolicyInput(v *UpdateResponseHeadersPolicyInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Id == nil || len(*v.Id) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Id must not be empty")} + } + if v.Id != nil { + if err := encoder.SetURI("Id").String(*v.Id); err != nil { + return err + } + } + + if v.IfMatch != nil && len(*v.IfMatch) > 0 { + locationName := "If-Match" + encoder.SetHeader(locationName).String(*v.IfMatch) + } + + return nil +} + type awsRestxml_serializeOpUpdateStreamingDistribution struct { } @@ -5899,36 +6359,27 @@ func awsRestxml_serializeOpHttpBindingsUpdateStreamingDistributionInput(v *Updat return nil } -func awsRestxml_serializeDocumentAliases(v *types.Aliases, value smithyxml.Value) error { - defer value.Close() - if v.Items != nil { - rootAttr := []smithyxml.Attr{} - root := smithyxml.StartElement{ - Name: smithyxml.Name{ - Local: "Items", - }, - Attr: rootAttr, - } - el := value.MemberElement(root) - if err := awsRestxml_serializeDocumentAliasList(v.Items, el); err != nil { - return err - } +func awsRestxml_serializeDocumentAccessControlAllowHeadersList(v []string, value smithyxml.Value) error { + var array *smithyxml.Array + if !value.IsFlattened() { + defer value.Close() } - if v.Quantity != nil { - rootAttr := []smithyxml.Attr{} - root := smithyxml.StartElement{ - Name: smithyxml.Name{ - Local: "Quantity", - }, - Attr: rootAttr, - } - el := value.MemberElement(root) - el.Integer(*v.Quantity) + customMemberNameAttr := []smithyxml.Attr{} + customMemberName := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Header", + }, + Attr: customMemberNameAttr, + } + array = value.ArrayWithCustomName(customMemberName) + for i := range v { + am := array.Member() + am.String(v[i]) } return nil } -func awsRestxml_serializeDocumentAliasList(v []string, value smithyxml.Value) error { +func awsRestxml_serializeDocumentAccessControlAllowMethodsList(v []types.ResponseHeadersPolicyAccessControlAllowMethodsValues, value smithyxml.Value) error { var array *smithyxml.Array if !value.IsFlattened() { defer value.Close() @@ -5936,42 +6387,131 @@ func awsRestxml_serializeDocumentAliasList(v []string, value smithyxml.Value) er customMemberNameAttr := []smithyxml.Attr{} customMemberName := smithyxml.StartElement{ Name: smithyxml.Name{ - Local: "CNAME", + Local: "Method", }, Attr: customMemberNameAttr, } array = value.ArrayWithCustomName(customMemberName) for i := range v { am := array.Member() - am.String(v[i]) + am.String(string(v[i])) } return nil } -func awsRestxml_serializeDocumentAllowedMethods(v *types.AllowedMethods, value smithyxml.Value) error { - defer value.Close() - if v.CachedMethods != nil { - rootAttr := []smithyxml.Attr{} - root := smithyxml.StartElement{ - Name: smithyxml.Name{ - Local: "CachedMethods", - }, - Attr: rootAttr, - } - el := value.MemberElement(root) - if err := awsRestxml_serializeDocumentCachedMethods(v.CachedMethods, el); err != nil { - return err - } +func awsRestxml_serializeDocumentAccessControlAllowOriginsList(v []string, value smithyxml.Value) error { + var array *smithyxml.Array + if !value.IsFlattened() { + defer value.Close() } - if v.Items != nil { - rootAttr := []smithyxml.Attr{} - root := smithyxml.StartElement{ - Name: smithyxml.Name{ - Local: "Items", - }, - Attr: rootAttr, - } - el := value.MemberElement(root) + customMemberNameAttr := []smithyxml.Attr{} + customMemberName := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Origin", + }, + Attr: customMemberNameAttr, + } + array = value.ArrayWithCustomName(customMemberName) + for i := range v { + am := array.Member() + am.String(v[i]) + } + return nil +} + +func awsRestxml_serializeDocumentAccessControlExposeHeadersList(v []string, value smithyxml.Value) error { + var array *smithyxml.Array + if !value.IsFlattened() { + defer value.Close() + } + customMemberNameAttr := []smithyxml.Attr{} + customMemberName := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Header", + }, + Attr: customMemberNameAttr, + } + array = value.ArrayWithCustomName(customMemberName) + for i := range v { + am := array.Member() + am.String(v[i]) + } + return nil +} + +func awsRestxml_serializeDocumentAliases(v *types.Aliases, value smithyxml.Value) error { + defer value.Close() + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentAliasList(v.Items, el); err != nil { + return err + } + } + if v.Quantity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Quantity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.Quantity) + } + return nil +} + +func awsRestxml_serializeDocumentAliasList(v []string, value smithyxml.Value) error { + var array *smithyxml.Array + if !value.IsFlattened() { + defer value.Close() + } + customMemberNameAttr := []smithyxml.Attr{} + customMemberName := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "CNAME", + }, + Attr: customMemberNameAttr, + } + array = value.ArrayWithCustomName(customMemberName) + for i := range v { + am := array.Member() + am.String(v[i]) + } + return nil +} + +func awsRestxml_serializeDocumentAllowedMethods(v *types.AllowedMethods, value smithyxml.Value) error { + defer value.Close() + if v.CachedMethods != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "CachedMethods", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentCachedMethods(v.CachedMethods, el); err != nil { + return err + } + } + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) if err := awsRestxml_serializeDocumentMethodsList(v.Items, el); err != nil { return err } @@ -6163,6 +6703,17 @@ func awsRestxml_serializeDocumentCacheBehavior(v *types.CacheBehavior, value smi el := value.MemberElement(root) el.String(*v.RealtimeLogConfigArn) } + if v.ResponseHeadersPolicyId != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ResponseHeadersPolicyId", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ResponseHeadersPolicyId) + } if v.SmoothStreaming != nil { rootAttr := []smithyxml.Attr{} root := smithyxml.StartElement{ @@ -7032,6 +7583,17 @@ func awsRestxml_serializeDocumentDefaultCacheBehavior(v *types.DefaultCacheBehav el := value.MemberElement(root) el.String(*v.RealtimeLogConfigArn) } + if v.ResponseHeadersPolicyId != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ResponseHeadersPolicyId", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ResponseHeadersPolicyId) + } if v.SmoothStreaming != nil { rootAttr := []smithyxml.Attr{} root := smithyxml.StartElement{ @@ -9188,6 +9750,645 @@ func awsRestxml_serializeDocumentRealtimeMetricsSubscriptionConfig(v *types.Real return nil } +func awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlAllowHeaders(v *types.ResponseHeadersPolicyAccessControlAllowHeaders, value smithyxml.Value) error { + defer value.Close() + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentAccessControlAllowHeadersList(v.Items, el); err != nil { + return err + } + } + if v.Quantity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Quantity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.Quantity) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlAllowMethods(v *types.ResponseHeadersPolicyAccessControlAllowMethods, value smithyxml.Value) error { + defer value.Close() + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentAccessControlAllowMethodsList(v.Items, el); err != nil { + return err + } + } + if v.Quantity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Quantity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.Quantity) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlAllowOrigins(v *types.ResponseHeadersPolicyAccessControlAllowOrigins, value smithyxml.Value) error { + defer value.Close() + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentAccessControlAllowOriginsList(v.Items, el); err != nil { + return err + } + } + if v.Quantity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Quantity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.Quantity) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlExposeHeaders(v *types.ResponseHeadersPolicyAccessControlExposeHeaders, value smithyxml.Value) error { + defer value.Close() + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentAccessControlExposeHeadersList(v.Items, el); err != nil { + return err + } + } + if v.Quantity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Quantity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.Quantity) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyConfig(v *types.ResponseHeadersPolicyConfig, value smithyxml.Value) error { + defer value.Close() + if v.Comment != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Comment", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.Comment) + } + if v.CorsConfig != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "CorsConfig", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyCorsConfig(v.CorsConfig, el); err != nil { + return err + } + } + if v.CustomHeadersConfig != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "CustomHeadersConfig", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyCustomHeadersConfig(v.CustomHeadersConfig, el); err != nil { + return err + } + } + if v.Name != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Name", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.Name) + } + if v.SecurityHeadersConfig != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "SecurityHeadersConfig", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicySecurityHeadersConfig(v.SecurityHeadersConfig, el); err != nil { + return err + } + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyContentSecurityPolicy(v *types.ResponseHeadersPolicyContentSecurityPolicy, value smithyxml.Value) error { + defer value.Close() + if v.ContentSecurityPolicy != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ContentSecurityPolicy", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ContentSecurityPolicy) + } + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyContentTypeOptions(v *types.ResponseHeadersPolicyContentTypeOptions, value smithyxml.Value) error { + defer value.Close() + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyCorsConfig(v *types.ResponseHeadersPolicyCorsConfig, value smithyxml.Value) error { + defer value.Close() + if v.AccessControlAllowCredentials != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlAllowCredentials", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.AccessControlAllowCredentials) + } + if v.AccessControlAllowHeaders != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlAllowHeaders", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlAllowHeaders(v.AccessControlAllowHeaders, el); err != nil { + return err + } + } + if v.AccessControlAllowMethods != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlAllowMethods", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlAllowMethods(v.AccessControlAllowMethods, el); err != nil { + return err + } + } + if v.AccessControlAllowOrigins != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlAllowOrigins", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlAllowOrigins(v.AccessControlAllowOrigins, el); err != nil { + return err + } + } + if v.AccessControlExposeHeaders != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlExposeHeaders", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyAccessControlExposeHeaders(v.AccessControlExposeHeaders, el); err != nil { + return err + } + } + if v.AccessControlMaxAgeSec != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlMaxAgeSec", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.AccessControlMaxAgeSec) + } + if v.OriginOverride != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "OriginOverride", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.OriginOverride) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyCustomHeader(v *types.ResponseHeadersPolicyCustomHeader, value smithyxml.Value) error { + defer value.Close() + if v.Header != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Header", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.Header) + } + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + if v.Value != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Value", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.Value) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyCustomHeaderList(v []types.ResponseHeadersPolicyCustomHeader, value smithyxml.Value) error { + var array *smithyxml.Array + if !value.IsFlattened() { + defer value.Close() + } + customMemberNameAttr := []smithyxml.Attr{} + customMemberName := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ResponseHeadersPolicyCustomHeader", + }, + Attr: customMemberNameAttr, + } + array = value.ArrayWithCustomName(customMemberName) + for i := range v { + am := array.Member() + if err := awsRestxml_serializeDocumentResponseHeadersPolicyCustomHeader(&v[i], am); err != nil { + return err + } + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyCustomHeadersConfig(v *types.ResponseHeadersPolicyCustomHeadersConfig, value smithyxml.Value) error { + defer value.Close() + if v.Items != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Items", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyCustomHeaderList(v.Items, el); err != nil { + return err + } + } + if v.Quantity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Quantity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.Quantity) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyFrameOptions(v *types.ResponseHeadersPolicyFrameOptions, value smithyxml.Value) error { + defer value.Close() + if len(v.FrameOption) > 0 { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "FrameOption", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(string(v.FrameOption)) + } + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyReferrerPolicy(v *types.ResponseHeadersPolicyReferrerPolicy, value smithyxml.Value) error { + defer value.Close() + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + if len(v.ReferrerPolicy) > 0 { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ReferrerPolicy", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(string(v.ReferrerPolicy)) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicySecurityHeadersConfig(v *types.ResponseHeadersPolicySecurityHeadersConfig, value smithyxml.Value) error { + defer value.Close() + if v.ContentSecurityPolicy != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ContentSecurityPolicy", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyContentSecurityPolicy(v.ContentSecurityPolicy, el); err != nil { + return err + } + } + if v.ContentTypeOptions != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ContentTypeOptions", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyContentTypeOptions(v.ContentTypeOptions, el); err != nil { + return err + } + } + if v.FrameOptions != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "FrameOptions", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyFrameOptions(v.FrameOptions, el); err != nil { + return err + } + } + if v.ReferrerPolicy != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ReferrerPolicy", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyReferrerPolicy(v.ReferrerPolicy, el); err != nil { + return err + } + } + if v.StrictTransportSecurity != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "StrictTransportSecurity", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyStrictTransportSecurity(v.StrictTransportSecurity, el); err != nil { + return err + } + } + if v.XSSProtection != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "XSSProtection", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentResponseHeadersPolicyXSSProtection(v.XSSProtection, el); err != nil { + return err + } + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyStrictTransportSecurity(v *types.ResponseHeadersPolicyStrictTransportSecurity, value smithyxml.Value) error { + defer value.Close() + if v.AccessControlMaxAgeSec != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "AccessControlMaxAgeSec", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Integer(*v.AccessControlMaxAgeSec) + } + if v.IncludeSubdomains != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "IncludeSubdomains", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.IncludeSubdomains) + } + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + if v.Preload != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Preload", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Preload) + } + return nil +} + +func awsRestxml_serializeDocumentResponseHeadersPolicyXSSProtection(v *types.ResponseHeadersPolicyXSSProtection, value smithyxml.Value) error { + defer value.Close() + if v.ModeBlock != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ModeBlock", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.ModeBlock) + } + if v.Override != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Override", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Override) + } + if v.Protection != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Protection", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(*v.Protection) + } + if v.ReportUri != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ReportUri", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ReportUri) + } + return nil +} + func awsRestxml_serializeDocumentRestrictions(v *types.Restrictions, value smithyxml.Value) error { defer value.Close() if v.GeoRestriction != nil { diff --git a/service/cloudfront/types/enums.go b/service/cloudfront/types/enums.go index 19972207d57..5a08139a3e8 100644 --- a/service/cloudfront/types/enums.go +++ b/service/cloudfront/types/enums.go @@ -141,6 +141,24 @@ func (Format) Values() []Format { } } +type FrameOptionsList string + +// Enum values for FrameOptionsList +const ( + FrameOptionsListDeny FrameOptionsList = "DENY" + FrameOptionsListSameorigin FrameOptionsList = "SAMEORIGIN" +) + +// Values returns all known values for FrameOptionsList. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (FrameOptionsList) Values() []FrameOptionsList { + return []FrameOptionsList{ + "DENY", + "SAMEORIGIN", + } +} + type FunctionRuntime string // Enum values for FunctionRuntime @@ -451,6 +469,85 @@ func (RealtimeMetricsSubscriptionStatus) Values() []RealtimeMetricsSubscriptionS } } +type ReferrerPolicyList string + +// Enum values for ReferrerPolicyList +const ( + ReferrerPolicyListNoReferrer ReferrerPolicyList = "no-referrer" + ReferrerPolicyListNoReferrerWhenDowngrade ReferrerPolicyList = "no-referrer-when-downgrade" + ReferrerPolicyListOrigin ReferrerPolicyList = "origin" + ReferrerPolicyListOriginWhenCrossOrigin ReferrerPolicyList = "origin-when-cross-origin" + ReferrerPolicyListSameOrigin ReferrerPolicyList = "same-origin" + ReferrerPolicyListStrictOrigin ReferrerPolicyList = "strict-origin" + ReferrerPolicyListStrictOriginWhenCrossOrigin ReferrerPolicyList = "strict-origin-when-cross-origin" + ReferrerPolicyListUnsafeUrl ReferrerPolicyList = "unsafe-url" +) + +// Values returns all known values for ReferrerPolicyList. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ReferrerPolicyList) Values() []ReferrerPolicyList { + return []ReferrerPolicyList{ + "no-referrer", + "no-referrer-when-downgrade", + "origin", + "origin-when-cross-origin", + "same-origin", + "strict-origin", + "strict-origin-when-cross-origin", + "unsafe-url", + } +} + +type ResponseHeadersPolicyAccessControlAllowMethodsValues string + +// Enum values for ResponseHeadersPolicyAccessControlAllowMethodsValues +const ( + ResponseHeadersPolicyAccessControlAllowMethodsValuesGet ResponseHeadersPolicyAccessControlAllowMethodsValues = "GET" + ResponseHeadersPolicyAccessControlAllowMethodsValuesPost ResponseHeadersPolicyAccessControlAllowMethodsValues = "POST" + ResponseHeadersPolicyAccessControlAllowMethodsValuesOptions ResponseHeadersPolicyAccessControlAllowMethodsValues = "OPTIONS" + ResponseHeadersPolicyAccessControlAllowMethodsValuesPut ResponseHeadersPolicyAccessControlAllowMethodsValues = "PUT" + ResponseHeadersPolicyAccessControlAllowMethodsValuesDelete ResponseHeadersPolicyAccessControlAllowMethodsValues = "DELETE" + ResponseHeadersPolicyAccessControlAllowMethodsValuesPatch ResponseHeadersPolicyAccessControlAllowMethodsValues = "PATCH" + ResponseHeadersPolicyAccessControlAllowMethodsValuesHead ResponseHeadersPolicyAccessControlAllowMethodsValues = "HEAD" + ResponseHeadersPolicyAccessControlAllowMethodsValuesAll ResponseHeadersPolicyAccessControlAllowMethodsValues = "ALL" +) + +// Values returns all known values for +// ResponseHeadersPolicyAccessControlAllowMethodsValues. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ResponseHeadersPolicyAccessControlAllowMethodsValues) Values() []ResponseHeadersPolicyAccessControlAllowMethodsValues { + return []ResponseHeadersPolicyAccessControlAllowMethodsValues{ + "GET", + "POST", + "OPTIONS", + "PUT", + "DELETE", + "PATCH", + "HEAD", + "ALL", + } +} + +type ResponseHeadersPolicyType string + +// Enum values for ResponseHeadersPolicyType +const ( + ResponseHeadersPolicyTypeManaged ResponseHeadersPolicyType = "managed" + ResponseHeadersPolicyTypeCustom ResponseHeadersPolicyType = "custom" +) + +// Values returns all known values for ResponseHeadersPolicyType. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (ResponseHeadersPolicyType) Values() []ResponseHeadersPolicyType { + return []ResponseHeadersPolicyType{ + "managed", + "custom", + } +} + type SslProtocol string // Enum values for SslProtocol diff --git a/service/cloudfront/types/errors.go b/service/cloudfront/types/errors.go index 876e85da3b3..1b2f55745aa 100644 --- a/service/cloudfront/types/errors.go +++ b/service/cloudfront/types/errors.go @@ -327,9 +327,9 @@ func (e *FieldLevelEncryptionProfileSizeExceeded) ErrorFault() smithy.ErrorFault return smithy.FaultClient } -// A function with the same name already exists in this account. To create a -// function, you must provide a unique name. To update an existing function, use -// UpdateFunction. +// A function with the same name already exists in this Amazon Web Services +// account. To create a function, you must provide a unique name. To update an +// existing function, use UpdateFunction. type FunctionAlreadyExists struct { Message *string @@ -1215,6 +1215,25 @@ func (e *NoSuchResource) ErrorMessage() string { func (e *NoSuchResource) ErrorCode() string { return "NoSuchResource" } func (e *NoSuchResource) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// The response headers policy does not exist. +type NoSuchResponseHeadersPolicy struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *NoSuchResponseHeadersPolicy) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *NoSuchResponseHeadersPolicy) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *NoSuchResponseHeadersPolicy) ErrorCode() string { return "NoSuchResponseHeadersPolicy" } +func (e *NoSuchResponseHeadersPolicy) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // The specified streaming distribution does not exist. type NoSuchStreamingDistribution struct { Message *string @@ -1394,7 +1413,8 @@ func (e *RealtimeLogConfigInUse) ErrorMessage() string { func (e *RealtimeLogConfigInUse) ErrorCode() string { return "RealtimeLogConfigInUse" } func (e *RealtimeLogConfigInUse) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The specified real-time log configuration belongs to a different account. +// The specified real-time log configuration belongs to a different Amazon Web +// Services account. type RealtimeLogConfigOwnerMismatch struct { Message *string @@ -1432,6 +1452,51 @@ func (e *ResourceInUse) ErrorMessage() string { func (e *ResourceInUse) ErrorCode() string { return "ResourceInUse" } func (e *ResourceInUse) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// A response headers policy with this name already exists. You must provide a +// unique name. To modify an existing response headers policy, use +// UpdateResponseHeadersPolicy. +type ResponseHeadersPolicyAlreadyExists struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *ResponseHeadersPolicyAlreadyExists) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *ResponseHeadersPolicyAlreadyExists) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *ResponseHeadersPolicyAlreadyExists) ErrorCode() string { + return "ResponseHeadersPolicyAlreadyExists" +} +func (e *ResponseHeadersPolicyAlreadyExists) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + +// Cannot delete the response headers policy because it is attached to one or more +// cache behaviors in a CloudFront distribution. +type ResponseHeadersPolicyInUse struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *ResponseHeadersPolicyInUse) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *ResponseHeadersPolicyInUse) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *ResponseHeadersPolicyInUse) ErrorCode() string { return "ResponseHeadersPolicyInUse" } +func (e *ResponseHeadersPolicyInUse) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // The caller reference you attempted to create the streaming distribution with is // associated with another distribution type StreamingDistributionAlreadyExists struct { @@ -1516,8 +1581,8 @@ func (e *TooManyCacheBehaviors) ErrorMessage() string { func (e *TooManyCacheBehaviors) ErrorCode() string { return "TooManyCacheBehaviors" } func (e *TooManyCacheBehaviors) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// You have reached the maximum number of cache policies for this account. For more -// information, see Quotas +// You have reached the maximum number of cache policies for this Amazon Web +// Services account. For more information, see Quotas // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) // (formerly known as limits) in the Amazon CloudFront Developer Guide. type TooManyCachePolicies struct { @@ -1649,6 +1714,32 @@ func (e *TooManyCookiesInOriginRequestPolicy) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// The number of custom headers in the response headers policy exceeds the maximum. +// For more information, see Quotas +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +type TooManyCustomHeadersInResponseHeadersPolicy struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *TooManyCustomHeadersInResponseHeadersPolicy) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *TooManyCustomHeadersInResponseHeadersPolicy) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *TooManyCustomHeadersInResponseHeadersPolicy) ErrorCode() string { + return "TooManyCustomHeadersInResponseHeadersPolicy" +} +func (e *TooManyCustomHeadersInResponseHeadersPolicy) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + // Your request contains more CNAMEs than are allowed per distribution. type TooManyDistributionCNAMEs struct { Message *string @@ -1790,6 +1881,32 @@ func (e *TooManyDistributionsAssociatedToOriginRequestPolicy) ErrorFault() smith return smithy.FaultClient } +// The maximum number of distributions have been associated with the specified +// response headers policy. For more information, see Quotas +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +type TooManyDistributionsAssociatedToResponseHeadersPolicy struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *TooManyDistributionsAssociatedToResponseHeadersPolicy) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *TooManyDistributionsAssociatedToResponseHeadersPolicy) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *TooManyDistributionsAssociatedToResponseHeadersPolicy) ErrorCode() string { + return "TooManyDistributionsAssociatedToResponseHeadersPolicy" +} +func (e *TooManyDistributionsAssociatedToResponseHeadersPolicy) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + // You have reached the maximum number of distributions that are associated with a // CloudFront function. For more information, see Quotas // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) @@ -2029,8 +2146,8 @@ func (e *TooManyFunctionAssociations) ErrorMessage() string { func (e *TooManyFunctionAssociations) ErrorCode() string { return "TooManyFunctionAssociations" } func (e *TooManyFunctionAssociations) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// You have reached the maximum number of CloudFront functions for this account. -// For more information, see Quotas +// You have reached the maximum number of CloudFront functions for this Amazon Web +// Services account. For more information, see Quotas // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) // (formerly known as limits) in the Amazon CloudFront Developer Guide. type TooManyFunctions struct { @@ -2140,8 +2257,8 @@ func (e *TooManyInvalidationsInProgress) ErrorMessage() string { func (e *TooManyInvalidationsInProgress) ErrorCode() string { return "TooManyInvalidationsInProgress" } func (e *TooManyInvalidationsInProgress) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// You have reached the maximum number of key groups for this account. For more -// information, see Quotas +// You have reached the maximum number of key groups for this Amazon Web Services +// account. For more information, see Quotas // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) // (formerly known as limits) in the Amazon CloudFront Developer Guide. type TooManyKeyGroups struct { @@ -2253,8 +2370,8 @@ func (e *TooManyOriginGroupsPerDistribution) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// You have reached the maximum number of origin request policies for this account. -// For more information, see Quotas +// You have reached the maximum number of origin request policies for this Amazon +// Web Services account. For more information, see Quotas // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) // (formerly known as limits) in the Amazon CloudFront Developer Guide. type TooManyOriginRequestPolicies struct { @@ -2406,7 +2523,7 @@ func (e *TooManyQueryStringsInOriginRequestPolicy) ErrorFault() smithy.ErrorFaul } // You have reached the maximum number of real-time log configurations for this -// account. For more information, see Quotas +// Amazon Web Services account. For more information, see Quotas // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) // (formerly known as limits) in the Amazon CloudFront Developer Guide. type TooManyRealtimeLogConfigs struct { @@ -2427,6 +2544,28 @@ func (e *TooManyRealtimeLogConfigs) ErrorMessage() string { func (e *TooManyRealtimeLogConfigs) ErrorCode() string { return "TooManyRealtimeLogConfigs" } func (e *TooManyRealtimeLogConfigs) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// You have reached the maximum number of response headers policies for this Amazon +// Web Services account. For more information, see Quotas +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +type TooManyResponseHeadersPolicies struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *TooManyResponseHeadersPolicies) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *TooManyResponseHeadersPolicies) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *TooManyResponseHeadersPolicies) ErrorCode() string { return "TooManyResponseHeadersPolicies" } +func (e *TooManyResponseHeadersPolicies) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // Your request contains more CNAMEs than are allowed per distribution. type TooManyStreamingDistributionCNAMEs struct { Message *string diff --git a/service/cloudfront/types/types.go b/service/cloudfront/types/types.go index 4264494e5be..463ca9a8bca 100644 --- a/service/cloudfront/types/types.go +++ b/service/cloudfront/types/types.go @@ -31,25 +31,26 @@ type ActiveTrustedKeyGroups struct { noSmithyDocumentSerde } -// A list of accounts and the active CloudFront key pairs in each account that -// CloudFront can use to verify the signatures of signed URLs and signed cookies. +// A list of Amazon Web Services accounts and the active CloudFront key pairs in +// each account that CloudFront can use to verify the signatures of signed URLs and +// signed cookies. type ActiveTrustedSigners struct { - // This field is true if any of the accounts in the list have active CloudFront key - // pairs that CloudFront can use to verify the signatures of signed URLs and signed - // cookies. If not, this field is false. + // This field is true if any of the Amazon Web Services accounts in the list have + // active CloudFront key pairs that CloudFront can use to verify the signatures of + // signed URLs and signed cookies. If not, this field is false. // // This member is required. Enabled *bool - // The number of accounts in the list. + // The number of Amazon Web Services accounts in the list. // // This member is required. Quantity *int32 - // A list of accounts and the identifiers of active CloudFront key pairs in each - // account that CloudFront can use to verify the signatures of signed URLs and - // signed cookies. + // A list of Amazon Web Services accounts and the identifiers of active CloudFront + // key pairs in each account that CloudFront can use to verify the signatures of + // signed URLs and signed cookies. Items []Signer noSmithyDocumentSerde @@ -373,6 +374,9 @@ type CacheBehavior struct { // in the Amazon CloudFront Developer Guide. RealtimeLogConfigArn *string + // The identifier for a response headers policy. + ResponseHeadersPolicyId *string + // Indicates whether you want to distribute media files in the Microsoft Smooth // Streaming format using the origin that is associated with this cache behavior. // If so, specify true; if not, specify false. If you specify true for @@ -391,14 +395,15 @@ type CacheBehavior struct { // in the Amazon CloudFront Developer Guide. TrustedKeyGroups *TrustedKeyGroups - // We recommend using TrustedKeyGroups instead of TrustedSigners. A list of account - // IDs whose public keys CloudFront can use to validate signed URLs or signed - // cookies. When a cache behavior contains trusted signers, CloudFront requires - // signed URLs or signed cookies for all requests that match the cache behavior. - // The URLs or cookies must be signed with the private key of a CloudFront key pair - // in the trusted signer’s account. The signed URL or cookie contains information - // about which public key CloudFront should use to verify the signature. For more - // information, see Serving private content + // We recommend using TrustedKeyGroups instead of TrustedSigners. A list of Amazon + // Web Services account IDs whose public keys CloudFront can use to validate signed + // URLs or signed cookies. When a cache behavior contains trusted signers, + // CloudFront requires signed URLs or signed cookies for all requests that match + // the cache behavior. The URLs or cookies must be signed with the private key of a + // CloudFront key pair in the trusted signer’s Amazon Web Services account. The + // signed URL or cookie contains information about which public key CloudFront + // should use to verify the signature. For more information, see Serving private + // content // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. TrustedSigners *TrustedSigners @@ -696,7 +701,7 @@ type CachePolicySummary struct { CachePolicy *CachePolicy // The type of cache policy, either managed (created by Amazon Web Services) or - // custom (created in this account). + // custom (created in this Amazon Web Services account). // // This member is required. Type CachePolicyType @@ -782,13 +787,14 @@ type CloudFrontOriginAccessIdentityList struct { MaxItems *int32 // The number of CloudFront origin access identities that were created by the - // current account. + // current Amazon Web Services account. // // This member is required. Quantity *int32 // A complex type that contains one CloudFrontOriginAccessIdentitySummary element - // for each origin access identity that was created by the current account. + // for each origin access identity that was created by the current Amazon Web + // Services account. Items []CloudFrontOriginAccessIdentitySummary // If IsTruncated is true, this element is present and contains the value you can @@ -1354,6 +1360,9 @@ type DefaultCacheBehavior struct { // in the Amazon CloudFront Developer Guide. RealtimeLogConfigArn *string + // The identifier for a response headers policy. + ResponseHeadersPolicyId *string + // Indicates whether you want to distribute media files in the Microsoft Smooth // Streaming format using the origin that is associated with this cache behavior. // If so, specify true; if not, specify false. If you specify true for @@ -1372,14 +1381,15 @@ type DefaultCacheBehavior struct { // in the Amazon CloudFront Developer Guide. TrustedKeyGroups *TrustedKeyGroups - // We recommend using TrustedKeyGroups instead of TrustedSigners. A list of account - // IDs whose public keys CloudFront can use to validate signed URLs or signed - // cookies. When a cache behavior contains trusted signers, CloudFront requires - // signed URLs or signed cookies for all requests that match the cache behavior. - // The URLs or cookies must be signed with the private key of a CloudFront key pair - // in a trusted signer’s account. The signed URL or cookie contains information - // about which public key CloudFront should use to verify the signature. For more - // information, see Serving private content + // We recommend using TrustedKeyGroups instead of TrustedSigners. A list of Amazon + // Web Services account IDs whose public keys CloudFront can use to validate signed + // URLs or signed cookies. When a cache behavior contains trusted signers, + // CloudFront requires signed URLs or signed cookies for all requests that match + // the cache behavior. The URLs or cookies must be signed with the private key of a + // CloudFront key pair in a trusted signer’s Amazon Web Services account. The + // signed URL or cookie contains information about which public key CloudFront + // should use to verify the signature. For more information, see Serving private + // content // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. TrustedSigners *TrustedSigners @@ -1393,7 +1403,7 @@ type Distribution struct { // The ARN (Amazon Resource Name) for the distribution. For example: // arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where - // 123456789012 is your account ID. + // 123456789012 is your Amazon Web Services account ID. // // This member is required. ARN *string @@ -1442,9 +1452,9 @@ type Distribution struct { // We recommend using TrustedKeyGroups instead of TrustedSigners. CloudFront // automatically adds this field to the response if you’ve configured a cache // behavior in this distribution to serve private content using trusted signers. - // This field contains a list of account IDs and the active CloudFront key pairs in - // each account that CloudFront can use to verify the signatures of signed URLs or - // signed cookies. + // This field contains a list of Amazon Web Services account IDs and the active + // CloudFront key pairs in each account that CloudFront can use to verify the + // signatures of signed URLs or signed cookies. ActiveTrustedSigners *ActiveTrustedSigners // Amazon Web Services services in China customers must file for an Internet @@ -1702,13 +1712,14 @@ type DistributionList struct { // This member is required. MaxItems *int32 - // The number of distributions that were created by the current account. + // The number of distributions that were created by the current Amazon Web Services + // account. // // This member is required. Quantity *int32 // A complex type that contains one DistributionSummary element for each - // distribution that was created by the current account. + // distribution that was created by the current Amazon Web Services account. Items []DistributionSummary // If IsTruncated is true, this element is present and contains the value you can @@ -1724,7 +1735,7 @@ type DistributionSummary struct { // The ARN (Amazon Resource Name) for the distribution. For example: // arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where - // 123456789012 is your account ID. + // 123456789012 is your Amazon Web Services account ID. // // This member is required. ARN *string @@ -2490,13 +2501,14 @@ type InvalidationList struct { // This member is required. MaxItems *int32 - // The number of invalidation batches that were created by the current account. + // The number of invalidation batches that were created by the current Amazon Web + // Services account. // // This member is required. Quantity *int32 // A complex type that contains one InvalidationSummary element for each - // invalidation batch created by the current account. + // invalidation batch created by the current Amazon Web Services account. Items []InvalidationSummary // If IsTruncated is true, this element is present and contains the value that you @@ -3192,7 +3204,7 @@ type OriginRequestPolicySummary struct { OriginRequestPolicy *OriginRequestPolicy // The type of origin request policy, either managed (created by Amazon Web - // Services) or custom (created in this account). + // Services) or custom (created in this Amazon Web Services account). // // This member is required. Type OriginRequestPolicyType @@ -3230,12 +3242,13 @@ type OriginShield struct { // This member is required. Enabled *bool - // The Region for Origin Shield. Specify the Region that has the lowest latency to - // your origin. To specify a region, use the region code, not the region name. For - // example, specify the US East (Ohio) region as us-east-2. When you enable - // CloudFront Origin Shield, you must specify the Region for Origin Shield. For the - // list of Regions that you can specify, and for help choosing the best Region for - // your origin, see Choosing the Region for Origin Shield + // The Amazon Web Services Region for Origin Shield. Specify the Amazon Web + // Services Region that has the lowest latency to your origin. To specify a region, + // use the region code, not the region name. For example, specify the US East + // (Ohio) region as us-east-2. When you enable CloudFront Origin Shield, you must + // specify the Amazon Web Services Region for Origin Shield. For the list of Amazon + // Web Services Regions that you can specify, and for help choosing the best Region + // for your origin, see Choosing the Amazon Web Services Region for Origin Shield // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region) // in the Amazon CloudFront Developer Guide. OriginShieldRegion *string @@ -3659,6 +3672,558 @@ type RealtimeMetricsSubscriptionConfig struct { noSmithyDocumentSerde } +// A response headers policy. A response headers policy contains information about +// a set of HTTP response headers and their values. After you create a response +// headers policy, you can use its ID to attach it to one or more cache behaviors +// in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront +// adds the headers in the policy to HTTP responses that it sends for requests that +// match the cache behavior. For more information, see Adding HTTP headers to +// CloudFront responses +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-response-headers.html) +// in the Amazon CloudFront Developer Guide. +type ResponseHeadersPolicy struct { + + // The identifier for the response headers policy. + // + // This member is required. + Id *string + + // The date and time when the response headers policy was last modified. + // + // This member is required. + LastModifiedTime *time.Time + + // A response headers policy configuration. A response headers policy contains + // information about a set of HTTP response headers and their values. CloudFront + // adds the headers in the policy to HTTP responses that it sends for requests that + // match a cache behavior that’s associated with the policy. + // + // This member is required. + ResponseHeadersPolicyConfig *ResponseHeadersPolicyConfig + + noSmithyDocumentSerde +} + +// A list of HTTP header names that CloudFront includes as values for the +// Access-Control-Allow-Headers HTTP response header. For more information about +// the Access-Control-Allow-Headers HTTP response header, see +// Access-Control-Allow-Headers +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) +// in the MDN Web Docs. +type ResponseHeadersPolicyAccessControlAllowHeaders struct { + + // The list of HTTP header names. You can specify * to allow all headers. + // + // This member is required. + Items []string + + // The number of HTTP header names in the list. + // + // This member is required. + Quantity *int32 + + noSmithyDocumentSerde +} + +// A list of HTTP methods that CloudFront includes as values for the +// Access-Control-Allow-Methods HTTP response header. For more information about +// the Access-Control-Allow-Methods HTTP response header, see +// Access-Control-Allow-Methods +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) +// in the MDN Web Docs. +type ResponseHeadersPolicyAccessControlAllowMethods struct { + + // The list of HTTP methods. Valid values are: + // + // * GET + // + // * DELETE + // + // * HEAD + // + // * + // OPTIONS + // + // * PATCH + // + // * POST + // + // * PUT + // + // * ALL + // + // ALL is a special value that includes all + // of the listed HTTP methods. + // + // This member is required. + Items []ResponseHeadersPolicyAccessControlAllowMethodsValues + + // The number of HTTP methods in the list. + // + // This member is required. + Quantity *int32 + + noSmithyDocumentSerde +} + +// A list of origins (domain names) that CloudFront can use as the value for the +// Access-Control-Allow-Origin HTTP response header. For more information about the +// Access-Control-Allow-Origin HTTP response header, see +// Access-Control-Allow-Origin +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) +// in the MDN Web Docs. +type ResponseHeadersPolicyAccessControlAllowOrigins struct { + + // The list of origins (domain names). You can specify * to allow all origins. + // + // This member is required. + Items []string + + // The number of origins in the list. + // + // This member is required. + Quantity *int32 + + noSmithyDocumentSerde +} + +// A list of HTTP headers that CloudFront includes as values for the +// Access-Control-Expose-Headers HTTP response header. For more information about +// the Access-Control-Expose-Headers HTTP response header, see +// Access-Control-Expose-Headers +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) +// in the MDN Web Docs. +type ResponseHeadersPolicyAccessControlExposeHeaders struct { + + // The number of HTTP headers in the list. + // + // This member is required. + Quantity *int32 + + // The list of HTTP headers. You can specify * to expose all headers. + Items []string + + noSmithyDocumentSerde +} + +// A response headers policy configuration. A response headers policy configuration +// contains metadata about the response headers policy, and configurations for sets +// of HTTP response headers and their values. CloudFront adds the headers in the +// policy to HTTP responses that it sends for requests that match a cache behavior +// associated with the policy. +type ResponseHeadersPolicyConfig struct { + + // A name to identify the response headers policy. The name must be unique for + // response headers policies in this Amazon Web Services account. + // + // This member is required. + Name *string + + // A comment to describe the response headers policy. The comment cannot be longer + // than 128 characters. + Comment *string + + // A configuration for a set of HTTP response headers that are used for + // cross-origin resource sharing (CORS). + CorsConfig *ResponseHeadersPolicyCorsConfig + + // A configuration for a set of custom HTTP response headers. + CustomHeadersConfig *ResponseHeadersPolicyCustomHeadersConfig + + // A configuration for a set of security-related HTTP response headers. + SecurityHeadersConfig *ResponseHeadersPolicySecurityHeadersConfig + + noSmithyDocumentSerde +} + +// The policy directives and their values that CloudFront includes as values for +// the Content-Security-Policy HTTP response header. For more information about the +// Content-Security-Policy HTTP response header, see Content-Security-Policy +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) +// in the MDN Web Docs. +type ResponseHeadersPolicyContentSecurityPolicy struct { + + // The policy directives and their values that CloudFront includes as values for + // the Content-Security-Policy HTTP response header. + // + // This member is required. + ContentSecurityPolicy *string + + // A Boolean that determines whether CloudFront overrides the + // Content-Security-Policy HTTP response header received from the origin with the + // one specified in this response headers policy. + // + // This member is required. + Override *bool + + noSmithyDocumentSerde +} + +// Determines whether CloudFront includes the X-Content-Type-Options HTTP response +// header with its value set to nosniff. For more information about the +// X-Content-Type-Options HTTP response header, see X-Content-Type-Options +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) +// in the MDN Web Docs. +type ResponseHeadersPolicyContentTypeOptions struct { + + // A Boolean that determines whether CloudFront overrides the + // X-Content-Type-Options HTTP response header received from the origin with the + // one specified in this response headers policy. + // + // This member is required. + Override *bool + + noSmithyDocumentSerde +} + +// A configuration for a set of HTTP response headers that are used for +// cross-origin resource sharing (CORS). CloudFront adds these headers to HTTP +// responses that it sends for CORS requests that match a cache behavior associated +// with this response headers policy. For more information about CORS, see +// Cross-Origin Resource Sharing (CORS) +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs. +type ResponseHeadersPolicyCorsConfig struct { + + // A Boolean that CloudFront uses as the value for the + // Access-Control-Allow-Credentials HTTP response header. For more information + // about the Access-Control-Allow-Credentials HTTP response header, see + // Access-Control-Allow-Credentials + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) + // in the MDN Web Docs. + // + // This member is required. + AccessControlAllowCredentials *bool + + // A list of HTTP header names that CloudFront includes as values for the + // Access-Control-Allow-Headers HTTP response header. For more information about + // the Access-Control-Allow-Headers HTTP response header, see + // Access-Control-Allow-Headers + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) + // in the MDN Web Docs. + // + // This member is required. + AccessControlAllowHeaders *ResponseHeadersPolicyAccessControlAllowHeaders + + // A list of HTTP methods that CloudFront includes as values for the + // Access-Control-Allow-Methods HTTP response header. For more information about + // the Access-Control-Allow-Methods HTTP response header, see + // Access-Control-Allow-Methods + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) + // in the MDN Web Docs. + // + // This member is required. + AccessControlAllowMethods *ResponseHeadersPolicyAccessControlAllowMethods + + // A list of origins (domain names) that CloudFront can use as the value for the + // Access-Control-Allow-Origin HTTP response header. For more information about the + // Access-Control-Allow-Origin HTTP response header, see + // Access-Control-Allow-Origin + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) + // in the MDN Web Docs. + // + // This member is required. + AccessControlAllowOrigins *ResponseHeadersPolicyAccessControlAllowOrigins + + // A Boolean that determines whether CloudFront overrides HTTP response headers + // received from the origin with the ones specified in this response headers + // policy. + // + // This member is required. + OriginOverride *bool + + // A list of HTTP headers that CloudFront includes as values for the + // Access-Control-Expose-Headers HTTP response header. For more information about + // the Access-Control-Expose-Headers HTTP response header, see + // Access-Control-Expose-Headers + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) + // in the MDN Web Docs. + AccessControlExposeHeaders *ResponseHeadersPolicyAccessControlExposeHeaders + + // A number that CloudFront uses as the value for the Access-Control-Max-Age HTTP + // response header. For more information about the Access-Control-Max-Age HTTP + // response header, see Access-Control-Max-Age + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) + // in the MDN Web Docs. + AccessControlMaxAgeSec *int32 + + noSmithyDocumentSerde +} + +// An HTTP response header name and its value. CloudFront includes this header in +// HTTP responses that it sends for requests that match a cache behavior that’s +// associated with this response headers policy. +type ResponseHeadersPolicyCustomHeader struct { + + // The HTTP response header name. + // + // This member is required. + Header *string + + // A Boolean that determines whether CloudFront overrides a response header with + // the same name received from the origin with the header specified here. + // + // This member is required. + Override *bool + + // The value for the HTTP response header. + // + // This member is required. + Value *string + + noSmithyDocumentSerde +} + +// A list of HTTP response header names and their values. CloudFront includes these +// headers in HTTP responses that it sends for requests that match a cache behavior +// that’s associated with this response headers policy. +type ResponseHeadersPolicyCustomHeadersConfig struct { + + // The number of HTTP response headers in the list. + // + // This member is required. + Quantity *int32 + + // The list of HTTP response headers and their values. + Items []ResponseHeadersPolicyCustomHeader + + noSmithyDocumentSerde +} + +// Determines whether CloudFront includes the X-Frame-Options HTTP response header +// and the header’s value. For more information about the X-Frame-Options HTTP +// response header, see X-Frame-Options +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in +// the MDN Web Docs. +type ResponseHeadersPolicyFrameOptions struct { + + // The value of the X-Frame-Options HTTP response header. Valid values are DENY and + // SAMEORIGIN. For more information about these values, see X-Frame-Options + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in + // the MDN Web Docs. + // + // This member is required. + FrameOption FrameOptionsList + + // A Boolean that determines whether CloudFront overrides the X-Frame-Options HTTP + // response header received from the origin with the one specified in this response + // headers policy. + // + // This member is required. + Override *bool + + noSmithyDocumentSerde +} + +// A list of response headers policies. +type ResponseHeadersPolicyList struct { + + // The maximum number of response headers policies requested. + // + // This member is required. + MaxItems *int32 + + // The number of response headers policies returned. + // + // This member is required. + Quantity *int32 + + // The response headers policies in the list. + Items []ResponseHeadersPolicySummary + + // If there are more items in the list than are in this response, this element is + // present. It contains the value that you should use in the Marker field of a + // subsequent request to continue listing response headers policies where you left + // off. + NextMarker *string + + noSmithyDocumentSerde +} + +// Determines whether CloudFront includes the Referrer-Policy HTTP response header +// and the header’s value. For more information about the Referrer-Policy HTTP +// response header, see Referrer-Policy +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in +// the MDN Web Docs. +type ResponseHeadersPolicyReferrerPolicy struct { + + // A Boolean that determines whether CloudFront overrides the Referrer-Policy HTTP + // response header received from the origin with the one specified in this response + // headers policy. + // + // This member is required. + Override *bool + + // The value of the Referrer-Policy HTTP response header. Valid values are: + // + // * + // no-referrer + // + // * no-referrer-when-downgrade + // + // * origin + // + // * + // origin-when-cross-origin + // + // * same-origin + // + // * strict-origin + // + // * + // strict-origin-when-cross-origin + // + // * unsafe-url + // + // For more information about these + // values, see Referrer-Policy + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in + // the MDN Web Docs. + // + // This member is required. + ReferrerPolicy ReferrerPolicyList + + noSmithyDocumentSerde +} + +// A configuration for a set of security-related HTTP response headers. CloudFront +// adds these headers to HTTP responses that it sends for requests that match a +// cache behavior associated with this response headers policy. +type ResponseHeadersPolicySecurityHeadersConfig struct { + + // The policy directives and their values that CloudFront includes as values for + // the Content-Security-Policy HTTP response header. For more information about the + // Content-Security-Policy HTTP response header, see Content-Security-Policy + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) + // in the MDN Web Docs. + ContentSecurityPolicy *ResponseHeadersPolicyContentSecurityPolicy + + // Determines whether CloudFront includes the X-Content-Type-Options HTTP response + // header with its value set to nosniff. For more information about the + // X-Content-Type-Options HTTP response header, see X-Content-Type-Options + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) + // in the MDN Web Docs. + ContentTypeOptions *ResponseHeadersPolicyContentTypeOptions + + // Determines whether CloudFront includes the X-Frame-Options HTTP response header + // and the header’s value. For more information about the X-Frame-Options HTTP + // response header, see X-Frame-Options + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in + // the MDN Web Docs. + FrameOptions *ResponseHeadersPolicyFrameOptions + + // Determines whether CloudFront includes the Referrer-Policy HTTP response header + // and the header’s value. For more information about the Referrer-Policy HTTP + // response header, see Referrer-Policy + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in + // the MDN Web Docs. + ReferrerPolicy *ResponseHeadersPolicyReferrerPolicy + + // Determines whether CloudFront includes the Strict-Transport-Security HTTP + // response header and the header’s value. For more information about the + // Strict-Transport-Security HTTP response header, see Strict-Transport-Security + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) + // in the MDN Web Docs. + StrictTransportSecurity *ResponseHeadersPolicyStrictTransportSecurity + + // Determines whether CloudFront includes the X-XSS-Protection HTTP response header + // and the header’s value. For more information about the X-XSS-Protection HTTP + // response header, see X-XSS-Protection + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in + // the MDN Web Docs. + XSSProtection *ResponseHeadersPolicyXSSProtection + + noSmithyDocumentSerde +} + +// Determines whether CloudFront includes the Strict-Transport-Security HTTP +// response header and the header’s value. For more information about the +// Strict-Transport-Security HTTP response header, see Strict-Transport-Security +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) +// in the MDN Web Docs. +type ResponseHeadersPolicyStrictTransportSecurity struct { + + // A number that CloudFront uses as the value for the max-age directive in the + // Strict-Transport-Security HTTP response header. + // + // This member is required. + AccessControlMaxAgeSec *int32 + + // A Boolean that determines whether CloudFront overrides the + // Strict-Transport-Security HTTP response header received from the origin with the + // one specified in this response headers policy. + // + // This member is required. + Override *bool + + // A Boolean that determines whether CloudFront includes the includeSubDomains + // directive in the Strict-Transport-Security HTTP response header. + IncludeSubdomains *bool + + // A Boolean that determines whether CloudFront includes the preload directive in + // the Strict-Transport-Security HTTP response header. + Preload *bool + + noSmithyDocumentSerde +} + +// Contains a response headers policy. +type ResponseHeadersPolicySummary struct { + + // The response headers policy. + // + // This member is required. + ResponseHeadersPolicy *ResponseHeadersPolicy + + // The type of response headers policy, either managed (created by Amazon Web + // Services) or custom (created in this Amazon Web Services account). + // + // This member is required. + Type ResponseHeadersPolicyType + + noSmithyDocumentSerde +} + +// Determines whether CloudFront includes the X-XSS-Protection HTTP response header +// and the header’s value. For more information about the X-XSS-Protection HTTP +// response header, see X-XSS-Protection +// (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in +// the MDN Web Docs. +type ResponseHeadersPolicyXSSProtection struct { + + // A Boolean that determines whether CloudFront overrides the X-XSS-Protection HTTP + // response header received from the origin with the one specified in this response + // headers policy. + // + // This member is required. + Override *bool + + // A Boolean that determines the value of the X-XSS-Protection HTTP response + // header. When this setting is true, the value of the X-XSS-Protection header is + // 1. When this setting is false, the value of the X-XSS-Protection header is 0. + // For more information about these settings, see X-XSS-Protection + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in + // the MDN Web Docs. + // + // This member is required. + Protection *bool + + // A Boolean that determines whether CloudFront includes the mode=block directive + // in the X-XSS-Protection header. For more information about this directive, see + // X-XSS-Protection + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in + // the MDN Web Docs. + ModeBlock *bool + + // A reporting URI, which CloudFront uses as the value of the report directive in + // the X-XSS-Protection header. You cannot specify a ReportUri when ModeBlock is + // true. For more information about using a reporting URL, see X-XSS-Protection + // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in + // the MDN Web Docs. + ReportUri *string + + noSmithyDocumentSerde +} + // A complex type that identifies ways in which you want to restrict distribution // of your content. type Restrictions struct { @@ -3727,14 +4292,15 @@ type S3OriginConfig struct { noSmithyDocumentSerde } -// A list of accounts and the active CloudFront key pairs in each account that -// CloudFront can use to verify the signatures of signed URLs and signed cookies. +// A list of Amazon Web Services accounts and the active CloudFront key pairs in +// each account that CloudFront can use to verify the signatures of signed URLs and +// signed cookies. type Signer struct { - // An account number that contains active CloudFront key pairs that CloudFront can - // use to verify the signatures of signed URLs and signed cookies. If the account - // that owns the key pairs is the same account that owns the CloudFront - // distribution, the value of this field is self. + // An Amazon Web Services account number that contains active CloudFront key pairs + // that CloudFront can use to verify the signatures of signed URLs and signed + // cookies. If the Amazon Web Services account that owns the key pairs is the same + // account that owns the CloudFront distribution, the value of this field is self. AwsAccountNumber *string // A list of CloudFront key pair identifiers. @@ -3766,17 +4332,18 @@ type StreamingDistribution struct { // The ARN (Amazon Resource Name) for the distribution. For example: // arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where - // 123456789012 is your account ID. + // 123456789012 is your Amazon Web Services account ID. // // This member is required. ARN *string - // A complex type that lists the accounts, if any, that you included in the - // TrustedSigners complex type for this distribution. These are the accounts that - // you want to allow to create signed URLs for private content. The Signer complex - // type lists the account number of the trusted signer or self if the signer is the - // account that created the distribution. The Signer element also includes the IDs - // of any active CloudFront key pairs that are associated with the trusted signer's + // A complex type that lists the Amazon Web Services accounts, if any, that you + // included in the TrustedSigners complex type for this distribution. These are the + // accounts that you want to allow to create signed URLs for private content. The + // Signer complex type lists the Amazon Web Services account number of the trusted + // signer or self if the signer is the Amazon Web Services account that created the + // distribution. The Signer element also includes the IDs of any active CloudFront + // key pairs that are associated with the trusted signer's Amazon Web Services // account. If no KeyPairId element appears for a Signer, that signer can't create // signed URLs. For more information, see Serving Private Content through // CloudFront @@ -3844,11 +4411,11 @@ type StreamingDistributionConfig struct { // This member is required. S3Origin *S3Origin - // A complex type that specifies any accounts that you want to permit to create - // signed URLs for private content. If you want the distribution to use signed - // URLs, include this element; if you want the distribution to use public URLs, - // remove this element. For more information, see Serving Private Content through - // CloudFront + // A complex type that specifies any Amazon Web Services accounts that you want to + // permit to create signed URLs for private content. If you want the distribution + // to use signed URLs, include this element; if you want the distribution to use + // public URLs, remove this element. For more information, see Serving Private + // Content through CloudFront // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. // @@ -3907,13 +4474,14 @@ type StreamingDistributionList struct { // This member is required. MaxItems *int32 - // The number of streaming distributions that were created by the current account. + // The number of streaming distributions that were created by the current Amazon + // Web Services account. // // This member is required. Quantity *int32 // A complex type that contains one StreamingDistributionSummary element for each - // distribution that was created by the current account. + // distribution that was created by the current Amazon Web Services account. Items []StreamingDistributionSummary // If IsTruncated is true, this element is present and contains the value you can @@ -3929,7 +4497,7 @@ type StreamingDistributionSummary struct { // The ARN (Amazon Resource Name) for the streaming distribution. For example: // arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where - // 123456789012 is your account ID. + // 123456789012 is your Amazon Web Services account ID. // // This member is required. ARN *string @@ -3985,17 +4553,17 @@ type StreamingDistributionSummary struct { // This member is required. Status *string - // A complex type that specifies the accounts, if any, that you want to allow to - // create signed URLs for private content. If you want to require signed URLs in - // requests for objects in the target origin that match the PathPattern for this - // cache behavior, specify true for Enabled, and specify the applicable values for - // Quantity and Items.If you don't want to require signed URLs in requests for - // objects that match PathPattern, specify false for Enabled and 0 for Quantity. - // Omit Items. To add, change, or remove one or more trusted signers, change - // Enabled to true (if it's currently false), change Quantity as applicable, and - // specify all of the trusted signers that you want to include in the updated - // distribution. For more information, see Serving Private Content through - // CloudFront + // A complex type that specifies the Amazon Web Services accounts, if any, that you + // want to allow to create signed URLs for private content. If you want to require + // signed URLs in requests for objects in the target origin that match the + // PathPattern for this cache behavior, specify true for Enabled, and specify the + // applicable values for Quantity and Items.If you don't want to require signed + // URLs in requests for objects that match PathPattern, specify false for Enabled + // and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted + // signers, change Enabled to true (if it's currently false), change Quantity as + // applicable, and specify all of the trusted signers that you want to include in + // the updated distribution. For more information, see Serving Private Content + // through CloudFront // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. // @@ -4122,23 +4690,23 @@ type TrustedKeyGroups struct { noSmithyDocumentSerde } -// A list of accounts whose public keys CloudFront can use to verify the signatures -// of signed URLs and signed cookies. +// A list of Amazon Web Services accounts whose public keys CloudFront can use to +// verify the signatures of signed URLs and signed cookies. type TrustedSigners struct { - // This field is true if any of the accounts have public keys that CloudFront can - // use to verify the signatures of signed URLs and signed cookies. If not, this - // field is false. + // This field is true if any of the Amazon Web Services accounts have public keys + // that CloudFront can use to verify the signatures of signed URLs and signed + // cookies. If not, this field is false. // // This member is required. Enabled *bool - // The number of accounts in the list. + // The number of Amazon Web Services accounts in the list. // // This member is required. Quantity *int32 - // A list of account identifiers. + // A list of Amazon Web Services account identifiers. Items []string noSmithyDocumentSerde diff --git a/service/cloudfront/validators.go b/service/cloudfront/validators.go index aa6556bfddd..8ce4f91fd96 100644 --- a/service/cloudfront/validators.go +++ b/service/cloudfront/validators.go @@ -290,6 +290,26 @@ func (m *validateOpCreateRealtimeLogConfig) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpCreateResponseHeadersPolicy struct { +} + +func (*validateOpCreateResponseHeadersPolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateResponseHeadersPolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateResponseHeadersPolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateResponseHeadersPolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateStreamingDistribution struct { } @@ -530,6 +550,26 @@ func (m *validateOpDeletePublicKey) HandleInitialize(ctx context.Context, in mid return next.HandleInitialize(ctx, in) } +type validateOpDeleteResponseHeadersPolicy struct { +} + +func (*validateOpDeleteResponseHeadersPolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteResponseHeadersPolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteResponseHeadersPolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteResponseHeadersPolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteStreamingDistribution struct { } @@ -950,6 +990,46 @@ func (m *validateOpGetPublicKey) HandleInitialize(ctx context.Context, in middle return next.HandleInitialize(ctx, in) } +type validateOpGetResponseHeadersPolicyConfig struct { +} + +func (*validateOpGetResponseHeadersPolicyConfig) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetResponseHeadersPolicyConfig) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetResponseHeadersPolicyConfigInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetResponseHeadersPolicyConfigInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetResponseHeadersPolicy struct { +} + +func (*validateOpGetResponseHeadersPolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetResponseHeadersPolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetResponseHeadersPolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetResponseHeadersPolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetStreamingDistributionConfig struct { } @@ -1070,6 +1150,26 @@ func (m *validateOpListDistributionsByOriginRequestPolicyId) HandleInitialize(ct return next.HandleInitialize(ctx, in) } +type validateOpListDistributionsByResponseHeadersPolicyId struct { +} + +func (*validateOpListDistributionsByResponseHeadersPolicyId) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListDistributionsByResponseHeadersPolicyId) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListDistributionsByResponseHeadersPolicyIdInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListDistributionsByResponseHeadersPolicyIdInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListDistributionsByWebACLId struct { } @@ -1410,6 +1510,26 @@ func (m *validateOpUpdateRealtimeLogConfig) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpUpdateResponseHeadersPolicy struct { +} + +func (*validateOpUpdateResponseHeadersPolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateResponseHeadersPolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateResponseHeadersPolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateResponseHeadersPolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateStreamingDistribution struct { } @@ -1486,6 +1606,10 @@ func addOpCreateRealtimeLogConfigValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpCreateRealtimeLogConfig{}, middleware.After) } +func addOpCreateResponseHeadersPolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateResponseHeadersPolicy{}, middleware.After) +} + func addOpCreateStreamingDistributionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateStreamingDistribution{}, middleware.After) } @@ -1534,6 +1658,10 @@ func addOpDeletePublicKeyValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeletePublicKey{}, middleware.After) } +func addOpDeleteResponseHeadersPolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteResponseHeadersPolicy{}, middleware.After) +} + func addOpDeleteStreamingDistributionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteStreamingDistribution{}, middleware.After) } @@ -1618,6 +1746,14 @@ func addOpGetPublicKeyValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetPublicKey{}, middleware.After) } +func addOpGetResponseHeadersPolicyConfigValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetResponseHeadersPolicyConfig{}, middleware.After) +} + +func addOpGetResponseHeadersPolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetResponseHeadersPolicy{}, middleware.After) +} + func addOpGetStreamingDistributionConfigValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetStreamingDistributionConfig{}, middleware.After) } @@ -1642,6 +1778,10 @@ func addOpListDistributionsByOriginRequestPolicyIdValidationMiddleware(stack *mi return stack.Initialize.Add(&validateOpListDistributionsByOriginRequestPolicyId{}, middleware.After) } +func addOpListDistributionsByResponseHeadersPolicyIdValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListDistributionsByResponseHeadersPolicyId{}, middleware.After) +} + func addOpListDistributionsByWebACLIdValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListDistributionsByWebACLId{}, middleware.After) } @@ -1710,6 +1850,10 @@ func addOpUpdateRealtimeLogConfigValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpUpdateRealtimeLogConfig{}, middleware.After) } +func addOpUpdateResponseHeadersPolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateResponseHeadersPolicy{}, middleware.After) +} + func addOpUpdateStreamingDistributionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateStreamingDistribution{}, middleware.After) } @@ -3334,6 +3478,354 @@ func validateRealtimeMetricsSubscriptionConfig(v *types.RealtimeMetricsSubscript } } +func validateResponseHeadersPolicyAccessControlAllowHeaders(v *types.ResponseHeadersPolicyAccessControlAllowHeaders) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyAccessControlAllowHeaders"} + if v.Quantity == nil { + invalidParams.Add(smithy.NewErrParamRequired("Quantity")) + } + if v.Items == nil { + invalidParams.Add(smithy.NewErrParamRequired("Items")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyAccessControlAllowMethods(v *types.ResponseHeadersPolicyAccessControlAllowMethods) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyAccessControlAllowMethods"} + if v.Quantity == nil { + invalidParams.Add(smithy.NewErrParamRequired("Quantity")) + } + if v.Items == nil { + invalidParams.Add(smithy.NewErrParamRequired("Items")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyAccessControlAllowOrigins(v *types.ResponseHeadersPolicyAccessControlAllowOrigins) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyAccessControlAllowOrigins"} + if v.Quantity == nil { + invalidParams.Add(smithy.NewErrParamRequired("Quantity")) + } + if v.Items == nil { + invalidParams.Add(smithy.NewErrParamRequired("Items")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyAccessControlExposeHeaders(v *types.ResponseHeadersPolicyAccessControlExposeHeaders) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyAccessControlExposeHeaders"} + if v.Quantity == nil { + invalidParams.Add(smithy.NewErrParamRequired("Quantity")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyConfig(v *types.ResponseHeadersPolicyConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyConfig"} + if v.Name == nil { + invalidParams.Add(smithy.NewErrParamRequired("Name")) + } + if v.CorsConfig != nil { + if err := validateResponseHeadersPolicyCorsConfig(v.CorsConfig); err != nil { + invalidParams.AddNested("CorsConfig", err.(smithy.InvalidParamsError)) + } + } + if v.SecurityHeadersConfig != nil { + if err := validateResponseHeadersPolicySecurityHeadersConfig(v.SecurityHeadersConfig); err != nil { + invalidParams.AddNested("SecurityHeadersConfig", err.(smithy.InvalidParamsError)) + } + } + if v.CustomHeadersConfig != nil { + if err := validateResponseHeadersPolicyCustomHeadersConfig(v.CustomHeadersConfig); err != nil { + invalidParams.AddNested("CustomHeadersConfig", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyContentSecurityPolicy(v *types.ResponseHeadersPolicyContentSecurityPolicy) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyContentSecurityPolicy"} + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if v.ContentSecurityPolicy == nil { + invalidParams.Add(smithy.NewErrParamRequired("ContentSecurityPolicy")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyContentTypeOptions(v *types.ResponseHeadersPolicyContentTypeOptions) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyContentTypeOptions"} + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyCorsConfig(v *types.ResponseHeadersPolicyCorsConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyCorsConfig"} + if v.AccessControlAllowOrigins == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccessControlAllowOrigins")) + } else if v.AccessControlAllowOrigins != nil { + if err := validateResponseHeadersPolicyAccessControlAllowOrigins(v.AccessControlAllowOrigins); err != nil { + invalidParams.AddNested("AccessControlAllowOrigins", err.(smithy.InvalidParamsError)) + } + } + if v.AccessControlAllowHeaders == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccessControlAllowHeaders")) + } else if v.AccessControlAllowHeaders != nil { + if err := validateResponseHeadersPolicyAccessControlAllowHeaders(v.AccessControlAllowHeaders); err != nil { + invalidParams.AddNested("AccessControlAllowHeaders", err.(smithy.InvalidParamsError)) + } + } + if v.AccessControlAllowMethods == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccessControlAllowMethods")) + } else if v.AccessControlAllowMethods != nil { + if err := validateResponseHeadersPolicyAccessControlAllowMethods(v.AccessControlAllowMethods); err != nil { + invalidParams.AddNested("AccessControlAllowMethods", err.(smithy.InvalidParamsError)) + } + } + if v.AccessControlAllowCredentials == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccessControlAllowCredentials")) + } + if v.AccessControlExposeHeaders != nil { + if err := validateResponseHeadersPolicyAccessControlExposeHeaders(v.AccessControlExposeHeaders); err != nil { + invalidParams.AddNested("AccessControlExposeHeaders", err.(smithy.InvalidParamsError)) + } + } + if v.OriginOverride == nil { + invalidParams.Add(smithy.NewErrParamRequired("OriginOverride")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyCustomHeader(v *types.ResponseHeadersPolicyCustomHeader) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyCustomHeader"} + if v.Header == nil { + invalidParams.Add(smithy.NewErrParamRequired("Header")) + } + if v.Value == nil { + invalidParams.Add(smithy.NewErrParamRequired("Value")) + } + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyCustomHeaderList(v []types.ResponseHeadersPolicyCustomHeader) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyCustomHeaderList"} + for i := range v { + if err := validateResponseHeadersPolicyCustomHeader(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyCustomHeadersConfig(v *types.ResponseHeadersPolicyCustomHeadersConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyCustomHeadersConfig"} + if v.Quantity == nil { + invalidParams.Add(smithy.NewErrParamRequired("Quantity")) + } + if v.Items != nil { + if err := validateResponseHeadersPolicyCustomHeaderList(v.Items); err != nil { + invalidParams.AddNested("Items", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyFrameOptions(v *types.ResponseHeadersPolicyFrameOptions) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyFrameOptions"} + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if len(v.FrameOption) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("FrameOption")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyReferrerPolicy(v *types.ResponseHeadersPolicyReferrerPolicy) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyReferrerPolicy"} + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if len(v.ReferrerPolicy) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("ReferrerPolicy")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicySecurityHeadersConfig(v *types.ResponseHeadersPolicySecurityHeadersConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicySecurityHeadersConfig"} + if v.XSSProtection != nil { + if err := validateResponseHeadersPolicyXSSProtection(v.XSSProtection); err != nil { + invalidParams.AddNested("XSSProtection", err.(smithy.InvalidParamsError)) + } + } + if v.FrameOptions != nil { + if err := validateResponseHeadersPolicyFrameOptions(v.FrameOptions); err != nil { + invalidParams.AddNested("FrameOptions", err.(smithy.InvalidParamsError)) + } + } + if v.ReferrerPolicy != nil { + if err := validateResponseHeadersPolicyReferrerPolicy(v.ReferrerPolicy); err != nil { + invalidParams.AddNested("ReferrerPolicy", err.(smithy.InvalidParamsError)) + } + } + if v.ContentSecurityPolicy != nil { + if err := validateResponseHeadersPolicyContentSecurityPolicy(v.ContentSecurityPolicy); err != nil { + invalidParams.AddNested("ContentSecurityPolicy", err.(smithy.InvalidParamsError)) + } + } + if v.ContentTypeOptions != nil { + if err := validateResponseHeadersPolicyContentTypeOptions(v.ContentTypeOptions); err != nil { + invalidParams.AddNested("ContentTypeOptions", err.(smithy.InvalidParamsError)) + } + } + if v.StrictTransportSecurity != nil { + if err := validateResponseHeadersPolicyStrictTransportSecurity(v.StrictTransportSecurity); err != nil { + invalidParams.AddNested("StrictTransportSecurity", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyStrictTransportSecurity(v *types.ResponseHeadersPolicyStrictTransportSecurity) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyStrictTransportSecurity"} + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if v.AccessControlMaxAgeSec == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccessControlMaxAgeSec")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateResponseHeadersPolicyXSSProtection(v *types.ResponseHeadersPolicyXSSProtection) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ResponseHeadersPolicyXSSProtection"} + if v.Override == nil { + invalidParams.Add(smithy.NewErrParamRequired("Override")) + } + if v.Protection == nil { + invalidParams.Add(smithy.NewErrParamRequired("Protection")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateRestrictions(v *types.Restrictions) error { if v == nil { return nil @@ -3867,6 +4359,25 @@ func validateOpCreateRealtimeLogConfigInput(v *CreateRealtimeLogConfigInput) err } } +func validateOpCreateResponseHeadersPolicyInput(v *CreateResponseHeadersPolicyInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateResponseHeadersPolicyInput"} + if v.ResponseHeadersPolicyConfig == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResponseHeadersPolicyConfig")) + } else if v.ResponseHeadersPolicyConfig != nil { + if err := validateResponseHeadersPolicyConfig(v.ResponseHeadersPolicyConfig); err != nil { + invalidParams.AddNested("ResponseHeadersPolicyConfig", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateStreamingDistributionInput(v *CreateStreamingDistributionInput) error { if v == nil { return nil @@ -4058,6 +4569,21 @@ func validateOpDeletePublicKeyInput(v *DeletePublicKeyInput) error { } } +func validateOpDeleteResponseHeadersPolicyInput(v *DeleteResponseHeadersPolicyInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteResponseHeadersPolicyInput"} + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteStreamingDistributionInput(v *DeleteStreamingDistributionInput) error { if v == nil { return nil @@ -4376,6 +4902,36 @@ func validateOpGetPublicKeyInput(v *GetPublicKeyInput) error { } } +func validateOpGetResponseHeadersPolicyConfigInput(v *GetResponseHeadersPolicyConfigInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetResponseHeadersPolicyConfigInput"} + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetResponseHeadersPolicyInput(v *GetResponseHeadersPolicyInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetResponseHeadersPolicyInput"} + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetStreamingDistributionConfigInput(v *GetStreamingDistributionConfigInput) error { if v == nil { return nil @@ -4469,6 +5025,21 @@ func validateOpListDistributionsByOriginRequestPolicyIdInput(v *ListDistribution } } +func validateOpListDistributionsByResponseHeadersPolicyIdInput(v *ListDistributionsByResponseHeadersPolicyIdInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListDistributionsByResponseHeadersPolicyIdInput"} + if v.ResponseHeadersPolicyId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResponseHeadersPolicyId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListDistributionsByWebACLIdInput(v *ListDistributionsByWebACLIdInput) error { if v == nil { return nil @@ -4598,9 +5169,6 @@ func validateOpUpdateCachePolicyInput(v *UpdateCachePolicyInput) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateCachePolicyInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.CachePolicyConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("CachePolicyConfig")) } else if v.CachePolicyConfig != nil { @@ -4608,6 +5176,9 @@ func validateOpUpdateCachePolicyInput(v *UpdateCachePolicyInput) error { invalidParams.AddNested("CachePolicyConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4620,9 +5191,6 @@ func validateOpUpdateCloudFrontOriginAccessIdentityInput(v *UpdateCloudFrontOrig return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateCloudFrontOriginAccessIdentityInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.CloudFrontOriginAccessIdentityConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) } else if v.CloudFrontOriginAccessIdentityConfig != nil { @@ -4630,6 +5198,9 @@ func validateOpUpdateCloudFrontOriginAccessIdentityInput(v *UpdateCloudFrontOrig invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4642,9 +5213,6 @@ func validateOpUpdateDistributionInput(v *UpdateDistributionInput) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateDistributionInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.DistributionConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("DistributionConfig")) } else if v.DistributionConfig != nil { @@ -4652,6 +5220,9 @@ func validateOpUpdateDistributionInput(v *UpdateDistributionInput) error { invalidParams.AddNested("DistributionConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4664,9 +5235,6 @@ func validateOpUpdateFieldLevelEncryptionConfigInput(v *UpdateFieldLevelEncrypti return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateFieldLevelEncryptionConfigInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.FieldLevelEncryptionConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("FieldLevelEncryptionConfig")) } else if v.FieldLevelEncryptionConfig != nil { @@ -4674,6 +5242,9 @@ func validateOpUpdateFieldLevelEncryptionConfigInput(v *UpdateFieldLevelEncrypti invalidParams.AddNested("FieldLevelEncryptionConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4686,9 +5257,6 @@ func validateOpUpdateFieldLevelEncryptionProfileInput(v *UpdateFieldLevelEncrypt return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateFieldLevelEncryptionProfileInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.FieldLevelEncryptionProfileConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) } else if v.FieldLevelEncryptionProfileConfig != nil { @@ -4696,6 +5264,9 @@ func validateOpUpdateFieldLevelEncryptionProfileInput(v *UpdateFieldLevelEncrypt invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4736,9 +5307,6 @@ func validateOpUpdateKeyGroupInput(v *UpdateKeyGroupInput) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateKeyGroupInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.KeyGroupConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("KeyGroupConfig")) } else if v.KeyGroupConfig != nil { @@ -4746,6 +5314,9 @@ func validateOpUpdateKeyGroupInput(v *UpdateKeyGroupInput) error { invalidParams.AddNested("KeyGroupConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4758,9 +5329,6 @@ func validateOpUpdateOriginRequestPolicyInput(v *UpdateOriginRequestPolicyInput) return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdateOriginRequestPolicyInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.OriginRequestPolicyConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("OriginRequestPolicyConfig")) } else if v.OriginRequestPolicyConfig != nil { @@ -4768,6 +5336,9 @@ func validateOpUpdateOriginRequestPolicyInput(v *UpdateOriginRequestPolicyInput) invalidParams.AddNested("OriginRequestPolicyConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4780,9 +5351,6 @@ func validateOpUpdatePublicKeyInput(v *UpdatePublicKeyInput) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "UpdatePublicKeyInput"} - if v.Id == nil { - invalidParams.Add(smithy.NewErrParamRequired("Id")) - } if v.PublicKeyConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("PublicKeyConfig")) } else if v.PublicKeyConfig != nil { @@ -4790,6 +5358,9 @@ func validateOpUpdatePublicKeyInput(v *UpdatePublicKeyInput) error { invalidParams.AddNested("PublicKeyConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -4814,14 +5385,33 @@ func validateOpUpdateRealtimeLogConfigInput(v *UpdateRealtimeLogConfigInput) err } } -func validateOpUpdateStreamingDistributionInput(v *UpdateStreamingDistributionInput) error { +func validateOpUpdateResponseHeadersPolicyInput(v *UpdateResponseHeadersPolicyInput) error { if v == nil { return nil } - invalidParams := smithy.InvalidParamsError{Context: "UpdateStreamingDistributionInput"} + invalidParams := smithy.InvalidParamsError{Context: "UpdateResponseHeadersPolicyInput"} + if v.ResponseHeadersPolicyConfig == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResponseHeadersPolicyConfig")) + } else if v.ResponseHeadersPolicyConfig != nil { + if err := validateResponseHeadersPolicyConfig(v.ResponseHeadersPolicyConfig); err != nil { + invalidParams.AddNested("ResponseHeadersPolicyConfig", err.(smithy.InvalidParamsError)) + } + } if v.Id == nil { invalidParams.Add(smithy.NewErrParamRequired("Id")) } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpUpdateStreamingDistributionInput(v *UpdateStreamingDistributionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateStreamingDistributionInput"} if v.StreamingDistributionConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("StreamingDistributionConfig")) } else if v.StreamingDistributionConfig != nil { @@ -4829,6 +5419,9 @@ func validateOpUpdateStreamingDistributionInput(v *UpdateStreamingDistributionIn invalidParams.AddNested("StreamingDistributionConfig", err.(smithy.InvalidParamsError)) } } + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/codecommit/internal/endpoints/endpoints.go b/service/codecommit/internal/endpoints/endpoints.go index 9dbee17801a..8edf52e6a77 100644 --- a/service/codecommit/internal/endpoints/endpoints.go +++ b/service/codecommit/internal/endpoints/endpoints.go @@ -72,12 +72,18 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, "fips": endpoints.Endpoint{ Hostname: "codecommit-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -87,9 +93,33 @@ var defaultPartitions = endpoints.Partitions{ "me-south-1": endpoints.Endpoint{}, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -143,7 +173,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "codecommit-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/connect/api_op_CreateHoursOfOperation.go b/service/connect/api_op_CreateHoursOfOperation.go index d60d481085f..7a1db95ef91 100644 --- a/service/connect/api_op_CreateHoursOfOperation.go +++ b/service/connect/api_op_CreateHoursOfOperation.go @@ -11,7 +11,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This API is in preview release for Amazon Connect and is subject to change. // Creates hours of operation. func (c *Client) CreateHoursOfOperation(ctx context.Context, params *CreateHoursOfOperationInput, optFns ...func(*Options)) (*CreateHoursOfOperationOutput, error) { if params == nil { diff --git a/service/connect/api_op_DeleteHoursOfOperation.go b/service/connect/api_op_DeleteHoursOfOperation.go index 211141fff9d..6ece7bc2b8f 100644 --- a/service/connect/api_op_DeleteHoursOfOperation.go +++ b/service/connect/api_op_DeleteHoursOfOperation.go @@ -10,7 +10,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This API is in preview release for Amazon Connect and is subject to change. // Deletes an hours of operation. func (c *Client) DeleteHoursOfOperation(ctx context.Context, params *DeleteHoursOfOperationInput, optFns ...func(*Options)) (*DeleteHoursOfOperationOutput, error) { if params == nil { diff --git a/service/connect/api_op_DescribeHoursOfOperation.go b/service/connect/api_op_DescribeHoursOfOperation.go index 5d9abccade9..4c2e8b8c306 100644 --- a/service/connect/api_op_DescribeHoursOfOperation.go +++ b/service/connect/api_op_DescribeHoursOfOperation.go @@ -11,7 +11,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This API is in preview release for Amazon Connect and is subject to change. // Describes the hours of operation. func (c *Client) DescribeHoursOfOperation(ctx context.Context, params *DescribeHoursOfOperationInput, optFns ...func(*Options)) (*DescribeHoursOfOperationOutput, error) { if params == nil { diff --git a/service/connect/api_op_ListLexBots.go b/service/connect/api_op_ListLexBots.go index f972fd73da1..8a754d696bd 100644 --- a/service/connect/api_op_ListLexBots.go +++ b/service/connect/api_op_ListLexBots.go @@ -38,7 +38,8 @@ type ListLexBotsInput struct { // This member is required. InstanceId *string - // The maximum number of results to return per page. + // The maximum number of results to return per page. If no value is specified, the + // default is 10. MaxResults int32 // The token for the next set of results. Use the value returned in the previous @@ -135,7 +136,8 @@ var _ ListLexBotsAPIClient = (*Client)(nil) // ListLexBotsPaginatorOptions is the paginator options for ListLexBots type ListLexBotsPaginatorOptions struct { - // The maximum number of results to return per page. + // The maximum number of results to return per page. If no value is specified, the + // default is 10. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/connect/api_op_StartContactStreaming.go b/service/connect/api_op_StartContactStreaming.go new file mode 100644 index 00000000000..0a1aea27476 --- /dev/null +++ b/service/connect/api_op_StartContactStreaming.go @@ -0,0 +1,181 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package connect + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/connect/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Initiates real-time message streaming for a new chat contact. For more +// information about message streaming, see Enable real-time chat message streaming +// (https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html) +// in the Amazon Connect Administrator Guide. +func (c *Client) StartContactStreaming(ctx context.Context, params *StartContactStreamingInput, optFns ...func(*Options)) (*StartContactStreamingOutput, error) { + if params == nil { + params = &StartContactStreamingInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartContactStreaming", params, optFns, c.addOperationStartContactStreamingMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartContactStreamingOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartContactStreamingInput struct { + + // The streaming configuration, such as the Amazon SNS streaming endpoint. + // + // This member is required. + ChatStreamingConfiguration *types.ChatStreamingConfiguration + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + // + // This member is required. + ClientToken *string + + // The identifier of the contact. This is the identifier of the contact associated + // with the first interaction with the contact center. + // + // This member is required. + ContactId *string + + // The identifier of the Amazon Connect instance. You can find the instanceId in + // the ARN of the instance. + // + // This member is required. + InstanceId *string + + noSmithyDocumentSerde +} + +type StartContactStreamingOutput struct { + + // The identifier of the streaming configuration enabled. + // + // This member is required. + StreamingId *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStartContactStreamingMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStartContactStreaming{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartContactStreaming{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addIdempotencyToken_opStartContactStreamingMiddleware(stack, options); err != nil { + return err + } + if err = addOpStartContactStreamingValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartContactStreaming(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +type idempotencyToken_initializeOpStartContactStreaming struct { + tokenProvider IdempotencyTokenProvider +} + +func (*idempotencyToken_initializeOpStartContactStreaming) ID() string { + return "OperationIdempotencyTokenAutoFill" +} + +func (m *idempotencyToken_initializeOpStartContactStreaming) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + if m.tokenProvider == nil { + return next.HandleInitialize(ctx, in) + } + + input, ok := in.Parameters.(*StartContactStreamingInput) + if !ok { + return out, metadata, fmt.Errorf("expected middleware input to be of type *StartContactStreamingInput ") + } + + if input.ClientToken == nil { + t, err := m.tokenProvider.GetIdempotencyToken() + if err != nil { + return out, metadata, err + } + input.ClientToken = &t + } + return next.HandleInitialize(ctx, in) +} +func addIdempotencyToken_opStartContactStreamingMiddleware(stack *middleware.Stack, cfg Options) error { + return stack.Initialize.Add(&idempotencyToken_initializeOpStartContactStreaming{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) +} + +func newServiceMetadataMiddleware_opStartContactStreaming(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "connect", + OperationName: "StartContactStreaming", + } +} diff --git a/service/connect/api_op_StopContactStreaming.go b/service/connect/api_op_StopContactStreaming.go new file mode 100644 index 00000000000..8ef998c72d4 --- /dev/null +++ b/service/connect/api_op_StopContactStreaming.go @@ -0,0 +1,131 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package connect + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Ends message streaming on a specified contact. To restart message streaming on +// that contact, call the StartContactStreaming +// (https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html) +// API. +func (c *Client) StopContactStreaming(ctx context.Context, params *StopContactStreamingInput, optFns ...func(*Options)) (*StopContactStreamingOutput, error) { + if params == nil { + params = &StopContactStreamingInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StopContactStreaming", params, optFns, c.addOperationStopContactStreamingMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StopContactStreamingOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StopContactStreamingInput struct { + + // The identifier of the contact. This is the identifier of the contact that is + // associated with the first interaction with the contact center. + // + // This member is required. + ContactId *string + + // The identifier of the Amazon Connect instance. You can find the instanceId in + // the ARN of the instance. + // + // This member is required. + InstanceId *string + + // The identifier of the streaming configuration enabled. + // + // This member is required. + StreamingId *string + + noSmithyDocumentSerde +} + +type StopContactStreamingOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStopContactStreamingMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStopContactStreaming{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStopContactStreaming{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpStopContactStreamingValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStopContactStreaming(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opStopContactStreaming(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "connect", + OperationName: "StopContactStreaming", + } +} diff --git a/service/connect/api_op_UpdateHoursOfOperation.go b/service/connect/api_op_UpdateHoursOfOperation.go index 3c0ee729038..fcc88307776 100644 --- a/service/connect/api_op_UpdateHoursOfOperation.go +++ b/service/connect/api_op_UpdateHoursOfOperation.go @@ -11,7 +11,6 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This API is in preview release for Amazon Connect and is subject to change. // Updates the hours of operation. func (c *Client) UpdateHoursOfOperation(ctx context.Context, params *UpdateHoursOfOperationInput, optFns ...func(*Options)) (*UpdateHoursOfOperationOutput, error) { if params == nil { diff --git a/service/connect/deserializers.go b/service/connect/deserializers.go index 3c780374e94..84cbee3b77c 100644 --- a/service/connect/deserializers.go +++ b/service/connect/deserializers.go @@ -11374,6 +11374,169 @@ func awsRestjson1_deserializeOpErrorStartContactRecording(response *smithyhttp.R } } +type awsRestjson1_deserializeOpStartContactStreaming struct { +} + +func (*awsRestjson1_deserializeOpStartContactStreaming) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpStartContactStreaming) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorStartContactStreaming(response, &metadata) + } + output := &StartContactStreamingOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentStartContactStreamingOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStartContactStreaming(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsRestjson1_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsRestjson1_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsRestjson1_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentStartContactStreamingOutput(v **StartContactStreamingOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StartContactStreamingOutput + if *v == nil { + sv = &StartContactStreamingOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "StreamingId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected StreamingId to be of type string, got %T instead", value) + } + sv.StreamingId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpStartOutboundVoiceContact struct { } @@ -11893,6 +12056,98 @@ func awsRestjson1_deserializeOpErrorStopContactRecording(response *smithyhttp.Re } } +type awsRestjson1_deserializeOpStopContactStreaming struct { +} + +func (*awsRestjson1_deserializeOpStopContactStreaming) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpStopContactStreaming) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorStopContactStreaming(response, &metadata) + } + output := &StopContactStreamingOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStopContactStreaming(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServiceException", errorCode): + return awsRestjson1_deserializeErrorInternalServiceException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsRestjson1_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestjson1_deserializeOpSuspendContactRecording struct { } diff --git a/service/connect/generated.json b/service/connect/generated.json index bb2937a6018..497c4c66d7a 100644 --- a/service/connect/generated.json +++ b/service/connect/generated.json @@ -82,10 +82,12 @@ "api_op_ResumeContactRecording.go", "api_op_StartChatContact.go", "api_op_StartContactRecording.go", + "api_op_StartContactStreaming.go", "api_op_StartOutboundVoiceContact.go", "api_op_StartTaskContact.go", "api_op_StopContact.go", "api_op_StopContactRecording.go", + "api_op_StopContactStreaming.go", "api_op_SuspendContactRecording.go", "api_op_TagResource.go", "api_op_UntagResource.go", diff --git a/service/connect/internal/endpoints/endpoints.go b/service/connect/internal/endpoints/endpoints.go index 371f57361df..903ae9b3add 100644 --- a/service/connect/internal/endpoints/endpoints.go +++ b/service/connect/internal/endpoints/endpoints.go @@ -64,6 +64,7 @@ var defaultPartitions = endpoints.Partitions{ IsRegionalized: true, Endpoints: endpoints.Endpoints{ "ap-northeast-1": endpoints.Endpoint{}, + "ap-northeast-2": endpoints.Endpoint{}, "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, diff --git a/service/connect/serializers.go b/service/connect/serializers.go index 0d128317f23..c692fae9ccf 100644 --- a/service/connect/serializers.go +++ b/service/connect/serializers.go @@ -5971,6 +5971,91 @@ func awsRestjson1_serializeOpDocumentStartContactRecordingInput(v *StartContactR return nil } +type awsRestjson1_serializeOpStartContactStreaming struct { +} + +func (*awsRestjson1_serializeOpStartContactStreaming) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStartContactStreaming) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StartContactStreamingInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/contact/start-streaming") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentStartContactStreamingInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsStartContactStreamingInput(v *StartContactStreamingInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentStartContactStreamingInput(v *StartContactStreamingInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ChatStreamingConfiguration != nil { + ok := object.Key("ChatStreamingConfiguration") + if err := awsRestjson1_serializeDocumentChatStreamingConfiguration(v.ChatStreamingConfiguration, ok); err != nil { + return err + } + } + + if v.ClientToken != nil { + ok := object.Key("ClientToken") + ok.String(*v.ClientToken) + } + + if v.ContactId != nil { + ok := object.Key("ContactId") + ok.String(*v.ContactId) + } + + if v.InstanceId != nil { + ok := object.Key("InstanceId") + ok.String(*v.InstanceId) + } + + return nil +} + type awsRestjson1_serializeOpStartOutboundVoiceContact struct { } @@ -6346,6 +6431,84 @@ func awsRestjson1_serializeOpDocumentStopContactRecordingInput(v *StopContactRec return nil } +type awsRestjson1_serializeOpStopContactStreaming struct { +} + +func (*awsRestjson1_serializeOpStopContactStreaming) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStopContactStreaming) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StopContactStreamingInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/contact/stop-streaming") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentStopContactStreamingInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsStopContactStreamingInput(v *StopContactStreamingInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentStopContactStreamingInput(v *StopContactStreamingInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ContactId != nil { + ok := object.Key("ContactId") + ok.String(*v.ContactId) + } + + if v.InstanceId != nil { + ok := object.Key("InstanceId") + ok.String(*v.InstanceId) + } + + if v.StreamingId != nil { + ok := object.Key("StreamingId") + ok.String(*v.StreamingId) + } + + return nil +} + type awsRestjson1_serializeOpSuspendContactRecording struct { } @@ -8937,6 +9100,18 @@ func awsRestjson1_serializeDocumentChatMessage(v *types.ChatMessage, value smith return nil } +func awsRestjson1_serializeDocumentChatStreamingConfiguration(v *types.ChatStreamingConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.StreamingEndpointArn != nil { + ok := object.Key("StreamingEndpointArn") + ok.String(*v.StreamingEndpointArn) + } + + return nil +} + func awsRestjson1_serializeDocumentContactReferences(v map[string]types.Reference, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/connect/types/types.go b/service/connect/types/types.go index 279f2837ea1..458241b6d51 100644 --- a/service/connect/types/types.go +++ b/service/connect/types/types.go @@ -96,6 +96,19 @@ type ChatMessage struct { noSmithyDocumentSerde } +// The streaming configuration, such as the Amazon SNS streaming endpoint. +type ChatStreamingConfiguration struct { + + // The Amazon Resource Name (ARN) of the standard Amazon SNS topic. The Amazon + // Resource Name (ARN) of the streaming endpoint that is used to publish real-time + // message streaming for chat conversations. + // + // This member is required. + StreamingEndpointArn *string + + noSmithyDocumentSerde +} + // Contains information about a contact flow. type ContactFlow struct { @@ -451,12 +464,12 @@ type HoursOfOperationConfig struct { // This member is required. Day HoursOfOperationDays - // The end time that your contact center is closes. + // The end time that your contact center closes. // // This member is required. EndTime *HoursOfOperationTimeSlice - // The start time that your contact center is open. + // The start time that your contact center opens. // // This member is required. StartTime *HoursOfOperationTimeSlice diff --git a/service/connect/validators.go b/service/connect/validators.go index 5ca4cc38d9b..c1db7698da6 100644 --- a/service/connect/validators.go +++ b/service/connect/validators.go @@ -1530,6 +1530,26 @@ func (m *validateOpStartContactRecording) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpStartContactStreaming struct { +} + +func (*validateOpStartContactStreaming) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartContactStreaming) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartContactStreamingInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartContactStreamingInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpStartOutboundVoiceContact struct { } @@ -1610,6 +1630,26 @@ func (m *validateOpStopContactRecording) HandleInitialize(ctx context.Context, i return next.HandleInitialize(ctx, in) } +type validateOpStopContactStreaming struct { +} + +func (*validateOpStopContactStreaming) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStopContactStreaming) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StopContactStreamingInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStopContactStreamingInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpSuspendContactRecording struct { } @@ -2474,6 +2514,10 @@ func addOpStartContactRecordingValidationMiddleware(stack *middleware.Stack) err return stack.Initialize.Add(&validateOpStartContactRecording{}, middleware.After) } +func addOpStartContactStreamingValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartContactStreaming{}, middleware.After) +} + func addOpStartOutboundVoiceContactValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpStartOutboundVoiceContact{}, middleware.After) } @@ -2490,6 +2534,10 @@ func addOpStopContactRecordingValidationMiddleware(stack *middleware.Stack) erro return stack.Initialize.Add(&validateOpStopContactRecording{}, middleware.After) } +func addOpStopContactStreamingValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStopContactStreaming{}, middleware.After) +} + func addOpSuspendContactRecordingValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpSuspendContactRecording{}, middleware.After) } @@ -2620,6 +2668,21 @@ func validateChatMessage(v *types.ChatMessage) error { } } +func validateChatStreamingConfiguration(v *types.ChatStreamingConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ChatStreamingConfiguration"} + if v.StreamingEndpointArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("StreamingEndpointArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateContactReferences(v map[string]types.Reference) error { if v == nil { return nil @@ -4545,6 +4608,34 @@ func validateOpStartContactRecordingInput(v *StartContactRecordingInput) error { } } +func validateOpStartContactStreamingInput(v *StartContactStreamingInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartContactStreamingInput"} + if v.InstanceId == nil { + invalidParams.Add(smithy.NewErrParamRequired("InstanceId")) + } + if v.ContactId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ContactId")) + } + if v.ChatStreamingConfiguration == nil { + invalidParams.Add(smithy.NewErrParamRequired("ChatStreamingConfiguration")) + } else if v.ChatStreamingConfiguration != nil { + if err := validateChatStreamingConfiguration(v.ChatStreamingConfiguration); err != nil { + invalidParams.AddNested("ChatStreamingConfiguration", err.(smithy.InvalidParamsError)) + } + } + if v.ClientToken == nil { + invalidParams.Add(smithy.NewErrParamRequired("ClientToken")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpStartOutboundVoiceContactInput(v *StartOutboundVoiceContactInput) error { if v == nil { return nil @@ -4631,6 +4722,27 @@ func validateOpStopContactRecordingInput(v *StopContactRecordingInput) error { } } +func validateOpStopContactStreamingInput(v *StopContactStreamingInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StopContactStreamingInput"} + if v.InstanceId == nil { + invalidParams.Add(smithy.NewErrParamRequired("InstanceId")) + } + if v.ContactId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ContactId")) + } + if v.StreamingId == nil { + invalidParams.Add(smithy.NewErrParamRequired("StreamingId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpSuspendContactRecordingInput(v *SuspendContactRecordingInput) error { if v == nil { return nil diff --git a/service/connectcontactlens/internal/endpoints/endpoints.go b/service/connectcontactlens/internal/endpoints/endpoints.go index 6c8f38438dc..73183d40080 100644 --- a/service/connectcontactlens/internal/endpoints/endpoints.go +++ b/service/connectcontactlens/internal/endpoints/endpoints.go @@ -64,6 +64,7 @@ var defaultPartitions = endpoints.Partitions{ IsRegionalized: true, Endpoints: endpoints.Endpoints{ "ap-northeast-1": endpoints.Endpoint{}, + "ap-northeast-2": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, "eu-central-1": endpoints.Endpoint{}, diff --git a/service/connectparticipant/api_op_CompleteAttachmentUpload.go b/service/connectparticipant/api_op_CompleteAttachmentUpload.go index 0ceb1cb53b1..b11c034b5e7 100644 --- a/service/connectparticipant/api_op_CompleteAttachmentUpload.go +++ b/service/connectparticipant/api_op_CompleteAttachmentUpload.go @@ -12,7 +12,9 @@ import ( ) // Allows you to confirm that the attachment has been uploaded using the pre-signed -// URL provided in StartAttachmentUpload API. +// URL provided in StartAttachmentUpload API. The Amazon Connect Participant +// Service APIs do not use Signature Version 4 authentication +// (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *Client) CompleteAttachmentUpload(ctx context.Context, params *CompleteAttachmentUploadInput, optFns ...func(*Options)) (*CompleteAttachmentUploadOutput, error) { if params == nil { params = &CompleteAttachmentUploadInput{} diff --git a/service/connectparticipant/api_op_CreateParticipantConnection.go b/service/connectparticipant/api_op_CreateParticipantConnection.go index 0506844b7a0..75d66b18062 100644 --- a/service/connectparticipant/api_op_CreateParticipantConnection.go +++ b/service/connectparticipant/api_op_CreateParticipantConnection.go @@ -20,8 +20,19 @@ import ( // connection: {"topic":"aws/subscribe","content":{"topics":["aws/chat"]}} Upon // websocket URL expiry, as specified in the response ConnectionExpiry parameter, // clients need to call this API again to obtain a new websocket URL and perform -// the same steps as before. The Amazon Connect Participant Service APIs do not use -// Signature Version 4 authentication +// the same steps as before. Message streaming support: This API can also be used +// together with the StartContactStreaming +// (https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html) +// API to create a participant connection for chat contacts that are not using a +// websocket. For more information about message streaming, Enable real-time chat +// message streaming +// (https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html) +// in the Amazon Connect Administrator Guide. Feature specifications: For +// information about feature specifications, such as the allowed number of open +// websocket connections per participant, see Feature specifications +// (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits) +// in the Amazon Connect Administrator Guide. The Amazon Connect Participant +// Service APIs do not use Signature Version 4 authentication // (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *Client) CreateParticipantConnection(ctx context.Context, params *CreateParticipantConnectionInput, optFns ...func(*Options)) (*CreateParticipantConnectionOutput, error) { if params == nil { @@ -40,7 +51,7 @@ func (c *Client) CreateParticipantConnection(ctx context.Context, params *Create type CreateParticipantConnectionInput struct { - // This is a header parameter. The Participant Token as obtained from + // This is a header parameter. The ParticipantToken as obtained from // StartChatContact // (https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) // API response. @@ -53,6 +64,10 @@ type CreateParticipantConnectionInput struct { // This member is required. Type []types.ConnectionType + // Amazon Connect Participant is used to mark the participant as connected for + // message streaming. + ConnectParticipant *bool + noSmithyDocumentSerde } diff --git a/service/connectparticipant/api_op_GetAttachment.go b/service/connectparticipant/api_op_GetAttachment.go index cd925ef3e5a..616e1c83155 100644 --- a/service/connectparticipant/api_op_GetAttachment.go +++ b/service/connectparticipant/api_op_GetAttachment.go @@ -11,7 +11,9 @@ import ( ) // Provides a pre-signed URL for download of a completed attachment. This is an -// asynchronous API for use with active contacts. +// asynchronous API for use with active contacts. The Amazon Connect Participant +// Service APIs do not use Signature Version 4 authentication +// (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *Client) GetAttachment(ctx context.Context, params *GetAttachmentInput, optFns ...func(*Options)) (*GetAttachmentOutput, error) { if params == nil { params = &GetAttachmentInput{} @@ -44,8 +46,9 @@ type GetAttachmentInput struct { type GetAttachmentOutput struct { - // The pre-signed URL using which file would be downloaded from Amazon S3 by the - // API caller. + // This is the pre-signed URL that can be used for uploading the file to Amazon S3 + // when used in response to StartAttachmentUpload + // (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_StartAttachmentUpload.html). Url *string // The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 diff --git a/service/connectparticipant/api_op_StartAttachmentUpload.go b/service/connectparticipant/api_op_StartAttachmentUpload.go index 6b6303331e3..40fd380037b 100644 --- a/service/connectparticipant/api_op_StartAttachmentUpload.go +++ b/service/connectparticipant/api_op_StartAttachmentUpload.go @@ -13,7 +13,9 @@ import ( ) // Provides a pre-signed Amazon S3 URL in response for uploading the file directly -// to S3. +// to S3. The Amazon Connect Participant Service APIs do not use Signature Version +// 4 authentication +// (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *Client) StartAttachmentUpload(ctx context.Context, params *StartAttachmentUploadInput, optFns ...func(*Options)) (*StartAttachmentUploadOutput, error) { if params == nil { params = &StartAttachmentUploadInput{} diff --git a/service/connectparticipant/serializers.go b/service/connectparticipant/serializers.go index 40afd3e4883..ab27a6b100d 100644 --- a/service/connectparticipant/serializers.go +++ b/service/connectparticipant/serializers.go @@ -167,6 +167,11 @@ func awsRestjson1_serializeOpDocumentCreateParticipantConnectionInput(v *CreateP object := value.Object() defer object.Close() + if v.ConnectParticipant != nil { + ok := object.Key("ConnectParticipant") + ok.Boolean(*v.ConnectParticipant) + } + if v.Type != nil { ok := object.Key("Type") if err := awsRestjson1_serializeDocumentConnectionTypeList(v.Type, ok); err != nil { diff --git a/service/connectparticipant/types/enums.go b/service/connectparticipant/types/enums.go index 7dc6def6720..fc99a743d2f 100644 --- a/service/connectparticipant/types/enums.go +++ b/service/connectparticipant/types/enums.go @@ -26,16 +26,20 @@ type ChatItemType string // Enum values for ChatItemType const ( - ChatItemTypeTyping ChatItemType = "TYPING" - ChatItemTypeParticipantJoined ChatItemType = "PARTICIPANT_JOINED" - ChatItemTypeParticipantLeft ChatItemType = "PARTICIPANT_LEFT" - ChatItemTypeChatEnded ChatItemType = "CHAT_ENDED" - ChatItemTypeTransferSucceeded ChatItemType = "TRANSFER_SUCCEEDED" - ChatItemTypeTransferFailed ChatItemType = "TRANSFER_FAILED" - ChatItemTypeMessage ChatItemType = "MESSAGE" - ChatItemTypeEvent ChatItemType = "EVENT" - ChatItemTypeAttachment ChatItemType = "ATTACHMENT" - ChatItemTypeConnectionAck ChatItemType = "CONNECTION_ACK" + ChatItemTypeTyping ChatItemType = "TYPING" + ChatItemTypeParticipantJoined ChatItemType = "PARTICIPANT_JOINED" + ChatItemTypeParticipantLeft ChatItemType = "PARTICIPANT_LEFT" + ChatItemTypeChatEnded ChatItemType = "CHAT_ENDED" + ChatItemTypeTransferSucceeded ChatItemType = "TRANSFER_SUCCEEDED" + ChatItemTypeTransferFailed ChatItemType = "TRANSFER_FAILED" + ChatItemTypeMessage ChatItemType = "MESSAGE" + ChatItemTypeEvent ChatItemType = "EVENT" + ChatItemTypeAttachment ChatItemType = "ATTACHMENT" + ChatItemTypeConnectionAck ChatItemType = "CONNECTION_ACK" + ChatItemTypeParticipantActive ChatItemType = "PARTICIPANT_ACTIVE" + ChatItemTypeParticipantInactive ChatItemType = "PARTICIPANT_INACTIVE" + ChatItemTypeParticipantEngaged ChatItemType = "PARTICIPANT_ENGAGED" + ChatItemTypeParticipantDisengaged ChatItemType = "PARTICIPANT_DISENGAGED" ) // Values returns all known values for ChatItemType. Note that this can be expanded @@ -53,6 +57,10 @@ func (ChatItemType) Values() []ChatItemType { "EVENT", "ATTACHMENT", "CONNECTION_ACK", + "PARTICIPANT_ACTIVE", + "PARTICIPANT_INACTIVE", + "PARTICIPANT_ENGAGED", + "PARTICIPANT_DISENGAGED", } } diff --git a/service/connectparticipant/types/types.go b/service/connectparticipant/types/types.go index 1a98b1168e5..4bb0b5c1918 100644 --- a/service/connectparticipant/types/types.go +++ b/service/connectparticipant/types/types.go @@ -98,8 +98,9 @@ type UploadMetadata struct { // The headers to be provided while uploading the file to the URL. HeadersToInclude map[string]string - // The pre-signed URL using which file would be downloaded from Amazon S3 by the - // API caller. + // This is the pre-signed URL that can be used for uploading the file to Amazon S3 + // when used in response to StartAttachmentUpload + // (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_StartAttachmentUpload.html). Url *string // The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 diff --git a/service/databasemigrationservice/internal/endpoints/endpoints.go b/service/databasemigrationservice/internal/endpoints/endpoints.go index 6dd5ff8cb37..f382323ee73 100644 --- a/service/databasemigrationservice/internal/endpoints/endpoints.go +++ b/service/databasemigrationservice/internal/endpoints/endpoints.go @@ -72,6 +72,11 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, + "dms": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, "dms-fips": endpoints.Endpoint{ Hostname: "dms-fips.us-west-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -87,9 +92,33 @@ var defaultPartitions = endpoints.Partitions{ "me-south-1": endpoints.Endpoint{}, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "dms-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "dms-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "dms-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "dms-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -116,6 +145,11 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsIso, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "dms": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-iso-east-1", + }, + }, "dms-fips": endpoints.Endpoint{ Hostname: "dms.us-iso-east-1.c2s.ic.gov", CredentialScope: endpoints.CredentialScope{ @@ -123,6 +157,12 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-iso-east-1": endpoints.Endpoint{}, + "us-iso-east-1-fips": endpoints.Endpoint{ + Hostname: "dms.us-iso-east-1.c2s.ic.gov", + CredentialScope: endpoints.CredentialScope{ + Region: "us-iso-east-1", + }, + }, }, }, { @@ -135,6 +175,11 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsIsoB, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "dms": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-isob-east-1", + }, + }, "dms-fips": endpoints.Endpoint{ Hostname: "dms.us-isob-east-1.sc2s.sgov.gov", CredentialScope: endpoints.CredentialScope{ @@ -142,6 +187,12 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-isob-east-1": endpoints.Endpoint{}, + "us-isob-east-1-fips": endpoints.Endpoint{ + Hostname: "dms.us-isob-east-1.sc2s.sgov.gov", + CredentialScope: endpoints.CredentialScope{ + Region: "us-isob-east-1", + }, + }, }, }, { @@ -154,6 +205,11 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "dms": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "dms-fips": endpoints.Endpoint{ Hostname: "dms.us-gov-west-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -161,7 +217,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "dms.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "dms.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/docdb/internal/endpoints/endpoints.go b/service/docdb/internal/endpoints/endpoints.go index b5ef858a559..21c71a99912 100644 --- a/service/docdb/internal/endpoints/endpoints.go +++ b/service/docdb/internal/endpoints/endpoints.go @@ -72,13 +72,19 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, - "me-south-1": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, + "me-south-1": endpoints.Endpoint{}, "rds-fips.ca-central-1": endpoints.Endpoint{ Hostname: "rds-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -109,11 +115,60 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-west-2", }, }, + "rds.ca-central-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "rds.us-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "rds.us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "rds.us-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "rds.us-west-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -180,7 +235,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "rds.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "rds.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/ebs/internal/endpoints/endpoints.go b/service/ebs/internal/endpoints/endpoints.go index 927f2add75a..ff311d001d9 100644 --- a/service/ebs/internal/endpoints/endpoints.go +++ b/service/ebs/internal/endpoints/endpoints.go @@ -139,6 +139,9 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsIso, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "us-iso-east-1": endpoints.Endpoint{}, + }, }, { ID: "aws-iso-b", @@ -149,6 +152,9 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsIsoB, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "us-isob-east-1": endpoints.Endpoint{}, + }, }, { ID: "aws-us-gov", diff --git a/service/ec2/api_op_DescribeImages.go b/service/ec2/api_op_DescribeImages.go index b85c727c43d..c7849b085a1 100644 --- a/service/ec2/api_op_DescribeImages.go +++ b/service/ec2/api_op_DescribeImages.go @@ -51,7 +51,20 @@ type DescribeImagesInput struct { DryRun *bool // Scopes the images by users with explicit launch permissions. Specify an Amazon - // Web Services account ID, self (the sender of the request), or all (public AMIs). + // Web Services account ID, self (the sender of the request), or all (public + // AMIs). + // + // * If you specify an Amazon Web Services account ID that is not your own, + // only AMIs shared with that specific Amazon Web Services account ID are returned. + // However, AMIs that are shared with the account’s organization or organizational + // unit (OU) are not returned. + // + // * If you specify self or your own Amazon Web + // Services account ID, AMIs shared with your account are returned. In addition, + // AMIs that are shared with the organization or OU of which you are member are + // also returned. + // + // * If you specify all, all public AMIs are returned. ExecutableUsers []string // The filters. diff --git a/service/ec2/api_op_DescribeInstances.go b/service/ec2/api_op_DescribeInstances.go index 0f629f83ddc..85d679faa9d 100644 --- a/service/ec2/api_op_DescribeInstances.go +++ b/service/ec2/api_op_DescribeInstances.go @@ -151,14 +151,17 @@ type DescribeInstancesInput struct { // for the instance in the launch group (for example, 0, 1, 2, and so on). // // * - // launch-time - The time when the instance was launched. + // launch-time - The time when the instance was launched, in the ISO 8601 format in + // the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, + // 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, + // which matches an entire day. // - // * - // metadata-options.http-tokens - The metadata request authorization state - // (optional | required) + // * metadata-options.http-tokens - The metadata + // request authorization state (optional | required) // - // * metadata-options.http-put-response-hop-limit - The http - // metadata request put response hop limit (integer, possible values 1 to 64) + // * + // metadata-options.http-put-response-hop-limit - The http metadata request put + // response hop limit (integer, possible values 1 to 64) // // * // metadata-options.http-endpoint - Enable or disable metadata access on http diff --git a/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go b/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go new file mode 100644 index 00000000000..98711c17566 --- /dev/null +++ b/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go @@ -0,0 +1,257 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ec2 + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/ec2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// 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 +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html#spotfleet-get-instance-types-from-instance-requirements), +// Attribute-based instance type selection for EC2 Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), +// Attribute-based instance type selection for Spot Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), +// and Spot placement score +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide, and Creating an Auto Scaling group using +// attribute-based instance type selection +// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) +// in the Amazon EC2 Auto Scaling User Guide. +func (c *Client) GetInstanceTypesFromInstanceRequirements(ctx context.Context, params *GetInstanceTypesFromInstanceRequirementsInput, optFns ...func(*Options)) (*GetInstanceTypesFromInstanceRequirementsOutput, error) { + if params == nil { + params = &GetInstanceTypesFromInstanceRequirementsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetInstanceTypesFromInstanceRequirements", params, optFns, c.addOperationGetInstanceTypesFromInstanceRequirementsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetInstanceTypesFromInstanceRequirementsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetInstanceTypesFromInstanceRequirementsInput struct { + + // The processor architecture type. + // + // This member is required. + ArchitectureTypes []types.ArchitectureType + + // The attributes required for the instance types. + // + // This member is required. + InstanceRequirements *types.InstanceRequirementsRequest + + // The virtualization type. + // + // This member is required. + VirtualizationTypes []types.VirtualizationType + + // 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. + DryRun *bool + + // The maximum number of results to return in a single call. Specify a value + // between 1 and
 1000. The default value is 1000. To retrieve the remaining + // results, make another call with
 the returned NextToken value. + MaxResults *int32 + + // The token for the next set of results. + NextToken *string + + noSmithyDocumentSerde +} + +type GetInstanceTypesFromInstanceRequirementsOutput struct { + + // The instance types with the specified instance attributes. + InstanceTypes []types.InstanceTypeInfoFromInstanceRequirements + + // The token for the next set of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetInstanceTypesFromInstanceRequirementsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsEc2query_serializeOpGetInstanceTypesFromInstanceRequirements{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsEc2query_deserializeOpGetInstanceTypesFromInstanceRequirements{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetInstanceTypesFromInstanceRequirementsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetInstanceTypesFromInstanceRequirements(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// GetInstanceTypesFromInstanceRequirementsAPIClient is a client that implements +// the GetInstanceTypesFromInstanceRequirements operation. +type GetInstanceTypesFromInstanceRequirementsAPIClient interface { + GetInstanceTypesFromInstanceRequirements(context.Context, *GetInstanceTypesFromInstanceRequirementsInput, ...func(*Options)) (*GetInstanceTypesFromInstanceRequirementsOutput, error) +} + +var _ GetInstanceTypesFromInstanceRequirementsAPIClient = (*Client)(nil) + +// GetInstanceTypesFromInstanceRequirementsPaginatorOptions is the paginator +// options for GetInstanceTypesFromInstanceRequirements +type GetInstanceTypesFromInstanceRequirementsPaginatorOptions struct { + // The maximum number of results to return in a single call. Specify a value + // between 1 and
 1000. The default value is 1000. To retrieve the remaining + // results, make another call with
 the returned NextToken value. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// GetInstanceTypesFromInstanceRequirementsPaginator is a paginator for +// GetInstanceTypesFromInstanceRequirements +type GetInstanceTypesFromInstanceRequirementsPaginator struct { + options GetInstanceTypesFromInstanceRequirementsPaginatorOptions + client GetInstanceTypesFromInstanceRequirementsAPIClient + params *GetInstanceTypesFromInstanceRequirementsInput + nextToken *string + firstPage bool +} + +// NewGetInstanceTypesFromInstanceRequirementsPaginator returns a new +// GetInstanceTypesFromInstanceRequirementsPaginator +func NewGetInstanceTypesFromInstanceRequirementsPaginator(client GetInstanceTypesFromInstanceRequirementsAPIClient, params *GetInstanceTypesFromInstanceRequirementsInput, optFns ...func(*GetInstanceTypesFromInstanceRequirementsPaginatorOptions)) *GetInstanceTypesFromInstanceRequirementsPaginator { + if params == nil { + params = &GetInstanceTypesFromInstanceRequirementsInput{} + } + + options := GetInstanceTypesFromInstanceRequirementsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &GetInstanceTypesFromInstanceRequirementsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *GetInstanceTypesFromInstanceRequirementsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next GetInstanceTypesFromInstanceRequirements page. +func (p *GetInstanceTypesFromInstanceRequirementsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetInstanceTypesFromInstanceRequirementsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.GetInstanceTypesFromInstanceRequirements(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opGetInstanceTypesFromInstanceRequirements(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "ec2", + OperationName: "GetInstanceTypesFromInstanceRequirements", + } +} diff --git a/service/ec2/api_op_GetSpotPlacementScores.go b/service/ec2/api_op_GetSpotPlacementScores.go new file mode 100644 index 00000000000..546c5157b86 --- /dev/null +++ b/service/ec2/api_op_GetSpotPlacementScores.go @@ -0,0 +1,273 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ec2 + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/ec2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Calculates the Spot placement score for a Region or Availability Zone based on +// the specified target capacity and compute requirements. You can specify your +// compute requirements either by using InstanceRequirementsWithMetadata and +// letting Amazon EC2 choose the optimal instance types to fulfill your Spot +// request, or you can specify the instance types by using InstanceTypes. For more +// information, see Spot placement score +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide. +func (c *Client) GetSpotPlacementScores(ctx context.Context, params *GetSpotPlacementScoresInput, optFns ...func(*Options)) (*GetSpotPlacementScoresOutput, error) { + if params == nil { + params = &GetSpotPlacementScoresInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetSpotPlacementScores", params, optFns, c.addOperationGetSpotPlacementScoresMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetSpotPlacementScoresOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetSpotPlacementScoresInput struct { + + // The target capacity. + // + // This member is required. + TargetCapacity *int32 + + // 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. + DryRun *bool + + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. If you specify + // InstanceRequirementsWithMetadata, you can't specify InstanceTypes. + InstanceRequirementsWithMetadata *types.InstanceRequirementsWithMetadataRequest + + // The instance types. We recommend that you specify at least three instance types. + // If you specify one or two instance types, or specify variations of a single + // instance type (for example, an m3.xlarge with and without instance storage), the + // returned placement score will always be low. If you specify InstanceTypes, you + // can't specify InstanceRequirementsWithMetadata. + InstanceTypes []string + + // The maximum number of results to return in a single call. Specify a value + // between 1 and
 1000. The default value is 1000. To retrieve the remaining + // results, make another call with
 the returned NextToken value. + MaxResults *int32 + + // The token for the next set of results. + NextToken *string + + // The Regions used to narrow down the list of Regions to be scored. Enter the + // Region code, for example, us-east-1. + RegionNames []string + + // Specify true so that the response returns a list of scored Availability Zones. + // Otherwise, the response returns a list of scored Regions. A list of scored + // Availability Zones is useful if you want to launch all of your Spot capacity + // into a single Availability Zone. + SingleAvailabilityZone *bool + + // The unit for the target capacity. Default: units (translates to number of + // instances) + TargetCapacityUnitType types.TargetCapacityUnitType + + noSmithyDocumentSerde +} + +type GetSpotPlacementScoresOutput struct { + + // The token for the next set of results. + NextToken *string + + // The Spot placement score for the top 10 Regions or Availability Zones, scored on + // a scale from 1 to 10. Each score
 reflects how likely it is that each Region or + // Availability Zone will succeed at fulfilling the specified target capacity
 at + // the time of the Spot placement score request. A score of 10 means that your Spot + // capacity request is highly likely to succeed in that Region or Availability + // Zone. If you request a Spot placement score for Regions, a high score assumes + // that your fleet request will be configured to use all Availability Zones and the + // capacity-optimized allocation strategy. If you request a Spot placement score + // for Availability Zones, a high score assumes that your fleet request will be + // configured to use a single Availability Zone and the capacity-optimized + // allocation strategy. Different
 Regions or Availability Zones might return the + // same score. The Spot placement score serves as a recommendation only. No score + // guarantees that your Spot request will be fully or partially fulfilled. + SpotPlacementScores []types.SpotPlacementScore + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetSpotPlacementScoresMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsEc2query_serializeOpGetSpotPlacementScores{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsEc2query_deserializeOpGetSpotPlacementScores{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetSpotPlacementScoresValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetSpotPlacementScores(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// GetSpotPlacementScoresAPIClient is a client that implements the +// GetSpotPlacementScores operation. +type GetSpotPlacementScoresAPIClient interface { + GetSpotPlacementScores(context.Context, *GetSpotPlacementScoresInput, ...func(*Options)) (*GetSpotPlacementScoresOutput, error) +} + +var _ GetSpotPlacementScoresAPIClient = (*Client)(nil) + +// GetSpotPlacementScoresPaginatorOptions is the paginator options for +// GetSpotPlacementScores +type GetSpotPlacementScoresPaginatorOptions struct { + // The maximum number of results to return in a single call. Specify a value + // between 1 and
 1000. The default value is 1000. To retrieve the remaining + // results, make another call with
 the returned NextToken value. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// GetSpotPlacementScoresPaginator is a paginator for GetSpotPlacementScores +type GetSpotPlacementScoresPaginator struct { + options GetSpotPlacementScoresPaginatorOptions + client GetSpotPlacementScoresAPIClient + params *GetSpotPlacementScoresInput + nextToken *string + firstPage bool +} + +// NewGetSpotPlacementScoresPaginator returns a new GetSpotPlacementScoresPaginator +func NewGetSpotPlacementScoresPaginator(client GetSpotPlacementScoresAPIClient, params *GetSpotPlacementScoresInput, optFns ...func(*GetSpotPlacementScoresPaginatorOptions)) *GetSpotPlacementScoresPaginator { + if params == nil { + params = &GetSpotPlacementScoresInput{} + } + + options := GetSpotPlacementScoresPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &GetSpotPlacementScoresPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *GetSpotPlacementScoresPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next GetSpotPlacementScores page. +func (p *GetSpotPlacementScoresPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetSpotPlacementScoresOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.GetSpotPlacementScores(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opGetSpotPlacementScores(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "ec2", + OperationName: "GetSpotPlacementScores", + } +} diff --git a/service/ec2/api_op_ModifyCapacityReservation.go b/service/ec2/api_op_ModifyCapacityReservation.go index 5be4f26b757..af9f6355212 100644 --- a/service/ec2/api_op_ModifyCapacityReservation.go +++ b/service/ec2/api_op_ModifyCapacityReservation.go @@ -43,6 +43,9 @@ type ModifyCapacityReservationInput struct { // Reserved. Capacity Reservations you have created are accepted by default. Accept *bool + // Reserved for future use. + AdditionalInfo *string + // 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 diff --git a/service/ec2/api_op_ModifyImageAttribute.go b/service/ec2/api_op_ModifyImageAttribute.go index c0c84d793b7..ea2f5d62715 100644 --- a/service/ec2/api_op_ModifyImageAttribute.go +++ b/service/ec2/api_op_ModifyImageAttribute.go @@ -40,8 +40,8 @@ type ModifyImageAttributeInput struct { // This member is required. ImageId *string - // The name of the attribute to modify. The valid values are description and - // launchPermission. + // The name of the attribute to modify. Valid values: description | + // launchPermission Attribute *string // A new description for the AMI. @@ -60,6 +60,14 @@ type ModifyImageAttributeInput struct { // is launchPermission. OperationType types.OperationType + // The Amazon Resource Name (ARN) of an organization. This parameter can be used + // only when the Attribute parameter is launchPermission. + OrganizationArns []string + + // The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter + // can be used only when the Attribute parameter is launchPermission. + OrganizationalUnitArns []string + // Not supported. ProductCodes []string diff --git a/service/ec2/deserializers.go b/service/ec2/deserializers.go index 64b12576850..29b8afcf926 100644 --- a/service/ec2/deserializers.go +++ b/service/ec2/deserializers.go @@ -30773,14 +30773,14 @@ func awsEc2query_deserializeOpErrorGetHostReservationPurchasePreview(response *s } } -type awsEc2query_deserializeOpGetLaunchTemplateData struct { +type awsEc2query_deserializeOpGetInstanceTypesFromInstanceRequirements struct { } -func (*awsEc2query_deserializeOpGetLaunchTemplateData) ID() string { +func (*awsEc2query_deserializeOpGetInstanceTypesFromInstanceRequirements) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetLaunchTemplateData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetInstanceTypesFromInstanceRequirements) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -30794,9 +30794,9 @@ func (m *awsEc2query_deserializeOpGetLaunchTemplateData) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetLaunchTemplateData(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetInstanceTypesFromInstanceRequirements(response, &metadata) } - output := &GetLaunchTemplateDataOutput{} + output := &GetInstanceTypesFromInstanceRequirementsOutput{} out.Result = output var buff [1024]byte @@ -30817,7 +30817,7 @@ func (m *awsEc2query_deserializeOpGetLaunchTemplateData) HandleDeserialize(ctx c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetLaunchTemplateDataOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetInstanceTypesFromInstanceRequirementsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -30831,7 +30831,7 @@ func (m *awsEc2query_deserializeOpGetLaunchTemplateData) HandleDeserialize(ctx c return out, metadata, err } -func awsEc2query_deserializeOpErrorGetLaunchTemplateData(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetInstanceTypesFromInstanceRequirements(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -30864,14 +30864,14 @@ func awsEc2query_deserializeOpErrorGetLaunchTemplateData(response *smithyhttp.Re } } -type awsEc2query_deserializeOpGetManagedPrefixListAssociations struct { +type awsEc2query_deserializeOpGetLaunchTemplateData struct { } -func (*awsEc2query_deserializeOpGetManagedPrefixListAssociations) ID() string { +func (*awsEc2query_deserializeOpGetLaunchTemplateData) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetManagedPrefixListAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetLaunchTemplateData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -30885,9 +30885,9 @@ func (m *awsEc2query_deserializeOpGetManagedPrefixListAssociations) HandleDeseri } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetManagedPrefixListAssociations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetLaunchTemplateData(response, &metadata) } - output := &GetManagedPrefixListAssociationsOutput{} + output := &GetLaunchTemplateDataOutput{} out.Result = output var buff [1024]byte @@ -30908,7 +30908,7 @@ func (m *awsEc2query_deserializeOpGetManagedPrefixListAssociations) HandleDeseri } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetManagedPrefixListAssociationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetLaunchTemplateDataOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -30922,7 +30922,7 @@ func (m *awsEc2query_deserializeOpGetManagedPrefixListAssociations) HandleDeseri return out, metadata, err } -func awsEc2query_deserializeOpErrorGetManagedPrefixListAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetLaunchTemplateData(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -30955,14 +30955,14 @@ func awsEc2query_deserializeOpErrorGetManagedPrefixListAssociations(response *sm } } -type awsEc2query_deserializeOpGetManagedPrefixListEntries struct { +type awsEc2query_deserializeOpGetManagedPrefixListAssociations struct { } -func (*awsEc2query_deserializeOpGetManagedPrefixListEntries) ID() string { +func (*awsEc2query_deserializeOpGetManagedPrefixListAssociations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetManagedPrefixListEntries) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetManagedPrefixListAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -30976,9 +30976,9 @@ func (m *awsEc2query_deserializeOpGetManagedPrefixListEntries) HandleDeserialize } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetManagedPrefixListEntries(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetManagedPrefixListAssociations(response, &metadata) } - output := &GetManagedPrefixListEntriesOutput{} + output := &GetManagedPrefixListAssociationsOutput{} out.Result = output var buff [1024]byte @@ -30999,7 +30999,7 @@ func (m *awsEc2query_deserializeOpGetManagedPrefixListEntries) HandleDeserialize } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetManagedPrefixListEntriesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetManagedPrefixListAssociationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31013,7 +31013,7 @@ func (m *awsEc2query_deserializeOpGetManagedPrefixListEntries) HandleDeserialize return out, metadata, err } -func awsEc2query_deserializeOpErrorGetManagedPrefixListEntries(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetManagedPrefixListAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31046,14 +31046,14 @@ func awsEc2query_deserializeOpErrorGetManagedPrefixListEntries(response *smithyh } } -type awsEc2query_deserializeOpGetPasswordData struct { +type awsEc2query_deserializeOpGetManagedPrefixListEntries struct { } -func (*awsEc2query_deserializeOpGetPasswordData) ID() string { +func (*awsEc2query_deserializeOpGetManagedPrefixListEntries) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetPasswordData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetManagedPrefixListEntries) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31067,9 +31067,9 @@ func (m *awsEc2query_deserializeOpGetPasswordData) HandleDeserialize(ctx context } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetPasswordData(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetManagedPrefixListEntries(response, &metadata) } - output := &GetPasswordDataOutput{} + output := &GetManagedPrefixListEntriesOutput{} out.Result = output var buff [1024]byte @@ -31090,7 +31090,7 @@ func (m *awsEc2query_deserializeOpGetPasswordData) HandleDeserialize(ctx context } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetPasswordDataOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetManagedPrefixListEntriesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31104,7 +31104,7 @@ func (m *awsEc2query_deserializeOpGetPasswordData) HandleDeserialize(ctx context return out, metadata, err } -func awsEc2query_deserializeOpErrorGetPasswordData(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetManagedPrefixListEntries(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31137,14 +31137,14 @@ func awsEc2query_deserializeOpErrorGetPasswordData(response *smithyhttp.Response } } -type awsEc2query_deserializeOpGetReservedInstancesExchangeQuote struct { +type awsEc2query_deserializeOpGetPasswordData struct { } -func (*awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) ID() string { +func (*awsEc2query_deserializeOpGetPasswordData) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetPasswordData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31158,9 +31158,9 @@ func (m *awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetReservedInstancesExchangeQuote(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetPasswordData(response, &metadata) } - output := &GetReservedInstancesExchangeQuoteOutput{} + output := &GetPasswordDataOutput{} out.Result = output var buff [1024]byte @@ -31181,7 +31181,7 @@ func (m *awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) HandleDeser } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetReservedInstancesExchangeQuoteOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetPasswordDataOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31195,7 +31195,7 @@ func (m *awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) HandleDeser return out, metadata, err } -func awsEc2query_deserializeOpErrorGetReservedInstancesExchangeQuote(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetPasswordData(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31228,14 +31228,14 @@ func awsEc2query_deserializeOpErrorGetReservedInstancesExchangeQuote(response *s } } -type awsEc2query_deserializeOpGetSerialConsoleAccessStatus struct { +type awsEc2query_deserializeOpGetReservedInstancesExchangeQuote struct { } -func (*awsEc2query_deserializeOpGetSerialConsoleAccessStatus) ID() string { +func (*awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetSerialConsoleAccessStatus) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetReservedInstancesExchangeQuote) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31249,9 +31249,9 @@ func (m *awsEc2query_deserializeOpGetSerialConsoleAccessStatus) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetSerialConsoleAccessStatus(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetReservedInstancesExchangeQuote(response, &metadata) } - output := &GetSerialConsoleAccessStatusOutput{} + output := &GetReservedInstancesExchangeQuoteOutput{} out.Result = output var buff [1024]byte @@ -31272,7 +31272,7 @@ func (m *awsEc2query_deserializeOpGetSerialConsoleAccessStatus) HandleDeserializ } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetSerialConsoleAccessStatusOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetReservedInstancesExchangeQuoteOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31286,7 +31286,7 @@ func (m *awsEc2query_deserializeOpGetSerialConsoleAccessStatus) HandleDeserializ return out, metadata, err } -func awsEc2query_deserializeOpErrorGetSerialConsoleAccessStatus(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetReservedInstancesExchangeQuote(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31319,14 +31319,14 @@ func awsEc2query_deserializeOpErrorGetSerialConsoleAccessStatus(response *smithy } } -type awsEc2query_deserializeOpGetSubnetCidrReservations struct { +type awsEc2query_deserializeOpGetSerialConsoleAccessStatus struct { } -func (*awsEc2query_deserializeOpGetSubnetCidrReservations) ID() string { +func (*awsEc2query_deserializeOpGetSerialConsoleAccessStatus) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetSubnetCidrReservations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetSerialConsoleAccessStatus) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31340,9 +31340,9 @@ func (m *awsEc2query_deserializeOpGetSubnetCidrReservations) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetSubnetCidrReservations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetSerialConsoleAccessStatus(response, &metadata) } - output := &GetSubnetCidrReservationsOutput{} + output := &GetSerialConsoleAccessStatusOutput{} out.Result = output var buff [1024]byte @@ -31363,7 +31363,7 @@ func (m *awsEc2query_deserializeOpGetSubnetCidrReservations) HandleDeserialize(c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetSubnetCidrReservationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetSerialConsoleAccessStatusOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31377,7 +31377,7 @@ func (m *awsEc2query_deserializeOpGetSubnetCidrReservations) HandleDeserialize(c return out, metadata, err } -func awsEc2query_deserializeOpErrorGetSubnetCidrReservations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetSerialConsoleAccessStatus(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31410,14 +31410,14 @@ func awsEc2query_deserializeOpErrorGetSubnetCidrReservations(response *smithyhtt } } -type awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations struct { +type awsEc2query_deserializeOpGetSpotPlacementScores struct { } -func (*awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) ID() string { +func (*awsEc2query_deserializeOpGetSpotPlacementScores) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetSpotPlacementScores) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31431,9 +31431,9 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) Handl } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayAttachmentPropagations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetSpotPlacementScores(response, &metadata) } - output := &GetTransitGatewayAttachmentPropagationsOutput{} + output := &GetSpotPlacementScoresOutput{} out.Result = output var buff [1024]byte @@ -31454,7 +31454,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) Handl } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetTransitGatewayAttachmentPropagationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetSpotPlacementScoresOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31468,7 +31468,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) Handl return out, metadata, err } -func awsEc2query_deserializeOpErrorGetTransitGatewayAttachmentPropagations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetSpotPlacementScores(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31501,14 +31501,14 @@ func awsEc2query_deserializeOpErrorGetTransitGatewayAttachmentPropagations(respo } } -type awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations struct { +type awsEc2query_deserializeOpGetSubnetCidrReservations struct { } -func (*awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) ID() string { +func (*awsEc2query_deserializeOpGetSubnetCidrReservations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetSubnetCidrReservations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31522,9 +31522,9 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayMulticastDomainAssociations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetSubnetCidrReservations(response, &metadata) } - output := &GetTransitGatewayMulticastDomainAssociationsOutput{} + output := &GetSubnetCidrReservationsOutput{} out.Result = output var buff [1024]byte @@ -31545,7 +31545,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetTransitGatewayMulticastDomainAssociationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetSubnetCidrReservationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31559,7 +31559,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) return out, metadata, err } -func awsEc2query_deserializeOpErrorGetTransitGatewayMulticastDomainAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetSubnetCidrReservations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31592,14 +31592,14 @@ func awsEc2query_deserializeOpErrorGetTransitGatewayMulticastDomainAssociations( } } -type awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences struct { +type awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations struct { } -func (*awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) ID() string { +func (*awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetTransitGatewayAttachmentPropagations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31613,9 +31613,9 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) HandleD } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayPrefixListReferences(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayAttachmentPropagations(response, &metadata) } - output := &GetTransitGatewayPrefixListReferencesOutput{} + output := &GetTransitGatewayAttachmentPropagationsOutput{} out.Result = output var buff [1024]byte @@ -31636,7 +31636,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) HandleD } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetTransitGatewayPrefixListReferencesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetTransitGatewayAttachmentPropagationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31650,7 +31650,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) HandleD return out, metadata, err } -func awsEc2query_deserializeOpErrorGetTransitGatewayPrefixListReferences(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetTransitGatewayAttachmentPropagations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31683,14 +31683,14 @@ func awsEc2query_deserializeOpErrorGetTransitGatewayPrefixListReferences(respons } } -type awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations struct { +type awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations struct { } -func (*awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) ID() string { +func (*awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetTransitGatewayMulticastDomainAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31704,9 +31704,9 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) Handl } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayRouteTableAssociations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayMulticastDomainAssociations(response, &metadata) } - output := &GetTransitGatewayRouteTableAssociationsOutput{} + output := &GetTransitGatewayMulticastDomainAssociationsOutput{} out.Result = output var buff [1024]byte @@ -31727,7 +31727,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) Handl } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetTransitGatewayRouteTableAssociationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetTransitGatewayMulticastDomainAssociationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31741,7 +31741,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) Handl return out, metadata, err } -func awsEc2query_deserializeOpErrorGetTransitGatewayRouteTableAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetTransitGatewayMulticastDomainAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31774,14 +31774,14 @@ func awsEc2query_deserializeOpErrorGetTransitGatewayRouteTableAssociations(respo } } -type awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations struct { +type awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences struct { } -func (*awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) ID() string { +func (*awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetTransitGatewayPrefixListReferences) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31795,9 +31795,9 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) Handl } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayRouteTablePropagations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayPrefixListReferences(response, &metadata) } - output := &GetTransitGatewayRouteTablePropagationsOutput{} + output := &GetTransitGatewayPrefixListReferencesOutput{} out.Result = output var buff [1024]byte @@ -31818,7 +31818,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) Handl } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetTransitGatewayRouteTablePropagationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetTransitGatewayPrefixListReferencesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31832,7 +31832,7 @@ func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) Handl return out, metadata, err } -func awsEc2query_deserializeOpErrorGetTransitGatewayRouteTablePropagations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetTransitGatewayPrefixListReferences(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31865,14 +31865,14 @@ func awsEc2query_deserializeOpErrorGetTransitGatewayRouteTablePropagations(respo } } -type awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration struct { +type awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations struct { } -func (*awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) ID() string { +func (*awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTableAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31886,9 +31886,9 @@ func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) Han } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetVpnConnectionDeviceSampleConfiguration(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayRouteTableAssociations(response, &metadata) } - output := &GetVpnConnectionDeviceSampleConfigurationOutput{} + output := &GetTransitGatewayRouteTableAssociationsOutput{} out.Result = output var buff [1024]byte @@ -31909,7 +31909,7 @@ func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) Han } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetVpnConnectionDeviceSampleConfigurationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetTransitGatewayRouteTableAssociationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -31923,7 +31923,7 @@ func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) Han return out, metadata, err } -func awsEc2query_deserializeOpErrorGetVpnConnectionDeviceSampleConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetTransitGatewayRouteTableAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -31956,14 +31956,14 @@ func awsEc2query_deserializeOpErrorGetVpnConnectionDeviceSampleConfiguration(res } } -type awsEc2query_deserializeOpGetVpnConnectionDeviceTypes struct { +type awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations struct { } -func (*awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) ID() string { +func (*awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetTransitGatewayRouteTablePropagations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -31977,9 +31977,9 @@ func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) HandleDeserialize } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorGetVpnConnectionDeviceTypes(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetTransitGatewayRouteTablePropagations(response, &metadata) } - output := &GetVpnConnectionDeviceTypesOutput{} + output := &GetTransitGatewayRouteTablePropagationsOutput{} out.Result = output var buff [1024]byte @@ -32000,7 +32000,7 @@ func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) HandleDeserialize } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentGetVpnConnectionDeviceTypesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetTransitGatewayRouteTablePropagationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32014,7 +32014,7 @@ func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) HandleDeserialize return out, metadata, err } -func awsEc2query_deserializeOpErrorGetVpnConnectionDeviceTypes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetTransitGatewayRouteTablePropagations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32047,14 +32047,14 @@ func awsEc2query_deserializeOpErrorGetVpnConnectionDeviceTypes(response *smithyh } } -type awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList struct { +type awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration struct { } -func (*awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList) ID() string { +func (*awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceSampleConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32068,9 +32068,9 @@ func (m *awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorImportClientVpnClientCertificateRevocationList(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetVpnConnectionDeviceSampleConfiguration(response, &metadata) } - output := &ImportClientVpnClientCertificateRevocationListOutput{} + output := &GetVpnConnectionDeviceSampleConfigurationOutput{} out.Result = output var buff [1024]byte @@ -32091,7 +32091,7 @@ func (m *awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentImportClientVpnClientCertificateRevocationListOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetVpnConnectionDeviceSampleConfigurationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32105,7 +32105,7 @@ func (m *awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList return out, metadata, err } -func awsEc2query_deserializeOpErrorImportClientVpnClientCertificateRevocationList(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetVpnConnectionDeviceSampleConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32138,14 +32138,14 @@ func awsEc2query_deserializeOpErrorImportClientVpnClientCertificateRevocationLis } } -type awsEc2query_deserializeOpImportImage struct { +type awsEc2query_deserializeOpGetVpnConnectionDeviceTypes struct { } -func (*awsEc2query_deserializeOpImportImage) ID() string { +func (*awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpImportImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpGetVpnConnectionDeviceTypes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32159,9 +32159,9 @@ func (m *awsEc2query_deserializeOpImportImage) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorImportImage(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorGetVpnConnectionDeviceTypes(response, &metadata) } - output := &ImportImageOutput{} + output := &GetVpnConnectionDeviceTypesOutput{} out.Result = output var buff [1024]byte @@ -32182,7 +32182,7 @@ func (m *awsEc2query_deserializeOpImportImage) HandleDeserialize(ctx context.Con } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentImportImageOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentGetVpnConnectionDeviceTypesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32196,7 +32196,7 @@ func (m *awsEc2query_deserializeOpImportImage) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsEc2query_deserializeOpErrorImportImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorGetVpnConnectionDeviceTypes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32229,14 +32229,14 @@ func awsEc2query_deserializeOpErrorImportImage(response *smithyhttp.Response, me } } -type awsEc2query_deserializeOpImportInstance struct { +type awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList struct { } -func (*awsEc2query_deserializeOpImportInstance) ID() string { +func (*awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpImportInstance) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpImportClientVpnClientCertificateRevocationList) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32250,9 +32250,9 @@ func (m *awsEc2query_deserializeOpImportInstance) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorImportInstance(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorImportClientVpnClientCertificateRevocationList(response, &metadata) } - output := &ImportInstanceOutput{} + output := &ImportClientVpnClientCertificateRevocationListOutput{} out.Result = output var buff [1024]byte @@ -32273,7 +32273,7 @@ func (m *awsEc2query_deserializeOpImportInstance) HandleDeserialize(ctx context. } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentImportInstanceOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentImportClientVpnClientCertificateRevocationListOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32287,7 +32287,7 @@ func (m *awsEc2query_deserializeOpImportInstance) HandleDeserialize(ctx context. return out, metadata, err } -func awsEc2query_deserializeOpErrorImportInstance(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorImportClientVpnClientCertificateRevocationList(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32320,14 +32320,14 @@ func awsEc2query_deserializeOpErrorImportInstance(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpImportKeyPair struct { +type awsEc2query_deserializeOpImportImage struct { } -func (*awsEc2query_deserializeOpImportKeyPair) ID() string { +func (*awsEc2query_deserializeOpImportImage) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpImportKeyPair) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpImportImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32341,9 +32341,9 @@ func (m *awsEc2query_deserializeOpImportKeyPair) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorImportKeyPair(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorImportImage(response, &metadata) } - output := &ImportKeyPairOutput{} + output := &ImportImageOutput{} out.Result = output var buff [1024]byte @@ -32364,7 +32364,7 @@ func (m *awsEc2query_deserializeOpImportKeyPair) HandleDeserialize(ctx context.C } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentImportKeyPairOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentImportImageOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32378,7 +32378,7 @@ func (m *awsEc2query_deserializeOpImportKeyPair) HandleDeserialize(ctx context.C return out, metadata, err } -func awsEc2query_deserializeOpErrorImportKeyPair(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorImportImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32411,14 +32411,14 @@ func awsEc2query_deserializeOpErrorImportKeyPair(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpImportSnapshot struct { +type awsEc2query_deserializeOpImportInstance struct { } -func (*awsEc2query_deserializeOpImportSnapshot) ID() string { +func (*awsEc2query_deserializeOpImportInstance) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpImportSnapshot) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpImportInstance) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32432,9 +32432,9 @@ func (m *awsEc2query_deserializeOpImportSnapshot) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorImportSnapshot(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorImportInstance(response, &metadata) } - output := &ImportSnapshotOutput{} + output := &ImportInstanceOutput{} out.Result = output var buff [1024]byte @@ -32455,7 +32455,7 @@ func (m *awsEc2query_deserializeOpImportSnapshot) HandleDeserialize(ctx context. } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentImportSnapshotOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentImportInstanceOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32469,7 +32469,7 @@ func (m *awsEc2query_deserializeOpImportSnapshot) HandleDeserialize(ctx context. return out, metadata, err } -func awsEc2query_deserializeOpErrorImportSnapshot(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorImportInstance(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32502,14 +32502,14 @@ func awsEc2query_deserializeOpErrorImportSnapshot(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpImportVolume struct { +type awsEc2query_deserializeOpImportKeyPair struct { } -func (*awsEc2query_deserializeOpImportVolume) ID() string { +func (*awsEc2query_deserializeOpImportKeyPair) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpImportVolume) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpImportKeyPair) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32523,9 +32523,9 @@ func (m *awsEc2query_deserializeOpImportVolume) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorImportVolume(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorImportKeyPair(response, &metadata) } - output := &ImportVolumeOutput{} + output := &ImportKeyPairOutput{} out.Result = output var buff [1024]byte @@ -32546,7 +32546,7 @@ func (m *awsEc2query_deserializeOpImportVolume) HandleDeserialize(ctx context.Co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentImportVolumeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentImportKeyPairOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32560,7 +32560,7 @@ func (m *awsEc2query_deserializeOpImportVolume) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsEc2query_deserializeOpErrorImportVolume(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorImportKeyPair(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32593,14 +32593,14 @@ func awsEc2query_deserializeOpErrorImportVolume(response *smithyhttp.Response, m } } -type awsEc2query_deserializeOpModifyAddressAttribute struct { +type awsEc2query_deserializeOpImportSnapshot struct { } -func (*awsEc2query_deserializeOpModifyAddressAttribute) ID() string { +func (*awsEc2query_deserializeOpImportSnapshot) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyAddressAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpImportSnapshot) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32614,9 +32614,9 @@ func (m *awsEc2query_deserializeOpModifyAddressAttribute) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyAddressAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorImportSnapshot(response, &metadata) } - output := &ModifyAddressAttributeOutput{} + output := &ImportSnapshotOutput{} out.Result = output var buff [1024]byte @@ -32637,7 +32637,7 @@ func (m *awsEc2query_deserializeOpModifyAddressAttribute) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyAddressAttributeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentImportSnapshotOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32651,7 +32651,7 @@ func (m *awsEc2query_deserializeOpModifyAddressAttribute) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyAddressAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorImportSnapshot(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32684,14 +32684,14 @@ func awsEc2query_deserializeOpErrorModifyAddressAttribute(response *smithyhttp.R } } -type awsEc2query_deserializeOpModifyAvailabilityZoneGroup struct { +type awsEc2query_deserializeOpImportVolume struct { } -func (*awsEc2query_deserializeOpModifyAvailabilityZoneGroup) ID() string { +func (*awsEc2query_deserializeOpImportVolume) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyAvailabilityZoneGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpImportVolume) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32705,9 +32705,9 @@ func (m *awsEc2query_deserializeOpModifyAvailabilityZoneGroup) HandleDeserialize } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyAvailabilityZoneGroup(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorImportVolume(response, &metadata) } - output := &ModifyAvailabilityZoneGroupOutput{} + output := &ImportVolumeOutput{} out.Result = output var buff [1024]byte @@ -32728,7 +32728,7 @@ func (m *awsEc2query_deserializeOpModifyAvailabilityZoneGroup) HandleDeserialize } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyAvailabilityZoneGroupOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentImportVolumeOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32742,7 +32742,7 @@ func (m *awsEc2query_deserializeOpModifyAvailabilityZoneGroup) HandleDeserialize return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyAvailabilityZoneGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorImportVolume(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32775,14 +32775,14 @@ func awsEc2query_deserializeOpErrorModifyAvailabilityZoneGroup(response *smithyh } } -type awsEc2query_deserializeOpModifyCapacityReservation struct { +type awsEc2query_deserializeOpModifyAddressAttribute struct { } -func (*awsEc2query_deserializeOpModifyCapacityReservation) ID() string { +func (*awsEc2query_deserializeOpModifyAddressAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyCapacityReservation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyAddressAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32796,9 +32796,9 @@ func (m *awsEc2query_deserializeOpModifyCapacityReservation) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyCapacityReservation(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyAddressAttribute(response, &metadata) } - output := &ModifyCapacityReservationOutput{} + output := &ModifyAddressAttributeOutput{} out.Result = output var buff [1024]byte @@ -32819,7 +32819,7 @@ func (m *awsEc2query_deserializeOpModifyCapacityReservation) HandleDeserialize(c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyCapacityReservationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyAddressAttributeOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32833,7 +32833,7 @@ func (m *awsEc2query_deserializeOpModifyCapacityReservation) HandleDeserialize(c return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyCapacityReservation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyAddressAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32866,14 +32866,14 @@ func awsEc2query_deserializeOpErrorModifyCapacityReservation(response *smithyhtt } } -type awsEc2query_deserializeOpModifyCapacityReservationFleet struct { +type awsEc2query_deserializeOpModifyAvailabilityZoneGroup struct { } -func (*awsEc2query_deserializeOpModifyCapacityReservationFleet) ID() string { +func (*awsEc2query_deserializeOpModifyAvailabilityZoneGroup) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyCapacityReservationFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyAvailabilityZoneGroup) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32887,9 +32887,9 @@ func (m *awsEc2query_deserializeOpModifyCapacityReservationFleet) HandleDeserial } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyCapacityReservationFleet(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyAvailabilityZoneGroup(response, &metadata) } - output := &ModifyCapacityReservationFleetOutput{} + output := &ModifyAvailabilityZoneGroupOutput{} out.Result = output var buff [1024]byte @@ -32910,7 +32910,7 @@ func (m *awsEc2query_deserializeOpModifyCapacityReservationFleet) HandleDeserial } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyCapacityReservationFleetOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyAvailabilityZoneGroupOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -32924,7 +32924,7 @@ func (m *awsEc2query_deserializeOpModifyCapacityReservationFleet) HandleDeserial return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyCapacityReservationFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyAvailabilityZoneGroup(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -32957,14 +32957,14 @@ func awsEc2query_deserializeOpErrorModifyCapacityReservationFleet(response *smit } } -type awsEc2query_deserializeOpModifyClientVpnEndpoint struct { +type awsEc2query_deserializeOpModifyCapacityReservation struct { } -func (*awsEc2query_deserializeOpModifyClientVpnEndpoint) ID() string { +func (*awsEc2query_deserializeOpModifyCapacityReservation) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyClientVpnEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyCapacityReservation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -32978,9 +32978,9 @@ func (m *awsEc2query_deserializeOpModifyClientVpnEndpoint) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyClientVpnEndpoint(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyCapacityReservation(response, &metadata) } - output := &ModifyClientVpnEndpointOutput{} + output := &ModifyCapacityReservationOutput{} out.Result = output var buff [1024]byte @@ -33001,7 +33001,7 @@ func (m *awsEc2query_deserializeOpModifyClientVpnEndpoint) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyClientVpnEndpointOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyCapacityReservationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33015,7 +33015,7 @@ func (m *awsEc2query_deserializeOpModifyClientVpnEndpoint) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyClientVpnEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyCapacityReservation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33048,14 +33048,14 @@ func awsEc2query_deserializeOpErrorModifyClientVpnEndpoint(response *smithyhttp. } } -type awsEc2query_deserializeOpModifyDefaultCreditSpecification struct { +type awsEc2query_deserializeOpModifyCapacityReservationFleet struct { } -func (*awsEc2query_deserializeOpModifyDefaultCreditSpecification) ID() string { +func (*awsEc2query_deserializeOpModifyCapacityReservationFleet) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyDefaultCreditSpecification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyCapacityReservationFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33069,9 +33069,9 @@ func (m *awsEc2query_deserializeOpModifyDefaultCreditSpecification) HandleDeseri } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyDefaultCreditSpecification(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyCapacityReservationFleet(response, &metadata) } - output := &ModifyDefaultCreditSpecificationOutput{} + output := &ModifyCapacityReservationFleetOutput{} out.Result = output var buff [1024]byte @@ -33092,7 +33092,7 @@ func (m *awsEc2query_deserializeOpModifyDefaultCreditSpecification) HandleDeseri } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyDefaultCreditSpecificationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyCapacityReservationFleetOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33106,7 +33106,7 @@ func (m *awsEc2query_deserializeOpModifyDefaultCreditSpecification) HandleDeseri return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyDefaultCreditSpecification(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyCapacityReservationFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33139,14 +33139,14 @@ func awsEc2query_deserializeOpErrorModifyDefaultCreditSpecification(response *sm } } -type awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId struct { +type awsEc2query_deserializeOpModifyClientVpnEndpoint struct { } -func (*awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) ID() string { +func (*awsEc2query_deserializeOpModifyClientVpnEndpoint) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyClientVpnEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33160,9 +33160,9 @@ func (m *awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyEbsDefaultKmsKeyId(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyClientVpnEndpoint(response, &metadata) } - output := &ModifyEbsDefaultKmsKeyIdOutput{} + output := &ModifyClientVpnEndpointOutput{} out.Result = output var buff [1024]byte @@ -33183,7 +33183,7 @@ func (m *awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) HandleDeserialize(ct } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyEbsDefaultKmsKeyIdOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyClientVpnEndpointOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33197,7 +33197,7 @@ func (m *awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) HandleDeserialize(ct return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyEbsDefaultKmsKeyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyClientVpnEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33230,14 +33230,14 @@ func awsEc2query_deserializeOpErrorModifyEbsDefaultKmsKeyId(response *smithyhttp } } -type awsEc2query_deserializeOpModifyFleet struct { +type awsEc2query_deserializeOpModifyDefaultCreditSpecification struct { } -func (*awsEc2query_deserializeOpModifyFleet) ID() string { +func (*awsEc2query_deserializeOpModifyDefaultCreditSpecification) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyDefaultCreditSpecification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33251,9 +33251,9 @@ func (m *awsEc2query_deserializeOpModifyFleet) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyFleet(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyDefaultCreditSpecification(response, &metadata) } - output := &ModifyFleetOutput{} + output := &ModifyDefaultCreditSpecificationOutput{} out.Result = output var buff [1024]byte @@ -33274,7 +33274,7 @@ func (m *awsEc2query_deserializeOpModifyFleet) HandleDeserialize(ctx context.Con } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyFleetOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyDefaultCreditSpecificationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33288,7 +33288,7 @@ func (m *awsEc2query_deserializeOpModifyFleet) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyDefaultCreditSpecification(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33321,14 +33321,14 @@ func awsEc2query_deserializeOpErrorModifyFleet(response *smithyhttp.Response, me } } -type awsEc2query_deserializeOpModifyFpgaImageAttribute struct { +type awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId struct { } -func (*awsEc2query_deserializeOpModifyFpgaImageAttribute) ID() string { +func (*awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyFpgaImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyEbsDefaultKmsKeyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33342,9 +33342,9 @@ func (m *awsEc2query_deserializeOpModifyFpgaImageAttribute) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyFpgaImageAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyEbsDefaultKmsKeyId(response, &metadata) } - output := &ModifyFpgaImageAttributeOutput{} + output := &ModifyEbsDefaultKmsKeyIdOutput{} out.Result = output var buff [1024]byte @@ -33365,7 +33365,7 @@ func (m *awsEc2query_deserializeOpModifyFpgaImageAttribute) HandleDeserialize(ct } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyFpgaImageAttributeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyEbsDefaultKmsKeyIdOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33379,7 +33379,7 @@ func (m *awsEc2query_deserializeOpModifyFpgaImageAttribute) HandleDeserialize(ct return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyFpgaImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyEbsDefaultKmsKeyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33412,14 +33412,14 @@ func awsEc2query_deserializeOpErrorModifyFpgaImageAttribute(response *smithyhttp } } -type awsEc2query_deserializeOpModifyHosts struct { +type awsEc2query_deserializeOpModifyFleet struct { } -func (*awsEc2query_deserializeOpModifyHosts) ID() string { +func (*awsEc2query_deserializeOpModifyFleet) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyHosts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33433,9 +33433,9 @@ func (m *awsEc2query_deserializeOpModifyHosts) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyHosts(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyFleet(response, &metadata) } - output := &ModifyHostsOutput{} + output := &ModifyFleetOutput{} out.Result = output var buff [1024]byte @@ -33456,7 +33456,7 @@ func (m *awsEc2query_deserializeOpModifyHosts) HandleDeserialize(ctx context.Con } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyHostsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyFleetOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33470,7 +33470,7 @@ func (m *awsEc2query_deserializeOpModifyHosts) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyHosts(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33503,14 +33503,14 @@ func awsEc2query_deserializeOpErrorModifyHosts(response *smithyhttp.Response, me } } -type awsEc2query_deserializeOpModifyIdentityIdFormat struct { +type awsEc2query_deserializeOpModifyFpgaImageAttribute struct { } -func (*awsEc2query_deserializeOpModifyIdentityIdFormat) ID() string { +func (*awsEc2query_deserializeOpModifyFpgaImageAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyIdentityIdFormat) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyFpgaImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33524,89 +33524,44 @@ func (m *awsEc2query_deserializeOpModifyIdentityIdFormat) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyIdentityIdFormat(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyFpgaImageAttribute(response, &metadata) } - output := &ModifyIdentityIdFormatOutput{} + output := &ModifyFpgaImageAttributeOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), - } - } - - return out, metadata, err -} - -func awsEc2query_deserializeOpErrorModifyIdentityIdFormat(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) if err != nil { - return err - } - awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) - if len(errorComponents.Code) != 0 { - errorCode = errorComponents.Code - } - if len(errorComponents.Message) != 0 { - errorMessage = errorComponents.Message - } - errorBody.Seek(0, io.SeekStart) - switch { - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } - return genericError - } -} -type awsEc2query_deserializeOpModifyIdFormat struct { -} - -func (*awsEc2query_deserializeOpModifyIdFormat) ID() string { - return "OperationDeserializer" -} - -func (m *awsEc2query_deserializeOpModifyIdFormat) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentModifyFpgaImageAttributeOutput(&output, decoder) if err != nil { - return out, metadata, err - } - - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyIdFormat(response, &metadata) - } - output := &ModifyIdFormatOutput{} - out.Result = output - - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyIdFormat(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyFpgaImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33639,14 +33594,14 @@ func awsEc2query_deserializeOpErrorModifyIdFormat(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpModifyImageAttribute struct { +type awsEc2query_deserializeOpModifyHosts struct { } -func (*awsEc2query_deserializeOpModifyImageAttribute) ID() string { +func (*awsEc2query_deserializeOpModifyHosts) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyHosts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33660,21 +33615,44 @@ func (m *awsEc2query_deserializeOpModifyImageAttribute) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyImageAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyHosts(response, &metadata) } - output := &ModifyImageAttributeOutput{} + output := &ModifyHostsOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentModifyHostsOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyHosts(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33707,14 +33685,14 @@ func awsEc2query_deserializeOpErrorModifyImageAttribute(response *smithyhttp.Res } } -type awsEc2query_deserializeOpModifyInstanceAttribute struct { +type awsEc2query_deserializeOpModifyIdentityIdFormat struct { } -func (*awsEc2query_deserializeOpModifyInstanceAttribute) ID() string { +func (*awsEc2query_deserializeOpModifyIdentityIdFormat) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstanceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyIdentityIdFormat) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33728,9 +33706,9 @@ func (m *awsEc2query_deserializeOpModifyInstanceAttribute) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyIdentityIdFormat(response, &metadata) } - output := &ModifyInstanceAttributeOutput{} + output := &ModifyIdentityIdFormatOutput{} out.Result = output if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { @@ -33742,7 +33720,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceAttribute) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstanceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyIdentityIdFormat(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33775,14 +33753,14 @@ func awsEc2query_deserializeOpErrorModifyInstanceAttribute(response *smithyhttp. } } -type awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes struct { +type awsEc2query_deserializeOpModifyIdFormat struct { } -func (*awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes) ID() string { +func (*awsEc2query_deserializeOpModifyIdFormat) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyIdFormat) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33796,44 +33774,157 @@ func (m *awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes) H } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceCapacityReservationAttributes(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyIdFormat(response, &metadata) } - output := &ModifyInstanceCapacityReservationAttributesOutput{} + output := &ModifyIdFormatOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorModifyIdFormat(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsEc2query_deserializeOpModifyImageAttribute struct { +} + +func (*awsEc2query_deserializeOpModifyImageAttribute) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpModifyImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorModifyImageAttribute(response, &metadata) + } + output := &ModifyImageAttributeOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } } - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyInstanceCapacityReservationAttributesOutput(&output, decoder) + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorModifyImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } + return genericError + + } +} + +type awsEc2query_deserializeOpModifyInstanceAttribute struct { +} + +func (*awsEc2query_deserializeOpModifyInstanceAttribute) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpModifyInstanceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { return out, metadata, err } + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceAttribute(response, &metadata) + } + output := &ModifyInstanceAttributeOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstanceCapacityReservationAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstanceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33866,14 +33957,14 @@ func awsEc2query_deserializeOpErrorModifyInstanceCapacityReservationAttributes(r } } -type awsEc2query_deserializeOpModifyInstanceCreditSpecification struct { +type awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes struct { } -func (*awsEc2query_deserializeOpModifyInstanceCreditSpecification) ID() string { +func (*awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstanceCreditSpecification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyInstanceCapacityReservationAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33887,9 +33978,9 @@ func (m *awsEc2query_deserializeOpModifyInstanceCreditSpecification) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceCreditSpecification(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceCapacityReservationAttributes(response, &metadata) } - output := &ModifyInstanceCreditSpecificationOutput{} + output := &ModifyInstanceCapacityReservationAttributesOutput{} out.Result = output var buff [1024]byte @@ -33910,7 +34001,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceCreditSpecification) HandleDeser } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyInstanceCreditSpecificationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyInstanceCapacityReservationAttributesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -33924,7 +34015,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceCreditSpecification) HandleDeser return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstanceCreditSpecification(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstanceCapacityReservationAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -33957,14 +34048,14 @@ func awsEc2query_deserializeOpErrorModifyInstanceCreditSpecification(response *s } } -type awsEc2query_deserializeOpModifyInstanceEventStartTime struct { +type awsEc2query_deserializeOpModifyInstanceCreditSpecification struct { } -func (*awsEc2query_deserializeOpModifyInstanceEventStartTime) ID() string { +func (*awsEc2query_deserializeOpModifyInstanceCreditSpecification) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstanceEventStartTime) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyInstanceCreditSpecification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -33978,9 +34069,9 @@ func (m *awsEc2query_deserializeOpModifyInstanceEventStartTime) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceEventStartTime(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceCreditSpecification(response, &metadata) } - output := &ModifyInstanceEventStartTimeOutput{} + output := &ModifyInstanceCreditSpecificationOutput{} out.Result = output var buff [1024]byte @@ -34001,7 +34092,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceEventStartTime) HandleDeserializ } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyInstanceEventStartTimeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyInstanceCreditSpecificationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34015,7 +34106,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceEventStartTime) HandleDeserializ return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstanceEventStartTime(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstanceCreditSpecification(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34048,14 +34139,14 @@ func awsEc2query_deserializeOpErrorModifyInstanceEventStartTime(response *smithy } } -type awsEc2query_deserializeOpModifyInstanceEventWindow struct { +type awsEc2query_deserializeOpModifyInstanceEventStartTime struct { } -func (*awsEc2query_deserializeOpModifyInstanceEventWindow) ID() string { +func (*awsEc2query_deserializeOpModifyInstanceEventStartTime) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstanceEventWindow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyInstanceEventStartTime) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34069,9 +34160,9 @@ func (m *awsEc2query_deserializeOpModifyInstanceEventWindow) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceEventWindow(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceEventStartTime(response, &metadata) } - output := &ModifyInstanceEventWindowOutput{} + output := &ModifyInstanceEventStartTimeOutput{} out.Result = output var buff [1024]byte @@ -34092,7 +34183,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceEventWindow) HandleDeserialize(c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyInstanceEventWindowOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyInstanceEventStartTimeOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34106,7 +34197,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceEventWindow) HandleDeserialize(c return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstanceEventWindow(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstanceEventStartTime(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34139,14 +34230,14 @@ func awsEc2query_deserializeOpErrorModifyInstanceEventWindow(response *smithyhtt } } -type awsEc2query_deserializeOpModifyInstanceMetadataOptions struct { +type awsEc2query_deserializeOpModifyInstanceEventWindow struct { } -func (*awsEc2query_deserializeOpModifyInstanceMetadataOptions) ID() string { +func (*awsEc2query_deserializeOpModifyInstanceEventWindow) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstanceMetadataOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyInstanceEventWindow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34160,9 +34251,9 @@ func (m *awsEc2query_deserializeOpModifyInstanceMetadataOptions) HandleDeseriali } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceMetadataOptions(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceEventWindow(response, &metadata) } - output := &ModifyInstanceMetadataOptionsOutput{} + output := &ModifyInstanceEventWindowOutput{} out.Result = output var buff [1024]byte @@ -34183,7 +34274,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceMetadataOptions) HandleDeseriali } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyInstanceMetadataOptionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyInstanceEventWindowOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34197,7 +34288,7 @@ func (m *awsEc2query_deserializeOpModifyInstanceMetadataOptions) HandleDeseriali return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstanceMetadataOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstanceEventWindow(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34230,14 +34321,14 @@ func awsEc2query_deserializeOpErrorModifyInstanceMetadataOptions(response *smith } } -type awsEc2query_deserializeOpModifyInstancePlacement struct { +type awsEc2query_deserializeOpModifyInstanceMetadataOptions struct { } -func (*awsEc2query_deserializeOpModifyInstancePlacement) ID() string { +func (*awsEc2query_deserializeOpModifyInstanceMetadataOptions) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyInstancePlacement) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyInstanceMetadataOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34251,9 +34342,9 @@ func (m *awsEc2query_deserializeOpModifyInstancePlacement) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyInstancePlacement(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyInstanceMetadataOptions(response, &metadata) } - output := &ModifyInstancePlacementOutput{} + output := &ModifyInstanceMetadataOptionsOutput{} out.Result = output var buff [1024]byte @@ -34274,7 +34365,7 @@ func (m *awsEc2query_deserializeOpModifyInstancePlacement) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyInstancePlacementOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyInstanceMetadataOptionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34288,7 +34379,7 @@ func (m *awsEc2query_deserializeOpModifyInstancePlacement) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyInstancePlacement(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstanceMetadataOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34321,14 +34412,14 @@ func awsEc2query_deserializeOpErrorModifyInstancePlacement(response *smithyhttp. } } -type awsEc2query_deserializeOpModifyLaunchTemplate struct { +type awsEc2query_deserializeOpModifyInstancePlacement struct { } -func (*awsEc2query_deserializeOpModifyLaunchTemplate) ID() string { +func (*awsEc2query_deserializeOpModifyInstancePlacement) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyLaunchTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyInstancePlacement) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34342,9 +34433,9 @@ func (m *awsEc2query_deserializeOpModifyLaunchTemplate) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyLaunchTemplate(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyInstancePlacement(response, &metadata) } - output := &ModifyLaunchTemplateOutput{} + output := &ModifyInstancePlacementOutput{} out.Result = output var buff [1024]byte @@ -34365,7 +34456,7 @@ func (m *awsEc2query_deserializeOpModifyLaunchTemplate) HandleDeserialize(ctx co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyLaunchTemplateOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyInstancePlacementOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34379,7 +34470,7 @@ func (m *awsEc2query_deserializeOpModifyLaunchTemplate) HandleDeserialize(ctx co return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyLaunchTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyInstancePlacement(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34412,14 +34503,14 @@ func awsEc2query_deserializeOpErrorModifyLaunchTemplate(response *smithyhttp.Res } } -type awsEc2query_deserializeOpModifyManagedPrefixList struct { +type awsEc2query_deserializeOpModifyLaunchTemplate struct { } -func (*awsEc2query_deserializeOpModifyManagedPrefixList) ID() string { +func (*awsEc2query_deserializeOpModifyLaunchTemplate) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyManagedPrefixList) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyLaunchTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34433,9 +34524,9 @@ func (m *awsEc2query_deserializeOpModifyManagedPrefixList) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyManagedPrefixList(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyLaunchTemplate(response, &metadata) } - output := &ModifyManagedPrefixListOutput{} + output := &ModifyLaunchTemplateOutput{} out.Result = output var buff [1024]byte @@ -34456,7 +34547,7 @@ func (m *awsEc2query_deserializeOpModifyManagedPrefixList) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyManagedPrefixListOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyLaunchTemplateOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34470,75 +34561,7 @@ func (m *awsEc2query_deserializeOpModifyManagedPrefixList) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyManagedPrefixList(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) - if err != nil { - return err - } - awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) - if len(errorComponents.Code) != 0 { - errorCode = errorComponents.Code - } - if len(errorComponents.Message) != 0 { - errorMessage = errorComponents.Message - } - errorBody.Seek(0, io.SeekStart) - switch { - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsEc2query_deserializeOpModifyNetworkInterfaceAttribute struct { -} - -func (*awsEc2query_deserializeOpModifyNetworkInterfaceAttribute) ID() string { - return "OperationDeserializer" -} - -func (m *awsEc2query_deserializeOpModifyNetworkInterfaceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyNetworkInterfaceAttribute(response, &metadata) - } - output := &ModifyNetworkInterfaceAttributeOutput{} - out.Result = output - - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), - } - } - - return out, metadata, err -} - -func awsEc2query_deserializeOpErrorModifyNetworkInterfaceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyLaunchTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34571,14 +34594,14 @@ func awsEc2query_deserializeOpErrorModifyNetworkInterfaceAttribute(response *smi } } -type awsEc2query_deserializeOpModifyReservedInstances struct { +type awsEc2query_deserializeOpModifyManagedPrefixList struct { } -func (*awsEc2query_deserializeOpModifyReservedInstances) ID() string { +func (*awsEc2query_deserializeOpModifyManagedPrefixList) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyReservedInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyManagedPrefixList) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34592,9 +34615,9 @@ func (m *awsEc2query_deserializeOpModifyReservedInstances) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyReservedInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyManagedPrefixList(response, &metadata) } - output := &ModifyReservedInstancesOutput{} + output := &ModifyManagedPrefixListOutput{} out.Result = output var buff [1024]byte @@ -34615,7 +34638,7 @@ func (m *awsEc2query_deserializeOpModifyReservedInstances) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyReservedInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyManagedPrefixListOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34629,7 +34652,7 @@ func (m *awsEc2query_deserializeOpModifyReservedInstances) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyReservedInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyManagedPrefixList(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34662,14 +34685,14 @@ func awsEc2query_deserializeOpErrorModifyReservedInstances(response *smithyhttp. } } -type awsEc2query_deserializeOpModifySecurityGroupRules struct { +type awsEc2query_deserializeOpModifyNetworkInterfaceAttribute struct { } -func (*awsEc2query_deserializeOpModifySecurityGroupRules) ID() string { +func (*awsEc2query_deserializeOpModifyNetworkInterfaceAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifySecurityGroupRules) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyNetworkInterfaceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34683,44 +34706,21 @@ func (m *awsEc2query_deserializeOpModifySecurityGroupRules) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifySecurityGroupRules(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyNetworkInterfaceAttribute(response, &metadata) } - output := &ModifySecurityGroupRulesOutput{} + output := &ModifyNetworkInterfaceAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifySecurityGroupRulesOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorModifySecurityGroupRules(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyNetworkInterfaceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34753,14 +34753,14 @@ func awsEc2query_deserializeOpErrorModifySecurityGroupRules(response *smithyhttp } } -type awsEc2query_deserializeOpModifySnapshotAttribute struct { +type awsEc2query_deserializeOpModifyReservedInstances struct { } -func (*awsEc2query_deserializeOpModifySnapshotAttribute) ID() string { +func (*awsEc2query_deserializeOpModifyReservedInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifySnapshotAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyReservedInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34774,21 +34774,44 @@ func (m *awsEc2query_deserializeOpModifySnapshotAttribute) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifySnapshotAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyReservedInstances(response, &metadata) } - output := &ModifySnapshotAttributeOutput{} + output := &ModifyReservedInstancesOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentModifyReservedInstancesOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorModifySnapshotAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyReservedInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34821,14 +34844,14 @@ func awsEc2query_deserializeOpErrorModifySnapshotAttribute(response *smithyhttp. } } -type awsEc2query_deserializeOpModifySpotFleetRequest struct { +type awsEc2query_deserializeOpModifySecurityGroupRules struct { } -func (*awsEc2query_deserializeOpModifySpotFleetRequest) ID() string { +func (*awsEc2query_deserializeOpModifySecurityGroupRules) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifySpotFleetRequest) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifySecurityGroupRules) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34842,9 +34865,9 @@ func (m *awsEc2query_deserializeOpModifySpotFleetRequest) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifySpotFleetRequest(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifySecurityGroupRules(response, &metadata) } - output := &ModifySpotFleetRequestOutput{} + output := &ModifySecurityGroupRulesOutput{} out.Result = output var buff [1024]byte @@ -34865,7 +34888,7 @@ func (m *awsEc2query_deserializeOpModifySpotFleetRequest) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifySpotFleetRequestOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifySecurityGroupRulesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -34879,7 +34902,7 @@ func (m *awsEc2query_deserializeOpModifySpotFleetRequest) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifySpotFleetRequest(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifySecurityGroupRules(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34912,14 +34935,14 @@ func awsEc2query_deserializeOpErrorModifySpotFleetRequest(response *smithyhttp.R } } -type awsEc2query_deserializeOpModifySubnetAttribute struct { +type awsEc2query_deserializeOpModifySnapshotAttribute struct { } -func (*awsEc2query_deserializeOpModifySubnetAttribute) ID() string { +func (*awsEc2query_deserializeOpModifySnapshotAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifySubnetAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifySnapshotAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -34933,9 +34956,9 @@ func (m *awsEc2query_deserializeOpModifySubnetAttribute) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifySubnetAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifySnapshotAttribute(response, &metadata) } - output := &ModifySubnetAttributeOutput{} + output := &ModifySnapshotAttributeOutput{} out.Result = output if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { @@ -34947,7 +34970,7 @@ func (m *awsEc2query_deserializeOpModifySubnetAttribute) HandleDeserialize(ctx c return out, metadata, err } -func awsEc2query_deserializeOpErrorModifySubnetAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifySnapshotAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -34980,14 +35003,14 @@ func awsEc2query_deserializeOpErrorModifySubnetAttribute(response *smithyhttp.Re } } -type awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices struct { +type awsEc2query_deserializeOpModifySpotFleetRequest struct { } -func (*awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) ID() string { +func (*awsEc2query_deserializeOpModifySpotFleetRequest) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifySpotFleetRequest) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35001,9 +35024,9 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) Hand } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterNetworkServices(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifySpotFleetRequest(response, &metadata) } - output := &ModifyTrafficMirrorFilterNetworkServicesOutput{} + output := &ModifySpotFleetRequestOutput{} out.Result = output var buff [1024]byte @@ -35024,7 +35047,7 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) Hand } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyTrafficMirrorFilterNetworkServicesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifySpotFleetRequestOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35038,7 +35061,7 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) Hand return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterNetworkServices(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifySpotFleetRequest(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35071,14 +35094,14 @@ func awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterNetworkServices(resp } } -type awsEc2query_deserializeOpModifyTrafficMirrorFilterRule struct { +type awsEc2query_deserializeOpModifySubnetAttribute struct { } -func (*awsEc2query_deserializeOpModifyTrafficMirrorFilterRule) ID() string { +func (*awsEc2query_deserializeOpModifySubnetAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifySubnetAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35092,44 +35115,21 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterRule) HandleDeseriali } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterRule(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifySubnetAttribute(response, &metadata) } - output := &ModifyTrafficMirrorFilterRuleOutput{} + output := &ModifySubnetAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyTrafficMirrorFilterRuleOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifySubnetAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35162,14 +35162,14 @@ func awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterRule(response *smith } } -type awsEc2query_deserializeOpModifyTrafficMirrorSession struct { +type awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices struct { } -func (*awsEc2query_deserializeOpModifyTrafficMirrorSession) ID() string { +func (*awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyTrafficMirrorSession) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterNetworkServices) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35183,9 +35183,9 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorSession) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyTrafficMirrorSession(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterNetworkServices(response, &metadata) } - output := &ModifyTrafficMirrorSessionOutput{} + output := &ModifyTrafficMirrorFilterNetworkServicesOutput{} out.Result = output var buff [1024]byte @@ -35206,7 +35206,7 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorSession) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyTrafficMirrorSessionOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyTrafficMirrorFilterNetworkServicesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35220,7 +35220,7 @@ func (m *awsEc2query_deserializeOpModifyTrafficMirrorSession) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyTrafficMirrorSession(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterNetworkServices(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35253,14 +35253,14 @@ func awsEc2query_deserializeOpErrorModifyTrafficMirrorSession(response *smithyht } } -type awsEc2query_deserializeOpModifyTransitGateway struct { +type awsEc2query_deserializeOpModifyTrafficMirrorFilterRule struct { } -func (*awsEc2query_deserializeOpModifyTransitGateway) ID() string { +func (*awsEc2query_deserializeOpModifyTrafficMirrorFilterRule) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyTransitGateway) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyTrafficMirrorFilterRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35274,9 +35274,9 @@ func (m *awsEc2query_deserializeOpModifyTransitGateway) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyTransitGateway(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterRule(response, &metadata) } - output := &ModifyTransitGatewayOutput{} + output := &ModifyTrafficMirrorFilterRuleOutput{} out.Result = output var buff [1024]byte @@ -35297,7 +35297,7 @@ func (m *awsEc2query_deserializeOpModifyTransitGateway) HandleDeserialize(ctx co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyTransitGatewayOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyTrafficMirrorFilterRuleOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35311,7 +35311,7 @@ func (m *awsEc2query_deserializeOpModifyTransitGateway) HandleDeserialize(ctx co return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyTransitGateway(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyTrafficMirrorFilterRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35344,14 +35344,14 @@ func awsEc2query_deserializeOpErrorModifyTransitGateway(response *smithyhttp.Res } } -type awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference struct { +type awsEc2query_deserializeOpModifyTrafficMirrorSession struct { } -func (*awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) ID() string { +func (*awsEc2query_deserializeOpModifyTrafficMirrorSession) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyTrafficMirrorSession) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35365,9 +35365,9 @@ func (m *awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) Handl } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyTransitGatewayPrefixListReference(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyTrafficMirrorSession(response, &metadata) } - output := &ModifyTransitGatewayPrefixListReferenceOutput{} + output := &ModifyTrafficMirrorSessionOutput{} out.Result = output var buff [1024]byte @@ -35388,7 +35388,7 @@ func (m *awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) Handl } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyTransitGatewayPrefixListReferenceOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyTrafficMirrorSessionOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35402,7 +35402,7 @@ func (m *awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) Handl return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyTransitGatewayPrefixListReference(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyTrafficMirrorSession(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35435,14 +35435,14 @@ func awsEc2query_deserializeOpErrorModifyTransitGatewayPrefixListReference(respo } } -type awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment struct { +type awsEc2query_deserializeOpModifyTransitGateway struct { } -func (*awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) ID() string { +func (*awsEc2query_deserializeOpModifyTransitGateway) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyTransitGateway) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35456,9 +35456,9 @@ func (m *awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyTransitGatewayVpcAttachment(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyTransitGateway(response, &metadata) } - output := &ModifyTransitGatewayVpcAttachmentOutput{} + output := &ModifyTransitGatewayOutput{} out.Result = output var buff [1024]byte @@ -35479,7 +35479,7 @@ func (m *awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) HandleDeser } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyTransitGatewayVpcAttachmentOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyTransitGatewayOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35493,7 +35493,7 @@ func (m *awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) HandleDeser return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyTransitGatewayVpcAttachment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyTransitGateway(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35526,14 +35526,14 @@ func awsEc2query_deserializeOpErrorModifyTransitGatewayVpcAttachment(response *s } } -type awsEc2query_deserializeOpModifyVolume struct { +type awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference struct { } -func (*awsEc2query_deserializeOpModifyVolume) ID() string { +func (*awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVolume) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyTransitGatewayPrefixListReference) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35547,9 +35547,9 @@ func (m *awsEc2query_deserializeOpModifyVolume) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVolume(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyTransitGatewayPrefixListReference(response, &metadata) } - output := &ModifyVolumeOutput{} + output := &ModifyTransitGatewayPrefixListReferenceOutput{} out.Result = output var buff [1024]byte @@ -35570,7 +35570,7 @@ func (m *awsEc2query_deserializeOpModifyVolume) HandleDeserialize(ctx context.Co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVolumeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyTransitGatewayPrefixListReferenceOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35584,7 +35584,7 @@ func (m *awsEc2query_deserializeOpModifyVolume) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVolume(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyTransitGatewayPrefixListReference(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35617,14 +35617,14 @@ func awsEc2query_deserializeOpErrorModifyVolume(response *smithyhttp.Response, m } } -type awsEc2query_deserializeOpModifyVolumeAttribute struct { +type awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment struct { } -func (*awsEc2query_deserializeOpModifyVolumeAttribute) ID() string { +func (*awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVolumeAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyTransitGatewayVpcAttachment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35638,89 +35638,44 @@ func (m *awsEc2query_deserializeOpModifyVolumeAttribute) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVolumeAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyTransitGatewayVpcAttachment(response, &metadata) } - output := &ModifyVolumeAttributeOutput{} + output := &ModifyTransitGatewayVpcAttachmentOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), - } - } - - return out, metadata, err -} - -func awsEc2query_deserializeOpErrorModifyVolumeAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) if err != nil { - return err - } - awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) - if len(errorComponents.Code) != 0 { - errorCode = errorComponents.Code - } - if len(errorComponents.Message) != 0 { - errorMessage = errorComponents.Message - } - errorBody.Seek(0, io.SeekStart) - switch { - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } - return genericError - } -} - -type awsEc2query_deserializeOpModifyVpcAttribute struct { -} - -func (*awsEc2query_deserializeOpModifyVpcAttribute) ID() string { - return "OperationDeserializer" -} -func (m *awsEc2query_deserializeOpModifyVpcAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentModifyTransitGatewayVpcAttachmentOutput(&output, decoder) if err != nil { - return out, metadata, err - } - - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcAttribute(response, &metadata) - } - output := &ModifyVpcAttributeOutput{} - out.Result = output - - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyTransitGatewayVpcAttachment(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35753,14 +35708,14 @@ func awsEc2query_deserializeOpErrorModifyVpcAttribute(response *smithyhttp.Respo } } -type awsEc2query_deserializeOpModifyVpcEndpoint struct { +type awsEc2query_deserializeOpModifyVolume struct { } -func (*awsEc2query_deserializeOpModifyVpcEndpoint) ID() string { +func (*awsEc2query_deserializeOpModifyVolume) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpcEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVolume) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35774,9 +35729,9 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpoint) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpoint(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVolume(response, &metadata) } - output := &ModifyVpcEndpointOutput{} + output := &ModifyVolumeOutput{} out.Result = output var buff [1024]byte @@ -35797,7 +35752,7 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpoint) HandleDeserialize(ctx conte } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpcEndpointOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVolumeOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -35811,7 +35766,7 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpoint) HandleDeserialize(ctx conte return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVolume(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35844,14 +35799,14 @@ func awsEc2query_deserializeOpErrorModifyVpcEndpoint(response *smithyhttp.Respon } } -type awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification struct { +type awsEc2query_deserializeOpModifyVolumeAttribute struct { } -func (*awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification) ID() string { +func (*awsEc2query_deserializeOpModifyVolumeAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVolumeAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35865,44 +35820,21 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification) Handl } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpointConnectionNotification(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVolumeAttribute(response, &metadata) } - output := &ModifyVpcEndpointConnectionNotificationOutput{} + output := &ModifyVolumeAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpcEndpointConnectionNotificationOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcEndpointConnectionNotification(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVolumeAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -35935,14 +35867,14 @@ func awsEc2query_deserializeOpErrorModifyVpcEndpointConnectionNotification(respo } } -type awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration struct { +type awsEc2query_deserializeOpModifyVpcAttribute struct { } -func (*awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration) ID() string { +func (*awsEc2query_deserializeOpModifyVpcAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -35956,44 +35888,21 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration) HandleD } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpointServiceConfiguration(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcAttribute(response, &metadata) } - output := &ModifyVpcEndpointServiceConfigurationOutput{} + output := &ModifyVpcAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpcEndpointServiceConfigurationOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcEndpointServiceConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36026,14 +35935,14 @@ func awsEc2query_deserializeOpErrorModifyVpcEndpointServiceConfiguration(respons } } -type awsEc2query_deserializeOpModifyVpcEndpointServicePermissions struct { +type awsEc2query_deserializeOpModifyVpcEndpoint struct { } -func (*awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) ID() string { +func (*awsEc2query_deserializeOpModifyVpcEndpoint) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36047,9 +35956,9 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) HandleDes } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpointServicePermissions(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpoint(response, &metadata) } - output := &ModifyVpcEndpointServicePermissionsOutput{} + output := &ModifyVpcEndpointOutput{} out.Result = output var buff [1024]byte @@ -36070,7 +35979,7 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) HandleDes } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpcEndpointServicePermissionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpcEndpointOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36084,7 +35993,7 @@ func (m *awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) HandleDes return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcEndpointServicePermissions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36117,14 +36026,14 @@ func awsEc2query_deserializeOpErrorModifyVpcEndpointServicePermissions(response } } -type awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions struct { +type awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification struct { } -func (*awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) ID() string { +func (*awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcEndpointConnectionNotification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36138,9 +36047,9 @@ func (m *awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcPeeringConnectionOptions(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpointConnectionNotification(response, &metadata) } - output := &ModifyVpcPeeringConnectionOptionsOutput{} + output := &ModifyVpcEndpointConnectionNotificationOutput{} out.Result = output var buff [1024]byte @@ -36161,7 +36070,7 @@ func (m *awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) HandleDeser } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpcPeeringConnectionOptionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpcEndpointConnectionNotificationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36175,7 +36084,7 @@ func (m *awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) HandleDeser return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcPeeringConnectionOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcEndpointConnectionNotification(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36208,14 +36117,14 @@ func awsEc2query_deserializeOpErrorModifyVpcPeeringConnectionOptions(response *s } } -type awsEc2query_deserializeOpModifyVpcTenancy struct { +type awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration struct { } -func (*awsEc2query_deserializeOpModifyVpcTenancy) ID() string { +func (*awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpcTenancy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcEndpointServiceConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36229,9 +36138,9 @@ func (m *awsEc2query_deserializeOpModifyVpcTenancy) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpcTenancy(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpointServiceConfiguration(response, &metadata) } - output := &ModifyVpcTenancyOutput{} + output := &ModifyVpcEndpointServiceConfigurationOutput{} out.Result = output var buff [1024]byte @@ -36252,7 +36161,7 @@ func (m *awsEc2query_deserializeOpModifyVpcTenancy) HandleDeserialize(ctx contex } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpcTenancyOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpcEndpointServiceConfigurationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36266,7 +36175,7 @@ func (m *awsEc2query_deserializeOpModifyVpcTenancy) HandleDeserialize(ctx contex return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpcTenancy(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcEndpointServiceConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36299,14 +36208,14 @@ func awsEc2query_deserializeOpErrorModifyVpcTenancy(response *smithyhttp.Respons } } -type awsEc2query_deserializeOpModifyVpnConnection struct { +type awsEc2query_deserializeOpModifyVpcEndpointServicePermissions struct { } -func (*awsEc2query_deserializeOpModifyVpnConnection) ID() string { +func (*awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpnConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcEndpointServicePermissions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36320,9 +36229,9 @@ func (m *awsEc2query_deserializeOpModifyVpnConnection) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpnConnection(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcEndpointServicePermissions(response, &metadata) } - output := &ModifyVpnConnectionOutput{} + output := &ModifyVpcEndpointServicePermissionsOutput{} out.Result = output var buff [1024]byte @@ -36343,7 +36252,7 @@ func (m *awsEc2query_deserializeOpModifyVpnConnection) HandleDeserialize(ctx con } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpnConnectionOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpcEndpointServicePermissionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36357,7 +36266,7 @@ func (m *awsEc2query_deserializeOpModifyVpnConnection) HandleDeserialize(ctx con return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpnConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcEndpointServicePermissions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36390,14 +36299,14 @@ func awsEc2query_deserializeOpErrorModifyVpnConnection(response *smithyhttp.Resp } } -type awsEc2query_deserializeOpModifyVpnConnectionOptions struct { +type awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions struct { } -func (*awsEc2query_deserializeOpModifyVpnConnectionOptions) ID() string { +func (*awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpnConnectionOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcPeeringConnectionOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36411,9 +36320,9 @@ func (m *awsEc2query_deserializeOpModifyVpnConnectionOptions) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpnConnectionOptions(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcPeeringConnectionOptions(response, &metadata) } - output := &ModifyVpnConnectionOptionsOutput{} + output := &ModifyVpcPeeringConnectionOptionsOutput{} out.Result = output var buff [1024]byte @@ -36434,7 +36343,7 @@ func (m *awsEc2query_deserializeOpModifyVpnConnectionOptions) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpnConnectionOptionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpcPeeringConnectionOptionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36448,7 +36357,7 @@ func (m *awsEc2query_deserializeOpModifyVpnConnectionOptions) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpnConnectionOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcPeeringConnectionOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36481,14 +36390,14 @@ func awsEc2query_deserializeOpErrorModifyVpnConnectionOptions(response *smithyht } } -type awsEc2query_deserializeOpModifyVpnTunnelCertificate struct { +type awsEc2query_deserializeOpModifyVpcTenancy struct { } -func (*awsEc2query_deserializeOpModifyVpnTunnelCertificate) ID() string { +func (*awsEc2query_deserializeOpModifyVpcTenancy) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpnTunnelCertificate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpcTenancy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36502,9 +36411,9 @@ func (m *awsEc2query_deserializeOpModifyVpnTunnelCertificate) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpnTunnelCertificate(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpcTenancy(response, &metadata) } - output := &ModifyVpnTunnelCertificateOutput{} + output := &ModifyVpcTenancyOutput{} out.Result = output var buff [1024]byte @@ -36525,7 +36434,7 @@ func (m *awsEc2query_deserializeOpModifyVpnTunnelCertificate) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpnTunnelCertificateOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpcTenancyOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36539,7 +36448,7 @@ func (m *awsEc2query_deserializeOpModifyVpnTunnelCertificate) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpnTunnelCertificate(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpcTenancy(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36572,14 +36481,14 @@ func awsEc2query_deserializeOpErrorModifyVpnTunnelCertificate(response *smithyht } } -type awsEc2query_deserializeOpModifyVpnTunnelOptions struct { +type awsEc2query_deserializeOpModifyVpnConnection struct { } -func (*awsEc2query_deserializeOpModifyVpnTunnelOptions) ID() string { +func (*awsEc2query_deserializeOpModifyVpnConnection) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpModifyVpnTunnelOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpnConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36593,9 +36502,9 @@ func (m *awsEc2query_deserializeOpModifyVpnTunnelOptions) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorModifyVpnTunnelOptions(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpnConnection(response, &metadata) } - output := &ModifyVpnTunnelOptionsOutput{} + output := &ModifyVpnConnectionOutput{} out.Result = output var buff [1024]byte @@ -36616,7 +36525,7 @@ func (m *awsEc2query_deserializeOpModifyVpnTunnelOptions) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentModifyVpnTunnelOptionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpnConnectionOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36630,7 +36539,7 @@ func (m *awsEc2query_deserializeOpModifyVpnTunnelOptions) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorModifyVpnTunnelOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpnConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36663,14 +36572,14 @@ func awsEc2query_deserializeOpErrorModifyVpnTunnelOptions(response *smithyhttp.R } } -type awsEc2query_deserializeOpMonitorInstances struct { +type awsEc2query_deserializeOpModifyVpnConnectionOptions struct { } -func (*awsEc2query_deserializeOpMonitorInstances) ID() string { +func (*awsEc2query_deserializeOpModifyVpnConnectionOptions) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpMonitorInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpnConnectionOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36684,9 +36593,9 @@ func (m *awsEc2query_deserializeOpMonitorInstances) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorMonitorInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpnConnectionOptions(response, &metadata) } - output := &MonitorInstancesOutput{} + output := &ModifyVpnConnectionOptionsOutput{} out.Result = output var buff [1024]byte @@ -36707,7 +36616,7 @@ func (m *awsEc2query_deserializeOpMonitorInstances) HandleDeserialize(ctx contex } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentMonitorInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpnConnectionOptionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36721,7 +36630,7 @@ func (m *awsEc2query_deserializeOpMonitorInstances) HandleDeserialize(ctx contex return out, metadata, err } -func awsEc2query_deserializeOpErrorMonitorInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpnConnectionOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36754,14 +36663,14 @@ func awsEc2query_deserializeOpErrorMonitorInstances(response *smithyhttp.Respons } } -type awsEc2query_deserializeOpMoveAddressToVpc struct { +type awsEc2query_deserializeOpModifyVpnTunnelCertificate struct { } -func (*awsEc2query_deserializeOpMoveAddressToVpc) ID() string { +func (*awsEc2query_deserializeOpModifyVpnTunnelCertificate) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpMoveAddressToVpc) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpnTunnelCertificate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36775,9 +36684,9 @@ func (m *awsEc2query_deserializeOpMoveAddressToVpc) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorMoveAddressToVpc(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpnTunnelCertificate(response, &metadata) } - output := &MoveAddressToVpcOutput{} + output := &ModifyVpnTunnelCertificateOutput{} out.Result = output var buff [1024]byte @@ -36798,7 +36707,7 @@ func (m *awsEc2query_deserializeOpMoveAddressToVpc) HandleDeserialize(ctx contex } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentMoveAddressToVpcOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpnTunnelCertificateOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36812,7 +36721,7 @@ func (m *awsEc2query_deserializeOpMoveAddressToVpc) HandleDeserialize(ctx contex return out, metadata, err } -func awsEc2query_deserializeOpErrorMoveAddressToVpc(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpnTunnelCertificate(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36845,14 +36754,14 @@ func awsEc2query_deserializeOpErrorMoveAddressToVpc(response *smithyhttp.Respons } } -type awsEc2query_deserializeOpProvisionByoipCidr struct { +type awsEc2query_deserializeOpModifyVpnTunnelOptions struct { } -func (*awsEc2query_deserializeOpProvisionByoipCidr) ID() string { +func (*awsEc2query_deserializeOpModifyVpnTunnelOptions) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpProvisionByoipCidr) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpModifyVpnTunnelOptions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36866,9 +36775,9 @@ func (m *awsEc2query_deserializeOpProvisionByoipCidr) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorProvisionByoipCidr(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorModifyVpnTunnelOptions(response, &metadata) } - output := &ProvisionByoipCidrOutput{} + output := &ModifyVpnTunnelOptionsOutput{} out.Result = output var buff [1024]byte @@ -36889,7 +36798,7 @@ func (m *awsEc2query_deserializeOpProvisionByoipCidr) HandleDeserialize(ctx cont } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentProvisionByoipCidrOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentModifyVpnTunnelOptionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36903,7 +36812,7 @@ func (m *awsEc2query_deserializeOpProvisionByoipCidr) HandleDeserialize(ctx cont return out, metadata, err } -func awsEc2query_deserializeOpErrorProvisionByoipCidr(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorModifyVpnTunnelOptions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -36936,14 +36845,14 @@ func awsEc2query_deserializeOpErrorProvisionByoipCidr(response *smithyhttp.Respo } } -type awsEc2query_deserializeOpPurchaseHostReservation struct { +type awsEc2query_deserializeOpMonitorInstances struct { } -func (*awsEc2query_deserializeOpPurchaseHostReservation) ID() string { +func (*awsEc2query_deserializeOpMonitorInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpPurchaseHostReservation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpMonitorInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -36957,9 +36866,9 @@ func (m *awsEc2query_deserializeOpPurchaseHostReservation) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorPurchaseHostReservation(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorMonitorInstances(response, &metadata) } - output := &PurchaseHostReservationOutput{} + output := &MonitorInstancesOutput{} out.Result = output var buff [1024]byte @@ -36980,7 +36889,7 @@ func (m *awsEc2query_deserializeOpPurchaseHostReservation) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentPurchaseHostReservationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentMonitorInstancesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -36994,7 +36903,7 @@ func (m *awsEc2query_deserializeOpPurchaseHostReservation) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorPurchaseHostReservation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorMonitorInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37027,14 +36936,14 @@ func awsEc2query_deserializeOpErrorPurchaseHostReservation(response *smithyhttp. } } -type awsEc2query_deserializeOpPurchaseReservedInstancesOffering struct { +type awsEc2query_deserializeOpMoveAddressToVpc struct { } -func (*awsEc2query_deserializeOpPurchaseReservedInstancesOffering) ID() string { +func (*awsEc2query_deserializeOpMoveAddressToVpc) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpPurchaseReservedInstancesOffering) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpMoveAddressToVpc) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37048,9 +36957,9 @@ func (m *awsEc2query_deserializeOpPurchaseReservedInstancesOffering) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorPurchaseReservedInstancesOffering(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorMoveAddressToVpc(response, &metadata) } - output := &PurchaseReservedInstancesOfferingOutput{} + output := &MoveAddressToVpcOutput{} out.Result = output var buff [1024]byte @@ -37071,7 +36980,7 @@ func (m *awsEc2query_deserializeOpPurchaseReservedInstancesOffering) HandleDeser } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentPurchaseReservedInstancesOfferingOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentMoveAddressToVpcOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37085,7 +36994,7 @@ func (m *awsEc2query_deserializeOpPurchaseReservedInstancesOffering) HandleDeser return out, metadata, err } -func awsEc2query_deserializeOpErrorPurchaseReservedInstancesOffering(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorMoveAddressToVpc(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37118,14 +37027,14 @@ func awsEc2query_deserializeOpErrorPurchaseReservedInstancesOffering(response *s } } -type awsEc2query_deserializeOpPurchaseScheduledInstances struct { +type awsEc2query_deserializeOpProvisionByoipCidr struct { } -func (*awsEc2query_deserializeOpPurchaseScheduledInstances) ID() string { +func (*awsEc2query_deserializeOpProvisionByoipCidr) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpPurchaseScheduledInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpProvisionByoipCidr) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37139,9 +37048,9 @@ func (m *awsEc2query_deserializeOpPurchaseScheduledInstances) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorPurchaseScheduledInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorProvisionByoipCidr(response, &metadata) } - output := &PurchaseScheduledInstancesOutput{} + output := &ProvisionByoipCidrOutput{} out.Result = output var buff [1024]byte @@ -37162,7 +37071,7 @@ func (m *awsEc2query_deserializeOpPurchaseScheduledInstances) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentPurchaseScheduledInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentProvisionByoipCidrOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37176,75 +37085,7 @@ func (m *awsEc2query_deserializeOpPurchaseScheduledInstances) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorPurchaseScheduledInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) - if err != nil { - return err - } - awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) - if len(errorComponents.Code) != 0 { - errorCode = errorComponents.Code - } - if len(errorComponents.Message) != 0 { - errorMessage = errorComponents.Message - } - errorBody.Seek(0, io.SeekStart) - switch { - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsEc2query_deserializeOpRebootInstances struct { -} - -func (*awsEc2query_deserializeOpRebootInstances) ID() string { - return "OperationDeserializer" -} - -func (m *awsEc2query_deserializeOpRebootInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRebootInstances(response, &metadata) - } - output := &RebootInstancesOutput{} - out.Result = output - - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), - } - } - - return out, metadata, err -} - -func awsEc2query_deserializeOpErrorRebootInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorProvisionByoipCidr(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37277,14 +37118,14 @@ func awsEc2query_deserializeOpErrorRebootInstances(response *smithyhttp.Response } } -type awsEc2query_deserializeOpRegisterImage struct { +type awsEc2query_deserializeOpPurchaseHostReservation struct { } -func (*awsEc2query_deserializeOpRegisterImage) ID() string { +func (*awsEc2query_deserializeOpPurchaseHostReservation) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRegisterImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpPurchaseHostReservation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37298,9 +37139,9 @@ func (m *awsEc2query_deserializeOpRegisterImage) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRegisterImage(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorPurchaseHostReservation(response, &metadata) } - output := &RegisterImageOutput{} + output := &PurchaseHostReservationOutput{} out.Result = output var buff [1024]byte @@ -37321,7 +37162,7 @@ func (m *awsEc2query_deserializeOpRegisterImage) HandleDeserialize(ctx context.C } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRegisterImageOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentPurchaseHostReservationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37335,7 +37176,7 @@ func (m *awsEc2query_deserializeOpRegisterImage) HandleDeserialize(ctx context.C return out, metadata, err } -func awsEc2query_deserializeOpErrorRegisterImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorPurchaseHostReservation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37368,14 +37209,14 @@ func awsEc2query_deserializeOpErrorRegisterImage(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes struct { +type awsEc2query_deserializeOpPurchaseReservedInstancesOffering struct { } -func (*awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) ID() string { +func (*awsEc2query_deserializeOpPurchaseReservedInstancesOffering) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpPurchaseReservedInstancesOffering) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37389,9 +37230,9 @@ func (m *awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) H } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRegisterInstanceEventNotificationAttributes(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorPurchaseReservedInstancesOffering(response, &metadata) } - output := &RegisterInstanceEventNotificationAttributesOutput{} + output := &PurchaseReservedInstancesOfferingOutput{} out.Result = output var buff [1024]byte @@ -37412,7 +37253,7 @@ func (m *awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) H } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRegisterInstanceEventNotificationAttributesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentPurchaseReservedInstancesOfferingOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37426,7 +37267,7 @@ func (m *awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) H return out, metadata, err } -func awsEc2query_deserializeOpErrorRegisterInstanceEventNotificationAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorPurchaseReservedInstancesOffering(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37459,14 +37300,14 @@ func awsEc2query_deserializeOpErrorRegisterInstanceEventNotificationAttributes(r } } -type awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers struct { +type awsEc2query_deserializeOpPurchaseScheduledInstances struct { } -func (*awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) ID() string { +func (*awsEc2query_deserializeOpPurchaseScheduledInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpPurchaseScheduledInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37480,9 +37321,9 @@ func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) H } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupMembers(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorPurchaseScheduledInstances(response, &metadata) } - output := &RegisterTransitGatewayMulticastGroupMembersOutput{} + output := &PurchaseScheduledInstancesOutput{} out.Result = output var buff [1024]byte @@ -37503,7 +37344,7 @@ func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) H } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRegisterTransitGatewayMulticastGroupMembersOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentPurchaseScheduledInstancesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37517,7 +37358,7 @@ func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) H return out, metadata, err } -func awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupMembers(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorPurchaseScheduledInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37550,14 +37391,14 @@ func awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupMembers(r } } -type awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources struct { +type awsEc2query_deserializeOpRebootInstances struct { } -func (*awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources) ID() string { +func (*awsEc2query_deserializeOpRebootInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRebootInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37571,44 +37412,21 @@ func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources) H } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupSources(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRebootInstances(response, &metadata) } - output := &RegisterTransitGatewayMulticastGroupSourcesOutput{} + output := &RebootInstancesOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRegisterTransitGatewayMulticastGroupSourcesOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupSources(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRebootInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37641,14 +37459,14 @@ func awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupSources(r } } -type awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociations struct { +type awsEc2query_deserializeOpRegisterImage struct { } -func (*awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociations) ID() string { +func (*awsEc2query_deserializeOpRegisterImage) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRegisterImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37662,9 +37480,9 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociation } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRejectTransitGatewayMulticastDomainAssociations(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRegisterImage(response, &metadata) } - output := &RejectTransitGatewayMulticastDomainAssociationsOutput{} + output := &RegisterImageOutput{} out.Result = output var buff [1024]byte @@ -37685,7 +37503,7 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociation } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRejectTransitGatewayMulticastDomainAssociationsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRegisterImageOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37699,7 +37517,7 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociation return out, metadata, err } -func awsEc2query_deserializeOpErrorRejectTransitGatewayMulticastDomainAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRegisterImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37732,14 +37550,14 @@ func awsEc2query_deserializeOpErrorRejectTransitGatewayMulticastDomainAssociatio } } -type awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment struct { +type awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes struct { } -func (*awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) ID() string { +func (*awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRegisterInstanceEventNotificationAttributes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37753,9 +37571,9 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) HandleD } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRejectTransitGatewayPeeringAttachment(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRegisterInstanceEventNotificationAttributes(response, &metadata) } - output := &RejectTransitGatewayPeeringAttachmentOutput{} + output := &RegisterInstanceEventNotificationAttributesOutput{} out.Result = output var buff [1024]byte @@ -37776,7 +37594,7 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) HandleD } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRejectTransitGatewayPeeringAttachmentOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRegisterInstanceEventNotificationAttributesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37790,7 +37608,7 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) HandleD return out, metadata, err } -func awsEc2query_deserializeOpErrorRejectTransitGatewayPeeringAttachment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRegisterInstanceEventNotificationAttributes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37823,14 +37641,14 @@ func awsEc2query_deserializeOpErrorRejectTransitGatewayPeeringAttachment(respons } } -type awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment struct { +type awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers struct { } -func (*awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) ID() string { +func (*awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupMembers) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37844,9 +37662,9 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRejectTransitGatewayVpcAttachment(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupMembers(response, &metadata) } - output := &RejectTransitGatewayVpcAttachmentOutput{} + output := &RegisterTransitGatewayMulticastGroupMembersOutput{} out.Result = output var buff [1024]byte @@ -37867,7 +37685,7 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) HandleDeser } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRejectTransitGatewayVpcAttachmentOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRegisterTransitGatewayMulticastGroupMembersOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37881,7 +37699,7 @@ func (m *awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) HandleDeser return out, metadata, err } -func awsEc2query_deserializeOpErrorRejectTransitGatewayVpcAttachment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupMembers(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -37914,14 +37732,14 @@ func awsEc2query_deserializeOpErrorRejectTransitGatewayVpcAttachment(response *s } } -type awsEc2query_deserializeOpRejectVpcEndpointConnections struct { +type awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources struct { } -func (*awsEc2query_deserializeOpRejectVpcEndpointConnections) ID() string { +func (*awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRejectVpcEndpointConnections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRegisterTransitGatewayMulticastGroupSources) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -37935,9 +37753,9 @@ func (m *awsEc2query_deserializeOpRejectVpcEndpointConnections) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRejectVpcEndpointConnections(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupSources(response, &metadata) } - output := &RejectVpcEndpointConnectionsOutput{} + output := &RegisterTransitGatewayMulticastGroupSourcesOutput{} out.Result = output var buff [1024]byte @@ -37958,7 +37776,7 @@ func (m *awsEc2query_deserializeOpRejectVpcEndpointConnections) HandleDeserializ } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRejectVpcEndpointConnectionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRegisterTransitGatewayMulticastGroupSourcesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -37972,7 +37790,7 @@ func (m *awsEc2query_deserializeOpRejectVpcEndpointConnections) HandleDeserializ return out, metadata, err } -func awsEc2query_deserializeOpErrorRejectVpcEndpointConnections(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRegisterTransitGatewayMulticastGroupSources(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38005,14 +37823,14 @@ func awsEc2query_deserializeOpErrorRejectVpcEndpointConnections(response *smithy } } -type awsEc2query_deserializeOpRejectVpcPeeringConnection struct { +type awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociations struct { } -func (*awsEc2query_deserializeOpRejectVpcPeeringConnection) ID() string { +func (*awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociations) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRejectVpcPeeringConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRejectTransitGatewayMulticastDomainAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38026,9 +37844,9 @@ func (m *awsEc2query_deserializeOpRejectVpcPeeringConnection) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRejectVpcPeeringConnection(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRejectTransitGatewayMulticastDomainAssociations(response, &metadata) } - output := &RejectVpcPeeringConnectionOutput{} + output := &RejectTransitGatewayMulticastDomainAssociationsOutput{} out.Result = output var buff [1024]byte @@ -38049,7 +37867,7 @@ func (m *awsEc2query_deserializeOpRejectVpcPeeringConnection) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRejectVpcPeeringConnectionOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRejectTransitGatewayMulticastDomainAssociationsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38063,7 +37881,7 @@ func (m *awsEc2query_deserializeOpRejectVpcPeeringConnection) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorRejectVpcPeeringConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRejectTransitGatewayMulticastDomainAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38096,14 +37914,14 @@ func awsEc2query_deserializeOpErrorRejectVpcPeeringConnection(response *smithyht } } -type awsEc2query_deserializeOpReleaseAddress struct { +type awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment struct { } -func (*awsEc2query_deserializeOpReleaseAddress) ID() string { +func (*awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReleaseAddress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRejectTransitGatewayPeeringAttachment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38117,21 +37935,44 @@ func (m *awsEc2query_deserializeOpReleaseAddress) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReleaseAddress(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRejectTransitGatewayPeeringAttachment(response, &metadata) } - output := &ReleaseAddressOutput{} + output := &RejectTransitGatewayPeeringAttachmentOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentRejectTransitGatewayPeeringAttachmentOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorReleaseAddress(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRejectTransitGatewayPeeringAttachment(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38164,14 +38005,14 @@ func awsEc2query_deserializeOpErrorReleaseAddress(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpReleaseHosts struct { +type awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment struct { } -func (*awsEc2query_deserializeOpReleaseHosts) ID() string { +func (*awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReleaseHosts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRejectTransitGatewayVpcAttachment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38185,9 +38026,9 @@ func (m *awsEc2query_deserializeOpReleaseHosts) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReleaseHosts(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRejectTransitGatewayVpcAttachment(response, &metadata) } - output := &ReleaseHostsOutput{} + output := &RejectTransitGatewayVpcAttachmentOutput{} out.Result = output var buff [1024]byte @@ -38208,7 +38049,7 @@ func (m *awsEc2query_deserializeOpReleaseHosts) HandleDeserialize(ctx context.Co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentReleaseHostsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRejectTransitGatewayVpcAttachmentOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38222,7 +38063,7 @@ func (m *awsEc2query_deserializeOpReleaseHosts) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsEc2query_deserializeOpErrorReleaseHosts(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRejectTransitGatewayVpcAttachment(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38255,14 +38096,14 @@ func awsEc2query_deserializeOpErrorReleaseHosts(response *smithyhttp.Response, m } } -type awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation struct { +type awsEc2query_deserializeOpRejectVpcEndpointConnections struct { } -func (*awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) ID() string { +func (*awsEc2query_deserializeOpRejectVpcEndpointConnections) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRejectVpcEndpointConnections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38276,9 +38117,9 @@ func (m *awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) HandleDe } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReplaceIamInstanceProfileAssociation(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRejectVpcEndpointConnections(response, &metadata) } - output := &ReplaceIamInstanceProfileAssociationOutput{} + output := &RejectVpcEndpointConnectionsOutput{} out.Result = output var buff [1024]byte @@ -38299,7 +38140,7 @@ func (m *awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) HandleDe } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentReplaceIamInstanceProfileAssociationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRejectVpcEndpointConnectionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38313,7 +38154,7 @@ func (m *awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) HandleDe return out, metadata, err } -func awsEc2query_deserializeOpErrorReplaceIamInstanceProfileAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRejectVpcEndpointConnections(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38346,14 +38187,14 @@ func awsEc2query_deserializeOpErrorReplaceIamInstanceProfileAssociation(response } } -type awsEc2query_deserializeOpReplaceNetworkAclAssociation struct { +type awsEc2query_deserializeOpRejectVpcPeeringConnection struct { } -func (*awsEc2query_deserializeOpReplaceNetworkAclAssociation) ID() string { +func (*awsEc2query_deserializeOpRejectVpcPeeringConnection) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReplaceNetworkAclAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRejectVpcPeeringConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38367,9 +38208,9 @@ func (m *awsEc2query_deserializeOpReplaceNetworkAclAssociation) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReplaceNetworkAclAssociation(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRejectVpcPeeringConnection(response, &metadata) } - output := &ReplaceNetworkAclAssociationOutput{} + output := &RejectVpcPeeringConnectionOutput{} out.Result = output var buff [1024]byte @@ -38390,7 +38231,7 @@ func (m *awsEc2query_deserializeOpReplaceNetworkAclAssociation) HandleDeserializ } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentReplaceNetworkAclAssociationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRejectVpcPeeringConnectionOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38404,7 +38245,7 @@ func (m *awsEc2query_deserializeOpReplaceNetworkAclAssociation) HandleDeserializ return out, metadata, err } -func awsEc2query_deserializeOpErrorReplaceNetworkAclAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRejectVpcPeeringConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38437,14 +38278,14 @@ func awsEc2query_deserializeOpErrorReplaceNetworkAclAssociation(response *smithy } } -type awsEc2query_deserializeOpReplaceNetworkAclEntry struct { +type awsEc2query_deserializeOpReleaseAddress struct { } -func (*awsEc2query_deserializeOpReplaceNetworkAclEntry) ID() string { +func (*awsEc2query_deserializeOpReleaseAddress) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReplaceNetworkAclEntry) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReleaseAddress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38458,9 +38299,9 @@ func (m *awsEc2query_deserializeOpReplaceNetworkAclEntry) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReplaceNetworkAclEntry(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReleaseAddress(response, &metadata) } - output := &ReplaceNetworkAclEntryOutput{} + output := &ReleaseAddressOutput{} out.Result = output if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { @@ -38472,7 +38313,7 @@ func (m *awsEc2query_deserializeOpReplaceNetworkAclEntry) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorReplaceNetworkAclEntry(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReleaseAddress(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38505,14 +38346,14 @@ func awsEc2query_deserializeOpErrorReplaceNetworkAclEntry(response *smithyhttp.R } } -type awsEc2query_deserializeOpReplaceRoute struct { +type awsEc2query_deserializeOpReleaseHosts struct { } -func (*awsEc2query_deserializeOpReplaceRoute) ID() string { +func (*awsEc2query_deserializeOpReleaseHosts) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReplaceRoute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReleaseHosts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38526,21 +38367,44 @@ func (m *awsEc2query_deserializeOpReplaceRoute) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReplaceRoute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReleaseHosts(response, &metadata) } - output := &ReplaceRouteOutput{} + output := &ReleaseHostsOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentReleaseHostsOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorReplaceRoute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReleaseHosts(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38573,14 +38437,14 @@ func awsEc2query_deserializeOpErrorReplaceRoute(response *smithyhttp.Response, m } } -type awsEc2query_deserializeOpReplaceRouteTableAssociation struct { +type awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation struct { } -func (*awsEc2query_deserializeOpReplaceRouteTableAssociation) ID() string { +func (*awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReplaceRouteTableAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReplaceIamInstanceProfileAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38594,9 +38458,9 @@ func (m *awsEc2query_deserializeOpReplaceRouteTableAssociation) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReplaceRouteTableAssociation(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReplaceIamInstanceProfileAssociation(response, &metadata) } - output := &ReplaceRouteTableAssociationOutput{} + output := &ReplaceIamInstanceProfileAssociationOutput{} out.Result = output var buff [1024]byte @@ -38617,7 +38481,7 @@ func (m *awsEc2query_deserializeOpReplaceRouteTableAssociation) HandleDeserializ } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentReplaceRouteTableAssociationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentReplaceIamInstanceProfileAssociationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38631,7 +38495,7 @@ func (m *awsEc2query_deserializeOpReplaceRouteTableAssociation) HandleDeserializ return out, metadata, err } -func awsEc2query_deserializeOpErrorReplaceRouteTableAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReplaceIamInstanceProfileAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38664,14 +38528,14 @@ func awsEc2query_deserializeOpErrorReplaceRouteTableAssociation(response *smithy } } -type awsEc2query_deserializeOpReplaceTransitGatewayRoute struct { +type awsEc2query_deserializeOpReplaceNetworkAclAssociation struct { } -func (*awsEc2query_deserializeOpReplaceTransitGatewayRoute) ID() string { +func (*awsEc2query_deserializeOpReplaceNetworkAclAssociation) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReplaceTransitGatewayRoute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReplaceNetworkAclAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38685,9 +38549,9 @@ func (m *awsEc2query_deserializeOpReplaceTransitGatewayRoute) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReplaceTransitGatewayRoute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReplaceNetworkAclAssociation(response, &metadata) } - output := &ReplaceTransitGatewayRouteOutput{} + output := &ReplaceNetworkAclAssociationOutput{} out.Result = output var buff [1024]byte @@ -38708,7 +38572,7 @@ func (m *awsEc2query_deserializeOpReplaceTransitGatewayRoute) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentReplaceTransitGatewayRouteOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentReplaceNetworkAclAssociationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38722,7 +38586,7 @@ func (m *awsEc2query_deserializeOpReplaceTransitGatewayRoute) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorReplaceTransitGatewayRoute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReplaceNetworkAclAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38755,14 +38619,14 @@ func awsEc2query_deserializeOpErrorReplaceTransitGatewayRoute(response *smithyht } } -type awsEc2query_deserializeOpReportInstanceStatus struct { +type awsEc2query_deserializeOpReplaceNetworkAclEntry struct { } -func (*awsEc2query_deserializeOpReportInstanceStatus) ID() string { +func (*awsEc2query_deserializeOpReplaceNetworkAclEntry) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpReportInstanceStatus) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReplaceNetworkAclEntry) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38776,9 +38640,9 @@ func (m *awsEc2query_deserializeOpReportInstanceStatus) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorReportInstanceStatus(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReplaceNetworkAclEntry(response, &metadata) } - output := &ReportInstanceStatusOutput{} + output := &ReplaceNetworkAclEntryOutput{} out.Result = output if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { @@ -38790,7 +38654,7 @@ func (m *awsEc2query_deserializeOpReportInstanceStatus) HandleDeserialize(ctx co return out, metadata, err } -func awsEc2query_deserializeOpErrorReportInstanceStatus(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReplaceNetworkAclEntry(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38823,14 +38687,14 @@ func awsEc2query_deserializeOpErrorReportInstanceStatus(response *smithyhttp.Res } } -type awsEc2query_deserializeOpRequestSpotFleet struct { +type awsEc2query_deserializeOpReplaceRoute struct { } -func (*awsEc2query_deserializeOpRequestSpotFleet) ID() string { +func (*awsEc2query_deserializeOpReplaceRoute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRequestSpotFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReplaceRoute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38844,44 +38708,21 @@ func (m *awsEc2query_deserializeOpRequestSpotFleet) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRequestSpotFleet(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReplaceRoute(response, &metadata) } - output := &RequestSpotFleetOutput{} + output := &ReplaceRouteOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRequestSpotFleetOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorRequestSpotFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReplaceRoute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -38914,14 +38755,14 @@ func awsEc2query_deserializeOpErrorRequestSpotFleet(response *smithyhttp.Respons } } -type awsEc2query_deserializeOpRequestSpotInstances struct { +type awsEc2query_deserializeOpReplaceRouteTableAssociation struct { } -func (*awsEc2query_deserializeOpRequestSpotInstances) ID() string { +func (*awsEc2query_deserializeOpReplaceRouteTableAssociation) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRequestSpotInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReplaceRouteTableAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -38935,9 +38776,9 @@ func (m *awsEc2query_deserializeOpRequestSpotInstances) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRequestSpotInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReplaceRouteTableAssociation(response, &metadata) } - output := &RequestSpotInstancesOutput{} + output := &ReplaceRouteTableAssociationOutput{} out.Result = output var buff [1024]byte @@ -38958,7 +38799,7 @@ func (m *awsEc2query_deserializeOpRequestSpotInstances) HandleDeserialize(ctx co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRequestSpotInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentReplaceRouteTableAssociationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -38972,7 +38813,7 @@ func (m *awsEc2query_deserializeOpRequestSpotInstances) HandleDeserialize(ctx co return out, metadata, err } -func awsEc2query_deserializeOpErrorRequestSpotInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReplaceRouteTableAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39005,14 +38846,14 @@ func awsEc2query_deserializeOpErrorRequestSpotInstances(response *smithyhttp.Res } } -type awsEc2query_deserializeOpResetAddressAttribute struct { +type awsEc2query_deserializeOpReplaceTransitGatewayRoute struct { } -func (*awsEc2query_deserializeOpResetAddressAttribute) ID() string { +func (*awsEc2query_deserializeOpReplaceTransitGatewayRoute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetAddressAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReplaceTransitGatewayRoute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39026,9 +38867,9 @@ func (m *awsEc2query_deserializeOpResetAddressAttribute) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetAddressAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReplaceTransitGatewayRoute(response, &metadata) } - output := &ResetAddressAttributeOutput{} + output := &ReplaceTransitGatewayRouteOutput{} out.Result = output var buff [1024]byte @@ -39049,7 +38890,7 @@ func (m *awsEc2query_deserializeOpResetAddressAttribute) HandleDeserialize(ctx c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentResetAddressAttributeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentReplaceTransitGatewayRouteOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -39063,7 +38904,7 @@ func (m *awsEc2query_deserializeOpResetAddressAttribute) HandleDeserialize(ctx c return out, metadata, err } -func awsEc2query_deserializeOpErrorResetAddressAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReplaceTransitGatewayRoute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39096,14 +38937,14 @@ func awsEc2query_deserializeOpErrorResetAddressAttribute(response *smithyhttp.Re } } -type awsEc2query_deserializeOpResetEbsDefaultKmsKeyId struct { +type awsEc2query_deserializeOpReportInstanceStatus struct { } -func (*awsEc2query_deserializeOpResetEbsDefaultKmsKeyId) ID() string { +func (*awsEc2query_deserializeOpReportInstanceStatus) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetEbsDefaultKmsKeyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpReportInstanceStatus) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39117,44 +38958,21 @@ func (m *awsEc2query_deserializeOpResetEbsDefaultKmsKeyId) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetEbsDefaultKmsKeyId(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorReportInstanceStatus(response, &metadata) } - output := &ResetEbsDefaultKmsKeyIdOutput{} + output := &ReportInstanceStatusOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentResetEbsDefaultKmsKeyIdOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorResetEbsDefaultKmsKeyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorReportInstanceStatus(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39187,14 +39005,14 @@ func awsEc2query_deserializeOpErrorResetEbsDefaultKmsKeyId(response *smithyhttp. } } -type awsEc2query_deserializeOpResetFpgaImageAttribute struct { +type awsEc2query_deserializeOpRequestSpotFleet struct { } -func (*awsEc2query_deserializeOpResetFpgaImageAttribute) ID() string { +func (*awsEc2query_deserializeOpRequestSpotFleet) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetFpgaImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRequestSpotFleet) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39208,9 +39026,9 @@ func (m *awsEc2query_deserializeOpResetFpgaImageAttribute) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetFpgaImageAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRequestSpotFleet(response, &metadata) } - output := &ResetFpgaImageAttributeOutput{} + output := &RequestSpotFleetOutput{} out.Result = output var buff [1024]byte @@ -39231,7 +39049,7 @@ func (m *awsEc2query_deserializeOpResetFpgaImageAttribute) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentResetFpgaImageAttributeOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRequestSpotFleetOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -39245,7 +39063,7 @@ func (m *awsEc2query_deserializeOpResetFpgaImageAttribute) HandleDeserialize(ctx return out, metadata, err } -func awsEc2query_deserializeOpErrorResetFpgaImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRequestSpotFleet(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39278,14 +39096,14 @@ func awsEc2query_deserializeOpErrorResetFpgaImageAttribute(response *smithyhttp. } } -type awsEc2query_deserializeOpResetImageAttribute struct { +type awsEc2query_deserializeOpRequestSpotInstances struct { } -func (*awsEc2query_deserializeOpResetImageAttribute) ID() string { +func (*awsEc2query_deserializeOpRequestSpotInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRequestSpotInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39299,21 +39117,44 @@ func (m *awsEc2query_deserializeOpResetImageAttribute) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetImageAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRequestSpotInstances(response, &metadata) } - output := &ResetImageAttributeOutput{} + output := &RequestSpotInstancesOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentRequestSpotInstancesOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorResetImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRequestSpotInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39346,14 +39187,14 @@ func awsEc2query_deserializeOpErrorResetImageAttribute(response *smithyhttp.Resp } } -type awsEc2query_deserializeOpResetInstanceAttribute struct { +type awsEc2query_deserializeOpResetAddressAttribute struct { } -func (*awsEc2query_deserializeOpResetInstanceAttribute) ID() string { +func (*awsEc2query_deserializeOpResetAddressAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetInstanceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetAddressAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39367,21 +39208,44 @@ func (m *awsEc2query_deserializeOpResetInstanceAttribute) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetInstanceAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetAddressAttribute(response, &metadata) } - output := &ResetInstanceAttributeOutput{} + output := &ResetAddressAttributeOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentResetAddressAttributeOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorResetInstanceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetAddressAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39414,14 +39278,14 @@ func awsEc2query_deserializeOpErrorResetInstanceAttribute(response *smithyhttp.R } } -type awsEc2query_deserializeOpResetNetworkInterfaceAttribute struct { +type awsEc2query_deserializeOpResetEbsDefaultKmsKeyId struct { } -func (*awsEc2query_deserializeOpResetNetworkInterfaceAttribute) ID() string { +func (*awsEc2query_deserializeOpResetEbsDefaultKmsKeyId) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetNetworkInterfaceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetEbsDefaultKmsKeyId) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39435,21 +39299,44 @@ func (m *awsEc2query_deserializeOpResetNetworkInterfaceAttribute) HandleDeserial } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetNetworkInterfaceAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetEbsDefaultKmsKeyId(response, &metadata) } - output := &ResetNetworkInterfaceAttributeOutput{} + output := &ResetEbsDefaultKmsKeyIdOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentResetEbsDefaultKmsKeyIdOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorResetNetworkInterfaceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetEbsDefaultKmsKeyId(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39482,14 +39369,14 @@ func awsEc2query_deserializeOpErrorResetNetworkInterfaceAttribute(response *smit } } -type awsEc2query_deserializeOpResetSnapshotAttribute struct { +type awsEc2query_deserializeOpResetFpgaImageAttribute struct { } -func (*awsEc2query_deserializeOpResetSnapshotAttribute) ID() string { +func (*awsEc2query_deserializeOpResetFpgaImageAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpResetSnapshotAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetFpgaImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39503,21 +39390,44 @@ func (m *awsEc2query_deserializeOpResetSnapshotAttribute) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorResetSnapshotAttribute(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetFpgaImageAttribute(response, &metadata) } - output := &ResetSnapshotAttributeOutput{} + output := &ResetFpgaImageAttributeOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentResetFpgaImageAttributeOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorResetSnapshotAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetFpgaImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39550,14 +39460,14 @@ func awsEc2query_deserializeOpErrorResetSnapshotAttribute(response *smithyhttp.R } } -type awsEc2query_deserializeOpRestoreAddressToClassic struct { +type awsEc2query_deserializeOpResetImageAttribute struct { } -func (*awsEc2query_deserializeOpRestoreAddressToClassic) ID() string { +func (*awsEc2query_deserializeOpResetImageAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRestoreAddressToClassic) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetImageAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39571,44 +39481,21 @@ func (m *awsEc2query_deserializeOpRestoreAddressToClassic) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRestoreAddressToClassic(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetImageAttribute(response, &metadata) } - output := &RestoreAddressToClassicOutput{} + output := &ResetImageAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRestoreAddressToClassicOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorRestoreAddressToClassic(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetImageAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39641,14 +39528,14 @@ func awsEc2query_deserializeOpErrorRestoreAddressToClassic(response *smithyhttp. } } -type awsEc2query_deserializeOpRestoreManagedPrefixListVersion struct { +type awsEc2query_deserializeOpResetInstanceAttribute struct { } -func (*awsEc2query_deserializeOpRestoreManagedPrefixListVersion) ID() string { +func (*awsEc2query_deserializeOpResetInstanceAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRestoreManagedPrefixListVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetInstanceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39662,44 +39549,21 @@ func (m *awsEc2query_deserializeOpRestoreManagedPrefixListVersion) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRestoreManagedPrefixListVersion(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetInstanceAttribute(response, &metadata) } - output := &RestoreManagedPrefixListVersionOutput{} + output := &ResetInstanceAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRestoreManagedPrefixListVersionOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorRestoreManagedPrefixListVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetInstanceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39732,14 +39596,14 @@ func awsEc2query_deserializeOpErrorRestoreManagedPrefixListVersion(response *smi } } -type awsEc2query_deserializeOpRevokeClientVpnIngress struct { +type awsEc2query_deserializeOpResetNetworkInterfaceAttribute struct { } -func (*awsEc2query_deserializeOpRevokeClientVpnIngress) ID() string { +func (*awsEc2query_deserializeOpResetNetworkInterfaceAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRevokeClientVpnIngress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetNetworkInterfaceAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39753,44 +39617,21 @@ func (m *awsEc2query_deserializeOpRevokeClientVpnIngress) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRevokeClientVpnIngress(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetNetworkInterfaceAttribute(response, &metadata) } - output := &RevokeClientVpnIngressOutput{} + output := &ResetNetworkInterfaceAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRevokeClientVpnIngressOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorRevokeClientVpnIngress(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetNetworkInterfaceAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39823,14 +39664,14 @@ func awsEc2query_deserializeOpErrorRevokeClientVpnIngress(response *smithyhttp.R } } -type awsEc2query_deserializeOpRevokeSecurityGroupEgress struct { +type awsEc2query_deserializeOpResetSnapshotAttribute struct { } -func (*awsEc2query_deserializeOpRevokeSecurityGroupEgress) ID() string { +func (*awsEc2query_deserializeOpResetSnapshotAttribute) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRevokeSecurityGroupEgress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpResetSnapshotAttribute) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39844,44 +39685,21 @@ func (m *awsEc2query_deserializeOpRevokeSecurityGroupEgress) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRevokeSecurityGroupEgress(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorResetSnapshotAttribute(response, &metadata) } - output := &RevokeSecurityGroupEgressOutput{} + output := &ResetSnapshotAttributeOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRevokeSecurityGroupEgressOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorRevokeSecurityGroupEgress(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorResetSnapshotAttribute(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -39914,14 +39732,14 @@ func awsEc2query_deserializeOpErrorRevokeSecurityGroupEgress(response *smithyhtt } } -type awsEc2query_deserializeOpRevokeSecurityGroupIngress struct { +type awsEc2query_deserializeOpRestoreAddressToClassic struct { } -func (*awsEc2query_deserializeOpRevokeSecurityGroupIngress) ID() string { +func (*awsEc2query_deserializeOpRestoreAddressToClassic) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRevokeSecurityGroupIngress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRestoreAddressToClassic) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -39935,9 +39753,9 @@ func (m *awsEc2query_deserializeOpRevokeSecurityGroupIngress) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRevokeSecurityGroupIngress(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRestoreAddressToClassic(response, &metadata) } - output := &RevokeSecurityGroupIngressOutput{} + output := &RestoreAddressToClassicOutput{} out.Result = output var buff [1024]byte @@ -39958,7 +39776,7 @@ func (m *awsEc2query_deserializeOpRevokeSecurityGroupIngress) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRevokeSecurityGroupIngressOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRestoreAddressToClassicOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -39972,7 +39790,7 @@ func (m *awsEc2query_deserializeOpRevokeSecurityGroupIngress) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorRevokeSecurityGroupIngress(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRestoreAddressToClassic(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40005,14 +39823,14 @@ func awsEc2query_deserializeOpErrorRevokeSecurityGroupIngress(response *smithyht } } -type awsEc2query_deserializeOpRunInstances struct { +type awsEc2query_deserializeOpRestoreManagedPrefixListVersion struct { } -func (*awsEc2query_deserializeOpRunInstances) ID() string { +func (*awsEc2query_deserializeOpRestoreManagedPrefixListVersion) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRunInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRestoreManagedPrefixListVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40026,9 +39844,9 @@ func (m *awsEc2query_deserializeOpRunInstances) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRunInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRestoreManagedPrefixListVersion(response, &metadata) } - output := &RunInstancesOutput{} + output := &RestoreManagedPrefixListVersionOutput{} out.Result = output var buff [1024]byte @@ -40049,7 +39867,7 @@ func (m *awsEc2query_deserializeOpRunInstances) HandleDeserialize(ctx context.Co } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRunInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRestoreManagedPrefixListVersionOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40063,7 +39881,7 @@ func (m *awsEc2query_deserializeOpRunInstances) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsEc2query_deserializeOpErrorRunInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRestoreManagedPrefixListVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40096,14 +39914,14 @@ func awsEc2query_deserializeOpErrorRunInstances(response *smithyhttp.Response, m } } -type awsEc2query_deserializeOpRunScheduledInstances struct { +type awsEc2query_deserializeOpRevokeClientVpnIngress struct { } -func (*awsEc2query_deserializeOpRunScheduledInstances) ID() string { +func (*awsEc2query_deserializeOpRevokeClientVpnIngress) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpRunScheduledInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRevokeClientVpnIngress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40117,9 +39935,9 @@ func (m *awsEc2query_deserializeOpRunScheduledInstances) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorRunScheduledInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRevokeClientVpnIngress(response, &metadata) } - output := &RunScheduledInstancesOutput{} + output := &RevokeClientVpnIngressOutput{} out.Result = output var buff [1024]byte @@ -40140,7 +39958,7 @@ func (m *awsEc2query_deserializeOpRunScheduledInstances) HandleDeserialize(ctx c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentRunScheduledInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRevokeClientVpnIngressOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40154,7 +39972,7 @@ func (m *awsEc2query_deserializeOpRunScheduledInstances) HandleDeserialize(ctx c return out, metadata, err } -func awsEc2query_deserializeOpErrorRunScheduledInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRevokeClientVpnIngress(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40187,14 +40005,14 @@ func awsEc2query_deserializeOpErrorRunScheduledInstances(response *smithyhttp.Re } } -type awsEc2query_deserializeOpSearchLocalGatewayRoutes struct { +type awsEc2query_deserializeOpRevokeSecurityGroupEgress struct { } -func (*awsEc2query_deserializeOpSearchLocalGatewayRoutes) ID() string { +func (*awsEc2query_deserializeOpRevokeSecurityGroupEgress) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpSearchLocalGatewayRoutes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRevokeSecurityGroupEgress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40208,9 +40026,9 @@ func (m *awsEc2query_deserializeOpSearchLocalGatewayRoutes) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorSearchLocalGatewayRoutes(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRevokeSecurityGroupEgress(response, &metadata) } - output := &SearchLocalGatewayRoutesOutput{} + output := &RevokeSecurityGroupEgressOutput{} out.Result = output var buff [1024]byte @@ -40231,7 +40049,7 @@ func (m *awsEc2query_deserializeOpSearchLocalGatewayRoutes) HandleDeserialize(ct } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentSearchLocalGatewayRoutesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRevokeSecurityGroupEgressOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40245,7 +40063,7 @@ func (m *awsEc2query_deserializeOpSearchLocalGatewayRoutes) HandleDeserialize(ct return out, metadata, err } -func awsEc2query_deserializeOpErrorSearchLocalGatewayRoutes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRevokeSecurityGroupEgress(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40278,14 +40096,14 @@ func awsEc2query_deserializeOpErrorSearchLocalGatewayRoutes(response *smithyhttp } } -type awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups struct { +type awsEc2query_deserializeOpRevokeSecurityGroupIngress struct { } -func (*awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) ID() string { +func (*awsEc2query_deserializeOpRevokeSecurityGroupIngress) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRevokeSecurityGroupIngress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40299,9 +40117,9 @@ func (m *awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) HandleDes } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorSearchTransitGatewayMulticastGroups(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRevokeSecurityGroupIngress(response, &metadata) } - output := &SearchTransitGatewayMulticastGroupsOutput{} + output := &RevokeSecurityGroupIngressOutput{} out.Result = output var buff [1024]byte @@ -40322,7 +40140,7 @@ func (m *awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) HandleDes } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentSearchTransitGatewayMulticastGroupsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRevokeSecurityGroupIngressOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40336,7 +40154,7 @@ func (m *awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) HandleDes return out, metadata, err } -func awsEc2query_deserializeOpErrorSearchTransitGatewayMulticastGroups(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRevokeSecurityGroupIngress(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40369,14 +40187,14 @@ func awsEc2query_deserializeOpErrorSearchTransitGatewayMulticastGroups(response } } -type awsEc2query_deserializeOpSearchTransitGatewayRoutes struct { +type awsEc2query_deserializeOpRunInstances struct { } -func (*awsEc2query_deserializeOpSearchTransitGatewayRoutes) ID() string { +func (*awsEc2query_deserializeOpRunInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpSearchTransitGatewayRoutes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRunInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40390,9 +40208,9 @@ func (m *awsEc2query_deserializeOpSearchTransitGatewayRoutes) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorSearchTransitGatewayRoutes(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRunInstances(response, &metadata) } - output := &SearchTransitGatewayRoutesOutput{} + output := &RunInstancesOutput{} out.Result = output var buff [1024]byte @@ -40413,7 +40231,7 @@ func (m *awsEc2query_deserializeOpSearchTransitGatewayRoutes) HandleDeserialize( } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentSearchTransitGatewayRoutesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentRunInstancesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40427,7 +40245,7 @@ func (m *awsEc2query_deserializeOpSearchTransitGatewayRoutes) HandleDeserialize( return out, metadata, err } -func awsEc2query_deserializeOpErrorSearchTransitGatewayRoutes(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRunInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40460,14 +40278,14 @@ func awsEc2query_deserializeOpErrorSearchTransitGatewayRoutes(response *smithyht } } -type awsEc2query_deserializeOpSendDiagnosticInterrupt struct { +type awsEc2query_deserializeOpRunScheduledInstances struct { } -func (*awsEc2query_deserializeOpSendDiagnosticInterrupt) ID() string { +func (*awsEc2query_deserializeOpRunScheduledInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpSendDiagnosticInterrupt) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpRunScheduledInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40481,21 +40299,44 @@ func (m *awsEc2query_deserializeOpSendDiagnosticInterrupt) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorSendDiagnosticInterrupt(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorRunScheduledInstances(response, &metadata) } - output := &SendDiagnosticInterruptOutput{} + output := &RunScheduledInstancesOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentRunScheduledInstancesOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorSendDiagnosticInterrupt(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorRunScheduledInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40528,14 +40369,14 @@ func awsEc2query_deserializeOpErrorSendDiagnosticInterrupt(response *smithyhttp. } } -type awsEc2query_deserializeOpStartInstances struct { +type awsEc2query_deserializeOpSearchLocalGatewayRoutes struct { } -func (*awsEc2query_deserializeOpStartInstances) ID() string { +func (*awsEc2query_deserializeOpSearchLocalGatewayRoutes) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpStartInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpSearchLocalGatewayRoutes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40549,9 +40390,9 @@ func (m *awsEc2query_deserializeOpStartInstances) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorStartInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorSearchLocalGatewayRoutes(response, &metadata) } - output := &StartInstancesOutput{} + output := &SearchLocalGatewayRoutesOutput{} out.Result = output var buff [1024]byte @@ -40572,7 +40413,7 @@ func (m *awsEc2query_deserializeOpStartInstances) HandleDeserialize(ctx context. } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentStartInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentSearchLocalGatewayRoutesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40586,7 +40427,7 @@ func (m *awsEc2query_deserializeOpStartInstances) HandleDeserialize(ctx context. return out, metadata, err } -func awsEc2query_deserializeOpErrorStartInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorSearchLocalGatewayRoutes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40619,14 +40460,14 @@ func awsEc2query_deserializeOpErrorStartInstances(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpStartNetworkInsightsAnalysis struct { +type awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups struct { } -func (*awsEc2query_deserializeOpStartNetworkInsightsAnalysis) ID() string { +func (*awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpStartNetworkInsightsAnalysis) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpSearchTransitGatewayMulticastGroups) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40640,9 +40481,9 @@ func (m *awsEc2query_deserializeOpStartNetworkInsightsAnalysis) HandleDeserializ } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorStartNetworkInsightsAnalysis(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorSearchTransitGatewayMulticastGroups(response, &metadata) } - output := &StartNetworkInsightsAnalysisOutput{} + output := &SearchTransitGatewayMulticastGroupsOutput{} out.Result = output var buff [1024]byte @@ -40663,7 +40504,7 @@ func (m *awsEc2query_deserializeOpStartNetworkInsightsAnalysis) HandleDeserializ } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentStartNetworkInsightsAnalysisOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentSearchTransitGatewayMulticastGroupsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40677,7 +40518,7 @@ func (m *awsEc2query_deserializeOpStartNetworkInsightsAnalysis) HandleDeserializ return out, metadata, err } -func awsEc2query_deserializeOpErrorStartNetworkInsightsAnalysis(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorSearchTransitGatewayMulticastGroups(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40710,14 +40551,14 @@ func awsEc2query_deserializeOpErrorStartNetworkInsightsAnalysis(response *smithy } } -type awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification struct { +type awsEc2query_deserializeOpSearchTransitGatewayRoutes struct { } -func (*awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) ID() string { +func (*awsEc2query_deserializeOpSearchTransitGatewayRoutes) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpSearchTransitGatewayRoutes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40731,9 +40572,9 @@ func (m *awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorStartVpcEndpointServicePrivateDnsVerification(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorSearchTransitGatewayRoutes(response, &metadata) } - output := &StartVpcEndpointServicePrivateDnsVerificationOutput{} + output := &SearchTransitGatewayRoutesOutput{} out.Result = output var buff [1024]byte @@ -40754,7 +40595,7 @@ func (m *awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentStartVpcEndpointServicePrivateDnsVerificationOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentSearchTransitGatewayRoutesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40768,7 +40609,7 @@ func (m *awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) return out, metadata, err } -func awsEc2query_deserializeOpErrorStartVpcEndpointServicePrivateDnsVerification(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorSearchTransitGatewayRoutes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40801,14 +40642,14 @@ func awsEc2query_deserializeOpErrorStartVpcEndpointServicePrivateDnsVerification } } -type awsEc2query_deserializeOpStopInstances struct { +type awsEc2query_deserializeOpSendDiagnosticInterrupt struct { } -func (*awsEc2query_deserializeOpStopInstances) ID() string { +func (*awsEc2query_deserializeOpSendDiagnosticInterrupt) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpStopInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpSendDiagnosticInterrupt) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40822,44 +40663,21 @@ func (m *awsEc2query_deserializeOpStopInstances) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorStopInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorSendDiagnosticInterrupt(response, &metadata) } - output := &StopInstancesOutput{} + output := &SendDiagnosticInterruptOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(response.Body, ringBuffer) - rootDecoder := xml.NewDecoder(body) - t, err := smithyxml.FetchRootElement(rootDecoder) - if err == io.EOF { - return out, metadata, nil - } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - } - - decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentStopInstancesOutput(&output, decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + Err: fmt.Errorf("failed to discard response body, %w", err), } - return out, metadata, err } return out, metadata, err } -func awsEc2query_deserializeOpErrorStopInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorSendDiagnosticInterrupt(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40892,14 +40710,14 @@ func awsEc2query_deserializeOpErrorStopInstances(response *smithyhttp.Response, } } -type awsEc2query_deserializeOpTerminateClientVpnConnections struct { +type awsEc2query_deserializeOpStartInstances struct { } -func (*awsEc2query_deserializeOpTerminateClientVpnConnections) ID() string { +func (*awsEc2query_deserializeOpStartInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpTerminateClientVpnConnections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpStartInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -40913,9 +40731,9 @@ func (m *awsEc2query_deserializeOpTerminateClientVpnConnections) HandleDeseriali } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorTerminateClientVpnConnections(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorStartInstances(response, &metadata) } - output := &TerminateClientVpnConnectionsOutput{} + output := &StartInstancesOutput{} out.Result = output var buff [1024]byte @@ -40936,7 +40754,7 @@ func (m *awsEc2query_deserializeOpTerminateClientVpnConnections) HandleDeseriali } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentTerminateClientVpnConnectionsOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentStartInstancesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -40950,7 +40768,7 @@ func (m *awsEc2query_deserializeOpTerminateClientVpnConnections) HandleDeseriali return out, metadata, err } -func awsEc2query_deserializeOpErrorTerminateClientVpnConnections(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorStartInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -40983,14 +40801,14 @@ func awsEc2query_deserializeOpErrorTerminateClientVpnConnections(response *smith } } -type awsEc2query_deserializeOpTerminateInstances struct { +type awsEc2query_deserializeOpStartNetworkInsightsAnalysis struct { } -func (*awsEc2query_deserializeOpTerminateInstances) ID() string { +func (*awsEc2query_deserializeOpStartNetworkInsightsAnalysis) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpTerminateInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpStartNetworkInsightsAnalysis) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -41004,9 +40822,9 @@ func (m *awsEc2query_deserializeOpTerminateInstances) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorTerminateInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorStartNetworkInsightsAnalysis(response, &metadata) } - output := &TerminateInstancesOutput{} + output := &StartNetworkInsightsAnalysisOutput{} out.Result = output var buff [1024]byte @@ -41027,7 +40845,7 @@ func (m *awsEc2query_deserializeOpTerminateInstances) HandleDeserialize(ctx cont } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentTerminateInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentStartNetworkInsightsAnalysisOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -41041,7 +40859,7 @@ func (m *awsEc2query_deserializeOpTerminateInstances) HandleDeserialize(ctx cont return out, metadata, err } -func awsEc2query_deserializeOpErrorTerminateInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorStartNetworkInsightsAnalysis(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -41074,14 +40892,14 @@ func awsEc2query_deserializeOpErrorTerminateInstances(response *smithyhttp.Respo } } -type awsEc2query_deserializeOpUnassignIpv6Addresses struct { +type awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification struct { } -func (*awsEc2query_deserializeOpUnassignIpv6Addresses) ID() string { +func (*awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpUnassignIpv6Addresses) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpStartVpcEndpointServicePrivateDnsVerification) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -41095,9 +40913,9 @@ func (m *awsEc2query_deserializeOpUnassignIpv6Addresses) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorUnassignIpv6Addresses(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorStartVpcEndpointServicePrivateDnsVerification(response, &metadata) } - output := &UnassignIpv6AddressesOutput{} + output := &StartVpcEndpointServicePrivateDnsVerificationOutput{} out.Result = output var buff [1024]byte @@ -41118,7 +40936,7 @@ func (m *awsEc2query_deserializeOpUnassignIpv6Addresses) HandleDeserialize(ctx c } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentUnassignIpv6AddressesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentStartVpcEndpointServicePrivateDnsVerificationOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -41132,7 +40950,7 @@ func (m *awsEc2query_deserializeOpUnassignIpv6Addresses) HandleDeserialize(ctx c return out, metadata, err } -func awsEc2query_deserializeOpErrorUnassignIpv6Addresses(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorStartVpcEndpointServicePrivateDnsVerification(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -41165,14 +40983,14 @@ func awsEc2query_deserializeOpErrorUnassignIpv6Addresses(response *smithyhttp.Re } } -type awsEc2query_deserializeOpUnassignPrivateIpAddresses struct { +type awsEc2query_deserializeOpStopInstances struct { } -func (*awsEc2query_deserializeOpUnassignPrivateIpAddresses) ID() string { +func (*awsEc2query_deserializeOpStopInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpUnassignPrivateIpAddresses) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpStopInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -41186,21 +41004,44 @@ func (m *awsEc2query_deserializeOpUnassignPrivateIpAddresses) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorUnassignPrivateIpAddresses(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorStopInstances(response, &metadata) } - output := &UnassignPrivateIpAddressesOutput{} + output := &StopInstancesOutput{} out.Result = output - if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to discard response body, %w", err), + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } } + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentStopInstancesOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + return out, metadata, err } -func awsEc2query_deserializeOpErrorUnassignPrivateIpAddresses(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorStopInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -41233,14 +41074,14 @@ func awsEc2query_deserializeOpErrorUnassignPrivateIpAddresses(response *smithyht } } -type awsEc2query_deserializeOpUnmonitorInstances struct { +type awsEc2query_deserializeOpTerminateClientVpnConnections struct { } -func (*awsEc2query_deserializeOpUnmonitorInstances) ID() string { +func (*awsEc2query_deserializeOpTerminateClientVpnConnections) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpUnmonitorInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpTerminateClientVpnConnections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -41254,9 +41095,9 @@ func (m *awsEc2query_deserializeOpUnmonitorInstances) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorUnmonitorInstances(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorTerminateClientVpnConnections(response, &metadata) } - output := &UnmonitorInstancesOutput{} + output := &TerminateClientVpnConnectionsOutput{} out.Result = output var buff [1024]byte @@ -41277,7 +41118,7 @@ func (m *awsEc2query_deserializeOpUnmonitorInstances) HandleDeserialize(ctx cont } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentUnmonitorInstancesOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentTerminateClientVpnConnectionsOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -41291,7 +41132,7 @@ func (m *awsEc2query_deserializeOpUnmonitorInstances) HandleDeserialize(ctx cont return out, metadata, err } -func awsEc2query_deserializeOpErrorUnmonitorInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorTerminateClientVpnConnections(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -41324,14 +41165,14 @@ func awsEc2query_deserializeOpErrorUnmonitorInstances(response *smithyhttp.Respo } } -type awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress struct { +type awsEc2query_deserializeOpTerminateInstances struct { } -func (*awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) ID() string { +func (*awsEc2query_deserializeOpTerminateInstances) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpTerminateInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -41345,9 +41186,9 @@ func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) Han } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsEgress(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorTerminateInstances(response, &metadata) } - output := &UpdateSecurityGroupRuleDescriptionsEgressOutput{} + output := &TerminateInstancesOutput{} out.Result = output var buff [1024]byte @@ -41368,7 +41209,7 @@ func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) Han } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentUpdateSecurityGroupRuleDescriptionsEgressOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentTerminateInstancesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -41382,7 +41223,7 @@ func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) Han return out, metadata, err } -func awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsEgress(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorTerminateInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -41415,14 +41256,14 @@ func awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsEgress(res } } -type awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress struct { +type awsEc2query_deserializeOpUnassignIpv6Addresses struct { } -func (*awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) ID() string { +func (*awsEc2query_deserializeOpUnassignIpv6Addresses) ID() string { return "OperationDeserializer" } -func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsEc2query_deserializeOpUnassignIpv6Addresses) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -41436,9 +41277,9 @@ func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) Ha } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsIngress(response, &metadata) + return out, metadata, awsEc2query_deserializeOpErrorUnassignIpv6Addresses(response, &metadata) } - output := &UpdateSecurityGroupRuleDescriptionsIngressOutput{} + output := &UnassignIpv6AddressesOutput{} out.Result = output var buff [1024]byte @@ -41459,7 +41300,7 @@ func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) Ha } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - err = awsEc2query_deserializeOpDocumentUpdateSecurityGroupRuleDescriptionsIngressOutput(&output, decoder) + err = awsEc2query_deserializeOpDocumentUnassignIpv6AddressesOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -41473,7 +41314,348 @@ func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) Ha return out, metadata, err } -func awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsIngress(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsEc2query_deserializeOpErrorUnassignIpv6Addresses(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsEc2query_deserializeOpUnassignPrivateIpAddresses struct { +} + +func (*awsEc2query_deserializeOpUnassignPrivateIpAddresses) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpUnassignPrivateIpAddresses) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorUnassignPrivateIpAddresses(response, &metadata) + } + output := &UnassignPrivateIpAddressesOutput{} + out.Result = output + + if _, err = io.Copy(ioutil.Discard, response.Body); err != nil { + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to discard response body, %w", err), + } + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorUnassignPrivateIpAddresses(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsEc2query_deserializeOpUnmonitorInstances struct { +} + +func (*awsEc2query_deserializeOpUnmonitorInstances) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpUnmonitorInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorUnmonitorInstances(response, &metadata) + } + output := &UnmonitorInstancesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentUnmonitorInstancesOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorUnmonitorInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress struct { +} + +func (*awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsEgress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsEgress(response, &metadata) + } + output := &UpdateSecurityGroupRuleDescriptionsEgressOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentUpdateSecurityGroupRuleDescriptionsEgressOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsEgress(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress struct { +} + +func (*awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpUpdateSecurityGroupRuleDescriptionsIngress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsIngress(response, &metadata) + } + output := &UpdateSecurityGroupRuleDescriptionsIngressOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentUpdateSecurityGroupRuleDescriptionsIngressOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorUpdateSecurityGroupRuleDescriptionsIngress(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -41597,6 +41779,386 @@ func awsEc2query_deserializeOpErrorWithdrawByoipCidr(response *smithyhttp.Respon } } +func awsEc2query_deserializeDocumentAcceleratorCount(v **types.AcceleratorCount, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.AcceleratorCount + if *v == nil { + sv = &types.AcceleratorCount{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentAcceleratorManufacturerSet(v *[]types.AcceleratorManufacturer, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AcceleratorManufacturer + if *v == nil { + sv = make([]types.AcceleratorManufacturer, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.AcceleratorManufacturer + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.AcceleratorManufacturer(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentAcceleratorManufacturerSetUnwrapped(v *[]types.AcceleratorManufacturer, decoder smithyxml.NodeDecoder) error { + var sv []types.AcceleratorManufacturer + if *v == nil { + sv = make([]types.AcceleratorManufacturer, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AcceleratorManufacturer + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.AcceleratorManufacturer(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsEc2query_deserializeDocumentAcceleratorNameSet(v *[]types.AcceleratorName, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AcceleratorName + if *v == nil { + sv = make([]types.AcceleratorName, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.AcceleratorName + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.AcceleratorName(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentAcceleratorNameSetUnwrapped(v *[]types.AcceleratorName, decoder smithyxml.NodeDecoder) error { + var sv []types.AcceleratorName + if *v == nil { + sv = make([]types.AcceleratorName, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AcceleratorName + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.AcceleratorName(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsEc2query_deserializeDocumentAcceleratorTotalMemoryMiB(v **types.AcceleratorTotalMemoryMiB, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.AcceleratorTotalMemoryMiB + if *v == nil { + sv = &types.AcceleratorTotalMemoryMiB{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentAcceleratorTypeSet(v *[]types.AcceleratorType, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.AcceleratorType + if *v == nil { + sv = make([]types.AcceleratorType, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.AcceleratorType + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.AcceleratorType(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentAcceleratorTypeSetUnwrapped(v *[]types.AcceleratorType, decoder smithyxml.NodeDecoder) error { + var sv []types.AcceleratorType + if *v == nil { + sv = make([]types.AcceleratorType, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.AcceleratorType + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.AcceleratorType(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentAccountAttribute(v **types.AccountAttribute, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -44814,6 +45376,76 @@ func awsEc2query_deserializeDocumentAvailableInstanceCapacityListUnwrapped(v *[] *v = sv return nil } +func awsEc2query_deserializeDocumentBaselineEbsBandwidthMbps(v **types.BaselineEbsBandwidthMbps, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.BaselineEbsBandwidthMbps + if *v == nil { + sv = &types.BaselineEbsBandwidthMbps{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentBlockDeviceMapping(v **types.BlockDeviceMapping, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -49991,6 +50623,86 @@ func awsEc2query_deserializeDocumentCoreCountListUnwrapped(v *[]int32, decoder s *v = sv return nil } +func awsEc2query_deserializeDocumentCpuManufacturerSet(v *[]types.CpuManufacturer, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.CpuManufacturer + if *v == nil { + sv = make([]types.CpuManufacturer, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.CpuManufacturer + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.CpuManufacturer(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentCpuManufacturerSetUnwrapped(v *[]types.CpuManufacturer, decoder smithyxml.NodeDecoder) error { + var sv []types.CpuManufacturer + if *v == nil { + sv = make([]types.CpuManufacturer, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.CpuManufacturer + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.CpuManufacturer(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentCpuOptions(v **types.CpuOptions, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -55799,6 +56511,86 @@ func awsEc2query_deserializeDocumentEventInformation(v **types.EventInformation, return nil } +func awsEc2query_deserializeDocumentExcludedInstanceTypeSet(v *[]string, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col string + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = xtv + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentExcludedInstanceTypeSetUnwrapped(v *[]string, decoder smithyxml.NodeDecoder) error { + var sv []string + if *v == nil { + sv = make([]string, 0) + } else { + sv = *v + } + + switch { + default: + var mv string + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = xtv + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentExplanation(v **types.Explanation, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -57788,6 +58580,12 @@ func awsEc2query_deserializeDocumentFleetLaunchTemplateOverrides(v **types.Fleet sv.AvailabilityZone = ptr.String(xtv) } + case strings.EqualFold("instanceRequirements", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceRequirements(&sv.InstanceRequirements, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("instanceType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -65021,6 +65819,86 @@ func awsEc2query_deserializeDocumentInstanceFamilyCreditSpecification(v **types. return nil } +func awsEc2query_deserializeDocumentInstanceGenerationSet(v *[]types.InstanceGeneration, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.InstanceGeneration + if *v == nil { + sv = make([]types.InstanceGeneration, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.InstanceGeneration + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.InstanceGeneration(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentInstanceGenerationSetUnwrapped(v *[]types.InstanceGeneration, decoder smithyxml.NodeDecoder) error { + var sv []types.InstanceGeneration + if *v == nil { + sv = make([]types.InstanceGeneration, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.InstanceGeneration + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.InstanceGeneration(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentInstanceIdList(v *[]string, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -66918,6 +67796,221 @@ func awsEc2query_deserializeDocumentInstancePrivateIpAddressListUnwrapped(v *[]t *v = sv return nil } +func awsEc2query_deserializeDocumentInstanceRequirements(v **types.InstanceRequirements, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.InstanceRequirements + if *v == nil { + sv = &types.InstanceRequirements{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("acceleratorCount", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentAcceleratorCount(&sv.AcceleratorCount, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("acceleratorManufacturerSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentAcceleratorManufacturerSet(&sv.AcceleratorManufacturers, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("acceleratorNameSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentAcceleratorNameSet(&sv.AcceleratorNames, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("acceleratorTotalMemoryMiB", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentAcceleratorTotalMemoryMiB(&sv.AcceleratorTotalMemoryMiB, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("acceleratorTypeSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentAcceleratorTypeSet(&sv.AcceleratorTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("bareMetal", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.BareMetal = types.BareMetal(xtv) + } + + case strings.EqualFold("baselineEbsBandwidthMbps", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentBaselineEbsBandwidthMbps(&sv.BaselineEbsBandwidthMbps, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("burstablePerformance", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.BurstablePerformance = types.BurstablePerformance(xtv) + } + + case strings.EqualFold("cpuManufacturerSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentCpuManufacturerSet(&sv.CpuManufacturers, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("excludedInstanceTypeSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentExcludedInstanceTypeSet(&sv.ExcludedInstanceTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("instanceGenerationSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceGenerationSet(&sv.InstanceGenerations, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("localStorage", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.LocalStorage = types.LocalStorage(xtv) + } + + case strings.EqualFold("localStorageTypeSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentLocalStorageTypeSet(&sv.LocalStorageTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("memoryGiBPerVCpu", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentMemoryGiBPerVCpu(&sv.MemoryGiBPerVCpu, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("memoryMiB", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentMemoryMiB(&sv.MemoryMiB, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("networkInterfaceCount", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentNetworkInterfaceCount(&sv.NetworkInterfaceCount, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("onDemandMaxPricePercentageOverLowestPrice", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.OnDemandMaxPricePercentageOverLowestPrice = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("requireHibernateSupport", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.RequireHibernateSupport = ptr.Bool(xtv) + } + + case strings.EqualFold("spotMaxPricePercentageOverLowestPrice", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.SpotMaxPricePercentageOverLowestPrice = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("totalLocalStorageGB", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentTotalLocalStorageGB(&sv.TotalLocalStorageGB, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("vCpuCount", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentVCpuCountRange(&sv.VCpuCount, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentInstanceState(v **types.InstanceState, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -68173,6 +69266,123 @@ func awsEc2query_deserializeDocumentInstanceTypeInfo(v **types.InstanceTypeInfo, return nil } +func awsEc2query_deserializeDocumentInstanceTypeInfoFromInstanceRequirements(v **types.InstanceTypeInfoFromInstanceRequirements, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.InstanceTypeInfoFromInstanceRequirements + if *v == nil { + sv = &types.InstanceTypeInfoFromInstanceRequirements{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("instanceType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.InstanceType = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentInstanceTypeInfoFromInstanceRequirementsSet(v *[]types.InstanceTypeInfoFromInstanceRequirements, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.InstanceTypeInfoFromInstanceRequirements + if *v == nil { + sv = make([]types.InstanceTypeInfoFromInstanceRequirements, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.InstanceTypeInfoFromInstanceRequirements + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsEc2query_deserializeDocumentInstanceTypeInfoFromInstanceRequirements(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentInstanceTypeInfoFromInstanceRequirementsSetUnwrapped(v *[]types.InstanceTypeInfoFromInstanceRequirements, decoder smithyxml.NodeDecoder) error { + var sv []types.InstanceTypeInfoFromInstanceRequirements + if *v == nil { + sv = make([]types.InstanceTypeInfoFromInstanceRequirements, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.InstanceTypeInfoFromInstanceRequirements + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsEc2query_deserializeDocumentInstanceTypeInfoFromInstanceRequirements(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentInstanceTypeInfoList(v *[]types.InstanceTypeInfo, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -70895,6 +72105,32 @@ func awsEc2query_deserializeDocumentLaunchPermission(v **types.LaunchPermission, sv.Group = types.PermissionGroup(xtv) } + case strings.EqualFold("organizationalUnitArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.OrganizationalUnitArn = ptr.String(xtv) + } + + case strings.EqualFold("organizationArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.OrganizationArn = ptr.String(xtv) + } + case strings.EqualFold("userId", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -72939,6 +74175,12 @@ func awsEc2query_deserializeDocumentLaunchTemplateOverrides(v **types.LaunchTemp sv.AvailabilityZone = ptr.String(xtv) } + case strings.EqualFold("instanceRequirements", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceRequirements(&sv.InstanceRequirements, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("instanceType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -75505,6 +76747,86 @@ func awsEc2query_deserializeDocumentLocalGatewayVirtualInterfaceSetUnwrapped(v * *v = sv return nil } +func awsEc2query_deserializeDocumentLocalStorageTypeSet(v *[]types.LocalStorageType, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.LocalStorageType + if *v == nil { + sv = make([]types.LocalStorageType, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.LocalStorageType + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.LocalStorageType(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentLocalStorageTypeSetUnwrapped(v *[]types.LocalStorageType, decoder smithyxml.NodeDecoder) error { + var sv []types.LocalStorageType + if *v == nil { + sv = make([]types.LocalStorageType, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.LocalStorageType + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.LocalStorageType(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentManagedPrefixList(v **types.ManagedPrefixList, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -75740,6 +77062,76 @@ func awsEc2query_deserializeDocumentManagedPrefixListSetUnwrapped(v *[]types.Man *v = sv return nil } +func awsEc2query_deserializeDocumentMemoryGiBPerVCpu(v **types.MemoryGiBPerVCpu, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.MemoryGiBPerVCpu + if *v == nil { + sv = &types.MemoryGiBPerVCpu{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Max = ptr.Float64(f64) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Min = ptr.Float64(f64) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentMemoryInfo(v **types.MemoryInfo, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -75793,6 +77185,76 @@ func awsEc2query_deserializeDocumentMemoryInfo(v **types.MemoryInfo, decoder smi return nil } +func awsEc2query_deserializeDocumentMemoryMiB(v **types.MemoryMiB, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.MemoryMiB + if *v == nil { + sv = &types.MemoryMiB{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentMonitoring(v **types.Monitoring, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -77774,6 +79236,22 @@ func awsEc2query_deserializeDocumentNetworkInterface(v **types.NetworkInterface, sv.AvailabilityZone = ptr.String(xtv) } + case strings.EqualFold("denyAllIgwTraffic", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.DenyAllIgwTraffic = ptr.Bool(xtv) + } + case strings.EqualFold("description", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -78294,6 +79772,76 @@ func awsEc2query_deserializeDocumentNetworkInterfaceAttachment(v **types.Network return nil } +func awsEc2query_deserializeDocumentNetworkInterfaceCount(v **types.NetworkInterfaceCount, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.NetworkInterfaceCount + if *v == nil { + sv = &types.NetworkInterfaceCount{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentNetworkInterfaceIpv6Address(v **types.NetworkInterfaceIpv6Address, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -86211,6 +87759,12 @@ func awsEc2query_deserializeDocumentResponseLaunchTemplateData(v **types.Respons return err } + case strings.EqualFold("instanceRequirements", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceRequirements(&sv.InstanceRequirements, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("instanceType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -90516,6 +92070,12 @@ func awsEc2query_deserializeDocumentSpotFleetLaunchSpecification(v **types.SpotF sv.ImageId = ptr.String(xtv) } + case strings.EqualFold("instanceRequirements", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceRequirements(&sv.InstanceRequirements, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("instanceType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -91107,6 +92667,19 @@ func awsEc2query_deserializeDocumentSpotFleetRequestConfigData(v **types.SpotFle sv.TargetCapacity = ptr.Int32(int32(i64)) } + case strings.EqualFold("targetCapacityUnitType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.TargetCapacityUnitType = types.TargetCapacityUnitType(xtv) + } + case strings.EqualFold("terminateInstancesWithExpiration", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -92119,6 +93692,153 @@ func awsEc2query_deserializeDocumentSpotPlacement(v **types.SpotPlacement, decod return nil } +func awsEc2query_deserializeDocumentSpotPlacementScore(v **types.SpotPlacementScore, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.SpotPlacementScore + if *v == nil { + sv = &types.SpotPlacementScore{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("availabilityZoneId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.AvailabilityZoneId = ptr.String(xtv) + } + + case strings.EqualFold("region", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Region = ptr.String(xtv) + } + + case strings.EqualFold("score", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Score = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentSpotPlacementScores(v *[]types.SpotPlacementScore, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.SpotPlacementScore + if *v == nil { + sv = make([]types.SpotPlacementScore, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.SpotPlacementScore + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsEc2query_deserializeDocumentSpotPlacementScore(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentSpotPlacementScoresUnwrapped(v *[]types.SpotPlacementScore, decoder smithyxml.NodeDecoder) error { + var sv []types.SpotPlacementScore + if *v == nil { + sv = make([]types.SpotPlacementScore, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.SpotPlacementScore + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsEc2query_deserializeDocumentSpotPlacementScore(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentSpotPrice(v **types.SpotPrice, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -94571,6 +96291,19 @@ func awsEc2query_deserializeDocumentTargetCapacitySpecification(v **types.Target sv.SpotTargetCapacity = ptr.Int32(int32(i64)) } + case strings.EqualFold("targetCapacityUnitType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.TargetCapacityUnitType = types.TargetCapacityUnitType(xtv) + } + case strings.EqualFold("totalTargetCapacity", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -95328,6 +97061,76 @@ func awsEc2query_deserializeDocumentThreadsPerCoreListUnwrapped(v *[]int32, deco *v = sv return nil } +func awsEc2query_deserializeDocumentTotalLocalStorageGB(v **types.TotalLocalStorageGB, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.TotalLocalStorageGB + if *v == nil { + sv = &types.TotalLocalStorageGB{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Max = ptr.Float64(f64) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + f64, err := strconv.ParseFloat(xtv, 64) + if err != nil { + return err + } + sv.Min = ptr.Float64(f64) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentTrafficMirrorFilter(v **types.TrafficMirrorFilter, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -102083,6 +103886,76 @@ func awsEc2query_deserializeDocumentValueStringListUnwrapped(v *[]string, decode *v = sv return nil } +func awsEc2query_deserializeDocumentVCpuCountRange(v **types.VCpuCountRange, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.VCpuCountRange + if *v == nil { + sv = &types.VCpuCountRange{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("max", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Max = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("min", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.Min = ptr.Int32(int32(i64)) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentVCpuInfo(v **types.VCpuInfo, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -105913,6 +107786,32 @@ func awsEc2query_deserializeDocumentVpnConnection(v **types.VpnConnection, decod sv.Category = ptr.String(xtv) } + case strings.EqualFold("coreNetworkArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.CoreNetworkArn = ptr.String(xtv) + } + + case strings.EqualFold("coreNetworkAttachmentArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.CoreNetworkAttachmentArn = ptr.String(xtv) + } + case strings.EqualFold("customerGatewayConfiguration", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -105939,6 +107838,19 @@ func awsEc2query_deserializeDocumentVpnConnection(v **types.VpnConnection, decod sv.CustomerGatewayId = ptr.String(xtv) } + case strings.EqualFold("gatewayAssociationState", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.GatewayAssociationState = ptr.String(xtv) + } + case strings.EqualFold("options", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) if err := awsEc2query_deserializeDocumentVpnConnectionOptions(&sv.Options, nodeDecoder); err != nil { @@ -123607,6 +125519,61 @@ func awsEc2query_deserializeOpDocumentGetHostReservationPurchasePreviewOutput(v return nil } +func awsEc2query_deserializeOpDocumentGetInstanceTypesFromInstanceRequirementsOutput(v **GetInstanceTypesFromInstanceRequirementsOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *GetInstanceTypesFromInstanceRequirementsOutput + if *v == nil { + sv = &GetInstanceTypesFromInstanceRequirementsOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("instanceTypeSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceTypeInfoFromInstanceRequirementsSet(&sv.InstanceTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("nextToken", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextToken = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeOpDocumentGetLaunchTemplateDataOutput(v **GetLaunchTemplateDataOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -124022,6 +125989,61 @@ func awsEc2query_deserializeOpDocumentGetSerialConsoleAccessStatusOutput(v **Get return nil } +func awsEc2query_deserializeOpDocumentGetSpotPlacementScoresOutput(v **GetSpotPlacementScoresOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *GetSpotPlacementScoresOutput + if *v == nil { + sv = &GetSpotPlacementScoresOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("nextToken", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextToken = ptr.String(xtv) + } + + case strings.EqualFold("spotPlacementScoreSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentSpotPlacementScores(&sv.SpotPlacementScores, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeOpDocumentGetSubnetCidrReservationsOutput(v **GetSubnetCidrReservationsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/ec2/generated.json b/service/ec2/generated.json index 28941d7a210..13bcd8c4b34 100644 --- a/service/ec2/generated.json +++ b/service/ec2/generated.json @@ -355,12 +355,14 @@ "api_op_GetFlowLogsIntegrationTemplate.go", "api_op_GetGroupsForCapacityReservation.go", "api_op_GetHostReservationPurchasePreview.go", + "api_op_GetInstanceTypesFromInstanceRequirements.go", "api_op_GetLaunchTemplateData.go", "api_op_GetManagedPrefixListAssociations.go", "api_op_GetManagedPrefixListEntries.go", "api_op_GetPasswordData.go", "api_op_GetReservedInstancesExchangeQuote.go", "api_op_GetSerialConsoleAccessStatus.go", + "api_op_GetSpotPlacementScores.go", "api_op_GetSubnetCidrReservations.go", "api_op_GetTransitGatewayAttachmentPropagations.go", "api_op_GetTransitGatewayMulticastDomainAssociations.go", diff --git a/service/ec2/serializers.go b/service/ec2/serializers.go index f13717999dc..a68a7a57b8a 100644 --- a/service/ec2/serializers.go +++ b/service/ec2/serializers.go @@ -19448,6 +19448,62 @@ func (m *awsEc2query_serializeOpGetHostReservationPurchasePreview) HandleSeriali return next.HandleSerialize(ctx, in) } +type awsEc2query_serializeOpGetInstanceTypesFromInstanceRequirements struct { +} + +func (*awsEc2query_serializeOpGetInstanceTypesFromInstanceRequirements) ID() string { + return "OperationSerializer" +} + +func (m *awsEc2query_serializeOpGetInstanceTypesFromInstanceRequirements) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetInstanceTypesFromInstanceRequirementsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("GetInstanceTypesFromInstanceRequirements") + body.Key("Version").String("2016-11-15") + + if err := awsEc2query_serializeOpDocumentGetInstanceTypesFromInstanceRequirementsInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsEc2query_serializeOpGetLaunchTemplateData struct { } @@ -19784,6 +19840,62 @@ func (m *awsEc2query_serializeOpGetSerialConsoleAccessStatus) HandleSerialize(ct return next.HandleSerialize(ctx, in) } +type awsEc2query_serializeOpGetSpotPlacementScores struct { +} + +func (*awsEc2query_serializeOpGetSpotPlacementScores) ID() string { + return "OperationSerializer" +} + +func (m *awsEc2query_serializeOpGetSpotPlacementScores) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetSpotPlacementScoresInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("GetSpotPlacementScores") + body.Key("Version").String("2016-11-15") + + if err := awsEc2query_serializeOpDocumentGetSpotPlacementScoresInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsEc2query_serializeOpGetSubnetCidrReservations struct { } @@ -26391,6 +26503,113 @@ func (m *awsEc2query_serializeOpWithdrawByoipCidr) HandleSerialize(ctx context.C return next.HandleSerialize(ctx, in) } +func awsEc2query_serializeDocumentAcceleratorCount(v *types.AcceleratorCount, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentAcceleratorCountRequest(v *types.AcceleratorCountRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentAcceleratorManufacturerSet(v []types.AcceleratorManufacturer, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsEc2query_serializeDocumentAcceleratorNameSet(v []types.AcceleratorName, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsEc2query_serializeDocumentAcceleratorTotalMemoryMiB(v *types.AcceleratorTotalMemoryMiB, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentAcceleratorTotalMemoryMiBRequest(v *types.AcceleratorTotalMemoryMiBRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentAcceleratorTypeSet(v []types.AcceleratorType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsEc2query_serializeDocumentAccountAttributeNameStringList(v []types.AccountAttributeName, value query.Value) error { if len(v) == 0 { return nil @@ -26462,6 +26681,19 @@ func awsEc2query_serializeDocumentAllocationIds(v []string, value query.Value) e return nil } +func awsEc2query_serializeDocumentArchitectureTypeSet(v []types.ArchitectureType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsEc2query_serializeDocumentArnList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -26567,6 +26799,40 @@ func awsEc2query_serializeDocumentAvailabilityZoneStringList(v []string, value q return nil } +func awsEc2query_serializeDocumentBaselineEbsBandwidthMbps(v *types.BaselineEbsBandwidthMbps, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentBaselineEbsBandwidthMbpsRequest(v *types.BaselineEbsBandwidthMbpsRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsEc2query_serializeDocumentBillingProductList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -27013,6 +27279,19 @@ func awsEc2query_serializeDocumentConversionIdStringList(v []string, value query return nil } +func awsEc2query_serializeDocumentCpuManufacturerSet(v []types.CpuManufacturer, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsEc2query_serializeDocumentCpuOptionsRequest(v *types.CpuOptionsRequest, value query.Value) error { object := value.Object() _ = object @@ -27519,6 +27798,19 @@ func awsEc2query_serializeDocumentEnclaveOptionsRequest(v *types.EnclaveOptionsR return nil } +func awsEc2query_serializeDocumentExcludedInstanceTypeSet(v []string, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsEc2query_serializeDocumentExecutableByStringList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -27726,6 +28018,13 @@ func awsEc2query_serializeDocumentFleetLaunchTemplateOverridesRequest(v *types.F objectKey.String(*v.AvailabilityZone) } + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsEc2query_serializeDocumentInstanceRequirementsRequest(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + if len(v.InstanceType) > 0 { objectKey := object.Key("InstanceType") objectKey.String(string(v.InstanceType)) @@ -28456,6 +28755,19 @@ func awsEc2query_serializeDocumentInstanceEventWindowTimeRangeRequestSet(v []typ return nil } +func awsEc2query_serializeDocumentInstanceGenerationSet(v []types.InstanceGeneration, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsEc2query_serializeDocumentInstanceIdList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -28709,17 +29021,329 @@ func awsEc2query_serializeDocumentInstanceNetworkInterfaceSpecificationList(v [] return nil } -func awsEc2query_serializeDocumentInstanceSpecification(v *types.InstanceSpecification, value query.Value) error { +func awsEc2query_serializeDocumentInstanceRequirements(v *types.InstanceRequirements, value query.Value) error { object := value.Object() _ = object - if v.ExcludeBootVolume != nil { - objectKey := object.Key("ExcludeBootVolume") - objectKey.Boolean(*v.ExcludeBootVolume) + if v.AcceleratorCount != nil { + objectKey := object.Key("AcceleratorCount") + if err := awsEc2query_serializeDocumentAcceleratorCount(v.AcceleratorCount, objectKey); err != nil { + return err + } } - if v.InstanceId != nil { - objectKey := object.Key("InstanceId") + if v.AcceleratorManufacturers != nil { + objectKey := object.FlatKey("AcceleratorManufacturerSet") + if err := awsEc2query_serializeDocumentAcceleratorManufacturerSet(v.AcceleratorManufacturers, objectKey); err != nil { + return err + } + } + + if v.AcceleratorNames != nil { + objectKey := object.FlatKey("AcceleratorNameSet") + if err := awsEc2query_serializeDocumentAcceleratorNameSet(v.AcceleratorNames, objectKey); err != nil { + return err + } + } + + if v.AcceleratorTotalMemoryMiB != nil { + objectKey := object.Key("AcceleratorTotalMemoryMiB") + if err := awsEc2query_serializeDocumentAcceleratorTotalMemoryMiB(v.AcceleratorTotalMemoryMiB, objectKey); err != nil { + return err + } + } + + if v.AcceleratorTypes != nil { + objectKey := object.FlatKey("AcceleratorTypeSet") + if err := awsEc2query_serializeDocumentAcceleratorTypeSet(v.AcceleratorTypes, objectKey); err != nil { + return err + } + } + + if len(v.BareMetal) > 0 { + objectKey := object.Key("BareMetal") + objectKey.String(string(v.BareMetal)) + } + + if v.BaselineEbsBandwidthMbps != nil { + objectKey := object.Key("BaselineEbsBandwidthMbps") + if err := awsEc2query_serializeDocumentBaselineEbsBandwidthMbps(v.BaselineEbsBandwidthMbps, objectKey); err != nil { + return err + } + } + + if len(v.BurstablePerformance) > 0 { + objectKey := object.Key("BurstablePerformance") + objectKey.String(string(v.BurstablePerformance)) + } + + if v.CpuManufacturers != nil { + objectKey := object.FlatKey("CpuManufacturerSet") + if err := awsEc2query_serializeDocumentCpuManufacturerSet(v.CpuManufacturers, objectKey); err != nil { + return err + } + } + + if v.ExcludedInstanceTypes != nil { + objectKey := object.FlatKey("ExcludedInstanceTypeSet") + if err := awsEc2query_serializeDocumentExcludedInstanceTypeSet(v.ExcludedInstanceTypes, objectKey); err != nil { + return err + } + } + + if v.InstanceGenerations != nil { + objectKey := object.FlatKey("InstanceGenerationSet") + if err := awsEc2query_serializeDocumentInstanceGenerationSet(v.InstanceGenerations, objectKey); err != nil { + return err + } + } + + if len(v.LocalStorage) > 0 { + objectKey := object.Key("LocalStorage") + objectKey.String(string(v.LocalStorage)) + } + + if v.LocalStorageTypes != nil { + objectKey := object.FlatKey("LocalStorageTypeSet") + if err := awsEc2query_serializeDocumentLocalStorageTypeSet(v.LocalStorageTypes, objectKey); err != nil { + return err + } + } + + if v.MemoryGiBPerVCpu != nil { + objectKey := object.Key("MemoryGiBPerVCpu") + if err := awsEc2query_serializeDocumentMemoryGiBPerVCpu(v.MemoryGiBPerVCpu, objectKey); err != nil { + return err + } + } + + if v.MemoryMiB != nil { + objectKey := object.Key("MemoryMiB") + if err := awsEc2query_serializeDocumentMemoryMiB(v.MemoryMiB, objectKey); err != nil { + return err + } + } + + if v.NetworkInterfaceCount != nil { + objectKey := object.Key("NetworkInterfaceCount") + if err := awsEc2query_serializeDocumentNetworkInterfaceCount(v.NetworkInterfaceCount, objectKey); err != nil { + return err + } + } + + if v.OnDemandMaxPricePercentageOverLowestPrice != nil { + objectKey := object.Key("OnDemandMaxPricePercentageOverLowestPrice") + objectKey.Integer(*v.OnDemandMaxPricePercentageOverLowestPrice) + } + + if v.RequireHibernateSupport != nil { + objectKey := object.Key("RequireHibernateSupport") + objectKey.Boolean(*v.RequireHibernateSupport) + } + + if v.SpotMaxPricePercentageOverLowestPrice != nil { + objectKey := object.Key("SpotMaxPricePercentageOverLowestPrice") + objectKey.Integer(*v.SpotMaxPricePercentageOverLowestPrice) + } + + if v.TotalLocalStorageGB != nil { + objectKey := object.Key("TotalLocalStorageGB") + if err := awsEc2query_serializeDocumentTotalLocalStorageGB(v.TotalLocalStorageGB, objectKey); err != nil { + return err + } + } + + if v.VCpuCount != nil { + objectKey := object.Key("VCpuCount") + if err := awsEc2query_serializeDocumentVCpuCountRange(v.VCpuCount, objectKey); err != nil { + return err + } + } + + return nil +} + +func awsEc2query_serializeDocumentInstanceRequirementsRequest(v *types.InstanceRequirementsRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.AcceleratorCount != nil { + objectKey := object.Key("AcceleratorCount") + if err := awsEc2query_serializeDocumentAcceleratorCountRequest(v.AcceleratorCount, objectKey); err != nil { + return err + } + } + + if v.AcceleratorManufacturers != nil { + objectKey := object.FlatKey("AcceleratorManufacturer") + if err := awsEc2query_serializeDocumentAcceleratorManufacturerSet(v.AcceleratorManufacturers, objectKey); err != nil { + return err + } + } + + if v.AcceleratorNames != nil { + objectKey := object.FlatKey("AcceleratorName") + if err := awsEc2query_serializeDocumentAcceleratorNameSet(v.AcceleratorNames, objectKey); err != nil { + return err + } + } + + if v.AcceleratorTotalMemoryMiB != nil { + objectKey := object.Key("AcceleratorTotalMemoryMiB") + if err := awsEc2query_serializeDocumentAcceleratorTotalMemoryMiBRequest(v.AcceleratorTotalMemoryMiB, objectKey); err != nil { + return err + } + } + + if v.AcceleratorTypes != nil { + objectKey := object.FlatKey("AcceleratorType") + if err := awsEc2query_serializeDocumentAcceleratorTypeSet(v.AcceleratorTypes, objectKey); err != nil { + return err + } + } + + if len(v.BareMetal) > 0 { + objectKey := object.Key("BareMetal") + objectKey.String(string(v.BareMetal)) + } + + if v.BaselineEbsBandwidthMbps != nil { + objectKey := object.Key("BaselineEbsBandwidthMbps") + if err := awsEc2query_serializeDocumentBaselineEbsBandwidthMbpsRequest(v.BaselineEbsBandwidthMbps, objectKey); err != nil { + return err + } + } + + if len(v.BurstablePerformance) > 0 { + objectKey := object.Key("BurstablePerformance") + objectKey.String(string(v.BurstablePerformance)) + } + + if v.CpuManufacturers != nil { + objectKey := object.FlatKey("CpuManufacturer") + if err := awsEc2query_serializeDocumentCpuManufacturerSet(v.CpuManufacturers, objectKey); err != nil { + return err + } + } + + if v.ExcludedInstanceTypes != nil { + objectKey := object.FlatKey("ExcludedInstanceType") + if err := awsEc2query_serializeDocumentExcludedInstanceTypeSet(v.ExcludedInstanceTypes, objectKey); err != nil { + return err + } + } + + if v.InstanceGenerations != nil { + objectKey := object.FlatKey("InstanceGeneration") + if err := awsEc2query_serializeDocumentInstanceGenerationSet(v.InstanceGenerations, objectKey); err != nil { + return err + } + } + + if len(v.LocalStorage) > 0 { + objectKey := object.Key("LocalStorage") + objectKey.String(string(v.LocalStorage)) + } + + if v.LocalStorageTypes != nil { + objectKey := object.FlatKey("LocalStorageType") + if err := awsEc2query_serializeDocumentLocalStorageTypeSet(v.LocalStorageTypes, objectKey); err != nil { + return err + } + } + + if v.MemoryGiBPerVCpu != nil { + objectKey := object.Key("MemoryGiBPerVCpu") + if err := awsEc2query_serializeDocumentMemoryGiBPerVCpuRequest(v.MemoryGiBPerVCpu, objectKey); err != nil { + return err + } + } + + if v.MemoryMiB != nil { + objectKey := object.Key("MemoryMiB") + if err := awsEc2query_serializeDocumentMemoryMiBRequest(v.MemoryMiB, objectKey); err != nil { + return err + } + } + + if v.NetworkInterfaceCount != nil { + objectKey := object.Key("NetworkInterfaceCount") + if err := awsEc2query_serializeDocumentNetworkInterfaceCountRequest(v.NetworkInterfaceCount, objectKey); err != nil { + return err + } + } + + if v.OnDemandMaxPricePercentageOverLowestPrice != nil { + objectKey := object.Key("OnDemandMaxPricePercentageOverLowestPrice") + objectKey.Integer(*v.OnDemandMaxPricePercentageOverLowestPrice) + } + + if v.RequireHibernateSupport != nil { + objectKey := object.Key("RequireHibernateSupport") + objectKey.Boolean(*v.RequireHibernateSupport) + } + + if v.SpotMaxPricePercentageOverLowestPrice != nil { + objectKey := object.Key("SpotMaxPricePercentageOverLowestPrice") + objectKey.Integer(*v.SpotMaxPricePercentageOverLowestPrice) + } + + if v.TotalLocalStorageGB != nil { + objectKey := object.Key("TotalLocalStorageGB") + if err := awsEc2query_serializeDocumentTotalLocalStorageGBRequest(v.TotalLocalStorageGB, objectKey); err != nil { + return err + } + } + + if v.VCpuCount != nil { + objectKey := object.Key("VCpuCount") + if err := awsEc2query_serializeDocumentVCpuCountRangeRequest(v.VCpuCount, objectKey); err != nil { + return err + } + } + + return nil +} + +func awsEc2query_serializeDocumentInstanceRequirementsWithMetadataRequest(v *types.InstanceRequirementsWithMetadataRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.ArchitectureTypes != nil { + objectKey := object.FlatKey("ArchitectureType") + if err := awsEc2query_serializeDocumentArchitectureTypeSet(v.ArchitectureTypes, objectKey); err != nil { + return err + } + } + + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsEc2query_serializeDocumentInstanceRequirementsRequest(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + + if v.VirtualizationTypes != nil { + objectKey := object.FlatKey("VirtualizationType") + if err := awsEc2query_serializeDocumentVirtualizationTypeSet(v.VirtualizationTypes, objectKey); err != nil { + return err + } + } + + return nil +} + +func awsEc2query_serializeDocumentInstanceSpecification(v *types.InstanceSpecification, value query.Value) error { + object := value.Object() + _ = object + + if v.ExcludeBootVolume != nil { + objectKey := object.Key("ExcludeBootVolume") + objectKey.Boolean(*v.ExcludeBootVolume) + } + + if v.InstanceId != nil { + objectKey := object.Key("InstanceId") objectKey.String(*v.InstanceId) } @@ -28752,6 +29376,19 @@ func awsEc2query_serializeDocumentInstanceTypeList(v []types.InstanceType, value return nil } +func awsEc2query_serializeDocumentInstanceTypes(v []string, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Member") + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsEc2query_serializeDocumentIntegrateServices(v *types.IntegrateServices, value query.Value) error { object := value.Object() _ = object @@ -29036,6 +29673,16 @@ func awsEc2query_serializeDocumentLaunchPermission(v *types.LaunchPermission, va objectKey.String(string(v.Group)) } + if v.OrganizationalUnitArn != nil { + objectKey := object.Key("OrganizationalUnitArn") + objectKey.String(*v.OrganizationalUnitArn) + } + + if v.OrganizationArn != nil { + objectKey := object.Key("OrganizationArn") + objectKey.String(*v.OrganizationArn) + } + if v.UserId != nil { objectKey := object.Key("UserId") objectKey.String(*v.UserId) @@ -29566,6 +30213,13 @@ func awsEc2query_serializeDocumentLaunchTemplateOverrides(v *types.LaunchTemplat objectKey.String(*v.AvailabilityZone) } + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsEc2query_serializeDocumentInstanceRequirements(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + if len(v.InstanceType) > 0 { objectKey := object.Key("InstanceType") objectKey.String(string(v.InstanceType)) @@ -29961,6 +30615,139 @@ func awsEc2query_serializeDocumentLocalGatewayVirtualInterfaceIdSet(v []string, return nil } +func awsEc2query_serializeDocumentLocalStorageTypeSet(v []types.LocalStorageType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsEc2query_serializeDocumentMemoryGiBPerVCpu(v *types.MemoryGiBPerVCpu, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + switch { + case math.IsNaN(*v.Max): + objectKey.String("NaN") + + case math.IsInf(*v.Max, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Max, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Max) + + } + } + + if v.Min != nil { + objectKey := object.Key("Min") + switch { + case math.IsNaN(*v.Min): + objectKey.String("NaN") + + case math.IsInf(*v.Min, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Min, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Min) + + } + } + + return nil +} + +func awsEc2query_serializeDocumentMemoryGiBPerVCpuRequest(v *types.MemoryGiBPerVCpuRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + switch { + case math.IsNaN(*v.Max): + objectKey.String("NaN") + + case math.IsInf(*v.Max, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Max, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Max) + + } + } + + if v.Min != nil { + objectKey := object.Key("Min") + switch { + case math.IsNaN(*v.Min): + objectKey.String("NaN") + + case math.IsInf(*v.Min, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Min, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Min) + + } + } + + return nil +} + +func awsEc2query_serializeDocumentMemoryMiB(v *types.MemoryMiB, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentMemoryMiBRequest(v *types.MemoryMiBRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsEc2query_serializeDocumentModifyTransitGatewayOptions(v *types.ModifyTransitGatewayOptions, value query.Value) error { object := value.Object() _ = object @@ -30219,6 +31006,40 @@ func awsEc2query_serializeDocumentNetworkInterfaceAttachmentChanges(v *types.Net return nil } +func awsEc2query_serializeDocumentNetworkInterfaceCount(v *types.NetworkInterfaceCount, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentNetworkInterfaceCountRequest(v *types.NetworkInterfaceCountRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsEc2query_serializeDocumentNetworkInterfaceIdList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -30331,6 +31152,32 @@ func awsEc2query_serializeDocumentOnDemandOptionsRequest(v *types.OnDemandOption return nil } +func awsEc2query_serializeDocumentOrganizationalUnitArnStringList(v []string, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("OrganizationalUnitArn") + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsEc2query_serializeDocumentOrganizationArnStringList(v []string, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("OrganizationArn") + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsEc2query_serializeDocumentOwnerStringList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -30870,6 +31717,19 @@ func awsEc2query_serializeDocumentReasonCodesList(v []types.ReportInstanceReason return nil } +func awsEc2query_serializeDocumentRegionNames(v []string, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Member") + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsEc2query_serializeDocumentRegionNameStringList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -31075,6 +31935,13 @@ func awsEc2query_serializeDocumentRequestLaunchTemplateData(v *types.RequestLaun } } + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsEc2query_serializeDocumentInstanceRequirementsRequest(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + if len(v.InstanceType) > 0 { objectKey := object.Key("InstanceType") objectKey.String(string(v.InstanceType)) @@ -32294,6 +33161,13 @@ func awsEc2query_serializeDocumentSpotFleetLaunchSpecification(v *types.SpotFlee objectKey.String(*v.ImageId) } + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsEc2query_serializeDocumentInstanceRequirements(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + if len(v.InstanceType) > 0 { objectKey := object.Key("InstanceType") objectKey.String(string(v.InstanceType)) @@ -32542,6 +33416,11 @@ func awsEc2query_serializeDocumentSpotFleetRequestConfigData(v *types.SpotFleetR objectKey.Integer(*v.TargetCapacity) } + if len(v.TargetCapacityUnitType) > 0 { + objectKey := object.Key("TargetCapacityUnitType") + objectKey.String(string(v.TargetCapacityUnitType)) + } + if v.TerminateInstancesWithExpiration != nil { objectKey := object.Key("TerminateInstancesWithExpiration") objectKey.Boolean(*v.TerminateInstancesWithExpiration) @@ -32871,6 +33750,11 @@ func awsEc2query_serializeDocumentTargetCapacitySpecificationRequest(v *types.Ta objectKey.Integer(*v.SpotTargetCapacity) } + if len(v.TargetCapacityUnitType) > 0 { + objectKey := object.Key("TargetCapacityUnitType") + objectKey.String(string(v.TargetCapacityUnitType)) + } + if v.TotalTargetCapacity != nil { objectKey := object.Key("TotalTargetCapacity") objectKey.Integer(*v.TotalTargetCapacity) @@ -32952,6 +33836,92 @@ func awsEc2query_serializeDocumentTargetGroupsConfig(v *types.TargetGroupsConfig return nil } +func awsEc2query_serializeDocumentTotalLocalStorageGB(v *types.TotalLocalStorageGB, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + switch { + case math.IsNaN(*v.Max): + objectKey.String("NaN") + + case math.IsInf(*v.Max, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Max, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Max) + + } + } + + if v.Min != nil { + objectKey := object.Key("Min") + switch { + case math.IsNaN(*v.Min): + objectKey.String("NaN") + + case math.IsInf(*v.Min, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Min, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Min) + + } + } + + return nil +} + +func awsEc2query_serializeDocumentTotalLocalStorageGBRequest(v *types.TotalLocalStorageGBRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + switch { + case math.IsNaN(*v.Max): + objectKey.String("NaN") + + case math.IsInf(*v.Max, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Max, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Max) + + } + } + + if v.Min != nil { + objectKey := object.Key("Min") + switch { + case math.IsNaN(*v.Min): + objectKey.String("NaN") + + case math.IsInf(*v.Min, 1): + objectKey.String("Infinity") + + case math.IsInf(*v.Min, -1): + objectKey.String("-Infinity") + + default: + objectKey.Double(*v.Min) + + } + } + + return nil +} + func awsEc2query_serializeDocumentTrafficMirrorFilterIdList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -33350,6 +34320,40 @@ func awsEc2query_serializeDocumentValueStringList(v []string, value query.Value) return nil } +func awsEc2query_serializeDocumentVCpuCountRange(v *types.VCpuCountRange, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + +func awsEc2query_serializeDocumentVCpuCountRangeRequest(v *types.VCpuCountRangeRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.Max != nil { + objectKey := object.Key("Max") + objectKey.Integer(*v.Max) + } + + if v.Min != nil { + objectKey := object.Key("Min") + objectKey.Integer(*v.Min) + } + + return nil +} + func awsEc2query_serializeDocumentVersionStringList(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -33363,6 +34367,19 @@ func awsEc2query_serializeDocumentVersionStringList(v []string, value query.Valu return nil } +func awsEc2query_serializeDocumentVirtualizationTypeSet(v []types.VirtualizationType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("Item") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + func awsEc2query_serializeDocumentVolumeDetail(v *types.VolumeDetail, value query.Value) error { object := value.Object() _ = object @@ -44224,6 +45241,49 @@ func awsEc2query_serializeOpDocumentGetHostReservationPurchasePreviewInput(v *Ge return nil } +func awsEc2query_serializeOpDocumentGetInstanceTypesFromInstanceRequirementsInput(v *GetInstanceTypesFromInstanceRequirementsInput, value query.Value) error { + object := value.Object() + _ = object + + if v.ArchitectureTypes != nil { + objectKey := object.FlatKey("ArchitectureType") + if err := awsEc2query_serializeDocumentArchitectureTypeSet(v.ArchitectureTypes, objectKey); err != nil { + return err + } + } + + if v.DryRun != nil { + objectKey := object.Key("DryRun") + objectKey.Boolean(*v.DryRun) + } + + if v.InstanceRequirements != nil { + objectKey := object.Key("InstanceRequirements") + if err := awsEc2query_serializeDocumentInstanceRequirementsRequest(v.InstanceRequirements, objectKey); err != nil { + return err + } + } + + if v.MaxResults != nil { + objectKey := object.Key("MaxResults") + objectKey.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + objectKey := object.Key("NextToken") + objectKey.String(*v.NextToken) + } + + if v.VirtualizationTypes != nil { + objectKey := object.FlatKey("VirtualizationType") + if err := awsEc2query_serializeDocumentVirtualizationTypeSet(v.VirtualizationTypes, objectKey); err != nil { + return err + } + } + + return nil +} + func awsEc2query_serializeOpDocumentGetLaunchTemplateDataInput(v *GetLaunchTemplateDataInput, value query.Value) error { object := value.Object() _ = object @@ -44355,6 +45415,64 @@ func awsEc2query_serializeOpDocumentGetSerialConsoleAccessStatusInput(v *GetSeri return nil } +func awsEc2query_serializeOpDocumentGetSpotPlacementScoresInput(v *GetSpotPlacementScoresInput, value query.Value) error { + object := value.Object() + _ = object + + if v.DryRun != nil { + objectKey := object.Key("DryRun") + objectKey.Boolean(*v.DryRun) + } + + if v.InstanceRequirementsWithMetadata != nil { + objectKey := object.Key("InstanceRequirementsWithMetadata") + if err := awsEc2query_serializeDocumentInstanceRequirementsWithMetadataRequest(v.InstanceRequirementsWithMetadata, objectKey); err != nil { + return err + } + } + + if v.InstanceTypes != nil { + objectKey := object.FlatKey("InstanceType") + if err := awsEc2query_serializeDocumentInstanceTypes(v.InstanceTypes, objectKey); err != nil { + return err + } + } + + if v.MaxResults != nil { + objectKey := object.Key("MaxResults") + objectKey.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + objectKey := object.Key("NextToken") + objectKey.String(*v.NextToken) + } + + if v.RegionNames != nil { + objectKey := object.FlatKey("RegionName") + if err := awsEc2query_serializeDocumentRegionNames(v.RegionNames, objectKey); err != nil { + return err + } + } + + if v.SingleAvailabilityZone != nil { + objectKey := object.Key("SingleAvailabilityZone") + objectKey.Boolean(*v.SingleAvailabilityZone) + } + + if v.TargetCapacity != nil { + objectKey := object.Key("TargetCapacity") + objectKey.Integer(*v.TargetCapacity) + } + + if len(v.TargetCapacityUnitType) > 0 { + objectKey := object.Key("TargetCapacityUnitType") + objectKey.String(string(v.TargetCapacityUnitType)) + } + + return nil +} + func awsEc2query_serializeOpDocumentGetSubnetCidrReservationsInput(v *GetSubnetCidrReservationsInput, value query.Value) error { object := value.Object() _ = object @@ -44969,6 +46087,11 @@ func awsEc2query_serializeOpDocumentModifyCapacityReservationInput(v *ModifyCapa objectKey.Boolean(*v.Accept) } + if v.AdditionalInfo != nil { + objectKey := object.Key("AdditionalInfo") + objectKey.String(*v.AdditionalInfo) + } + if v.CapacityReservationId != nil { objectKey := object.Key("CapacityReservationId") objectKey.String(*v.CapacityReservationId) @@ -45328,6 +46451,20 @@ func awsEc2query_serializeOpDocumentModifyImageAttributeInput(v *ModifyImageAttr objectKey.String(string(v.OperationType)) } + if v.OrganizationalUnitArns != nil { + objectKey := object.FlatKey("OrganizationalUnitArn") + if err := awsEc2query_serializeDocumentOrganizationalUnitArnStringList(v.OrganizationalUnitArns, objectKey); err != nil { + return err + } + } + + if v.OrganizationArns != nil { + objectKey := object.FlatKey("OrganizationArn") + if err := awsEc2query_serializeDocumentOrganizationArnStringList(v.OrganizationArns, objectKey); err != nil { + return err + } + } + if v.ProductCodes != nil { objectKey := object.FlatKey("ProductCode") if err := awsEc2query_serializeDocumentProductCodeStringList(v.ProductCodes, objectKey); err != nil { diff --git a/service/ec2/types/enums.go b/service/ec2/types/enums.go index e6c30d82ad7..46fb514caac 100644 --- a/service/ec2/types/enums.go +++ b/service/ec2/types/enums.go @@ -2,6 +2,76 @@ package types +type AcceleratorManufacturer string + +// Enum values for AcceleratorManufacturer +const ( + AcceleratorManufacturerNvidia AcceleratorManufacturer = "nvidia" + AcceleratorManufacturerAmd AcceleratorManufacturer = "amd" + AcceleratorManufacturerAmazonWebServices AcceleratorManufacturer = "amazon-web-services" + AcceleratorManufacturerXilinx AcceleratorManufacturer = "xilinx" +) + +// Values returns all known values for AcceleratorManufacturer. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AcceleratorManufacturer) Values() []AcceleratorManufacturer { + return []AcceleratorManufacturer{ + "nvidia", + "amd", + "amazon-web-services", + "xilinx", + } +} + +type AcceleratorName string + +// Enum values for AcceleratorName +const ( + AcceleratorNameA100 AcceleratorName = "a100" + AcceleratorNameV100 AcceleratorName = "v100" + AcceleratorNameK80 AcceleratorName = "k80" + AcceleratorNameT4 AcceleratorName = "t4" + AcceleratorNameM60 AcceleratorName = "m60" + AcceleratorNameRadeonProV520 AcceleratorName = "radeon-pro-v520" + AcceleratorNameVu9p AcceleratorName = "vu9p" +) + +// Values returns all known values for AcceleratorName. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AcceleratorName) Values() []AcceleratorName { + return []AcceleratorName{ + "a100", + "v100", + "k80", + "t4", + "m60", + "radeon-pro-v520", + "vu9p", + } +} + +type AcceleratorType string + +// Enum values for AcceleratorType +const ( + AcceleratorTypeGpu AcceleratorType = "gpu" + AcceleratorTypeFpga AcceleratorType = "fpga" + AcceleratorTypeInference AcceleratorType = "inference" +) + +// Values returns all known values for AcceleratorType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AcceleratorType) Values() []AcceleratorType { + return []AcceleratorType{ + "gpu", + "fpga", + "inference", + } +} + type AccountAttributeName string // Enum values for AccountAttributeName @@ -384,6 +454,26 @@ func (AvailabilityZoneState) Values() []AvailabilityZoneState { } } +type BareMetal string + +// Enum values for BareMetal +const ( + BareMetalIncluded BareMetal = "included" + BareMetalRequired BareMetal = "required" + BareMetalExcluded BareMetal = "excluded" +) + +// Values returns all known values for BareMetal. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (BareMetal) Values() []BareMetal { + return []BareMetal{ + "included", + "required", + "excluded", + } +} + type BatchState string // Enum values for BatchState @@ -494,6 +584,26 @@ func (BundleTaskState) Values() []BundleTaskState { } } +type BurstablePerformance string + +// Enum values for BurstablePerformance +const ( + BurstablePerformanceIncluded BurstablePerformance = "included" + BurstablePerformanceRequired BurstablePerformance = "required" + BurstablePerformanceExcluded BurstablePerformance = "excluded" +) + +// Values returns all known values for BurstablePerformance. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (BurstablePerformance) Values() []BurstablePerformance { + return []BurstablePerformance{ + "included", + "required", + "excluded", + } +} + type ByoipCidrState string // Enum values for ByoipCidrState @@ -978,6 +1088,26 @@ func (CopyTagsFromSource) Values() []CopyTagsFromSource { } } +type CpuManufacturer string + +// Enum values for CpuManufacturer +const ( + CpuManufacturerIntel CpuManufacturer = "intel" + CpuManufacturerAmd CpuManufacturer = "amd" + CpuManufacturerAmazonWebServices CpuManufacturer = "amazon-web-services" +) + +// Values returns all known values for CpuManufacturer. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (CpuManufacturer) Values() []CpuManufacturer { + return []CpuManufacturer{ + "intel", + "amd", + "amazon-web-services", + } +} + type CurrencyCodeValues string // Enum values for CurrencyCodeValues @@ -2053,6 +2183,24 @@ func (InstanceEventWindowState) Values() []InstanceEventWindowState { } } +type InstanceGeneration string + +// Enum values for InstanceGeneration +const ( + InstanceGenerationCurrent InstanceGeneration = "current" + InstanceGenerationPrevious InstanceGeneration = "previous" +) + +// Values returns all known values for InstanceGeneration. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (InstanceGeneration) Values() []InstanceGeneration { + return []InstanceGeneration{ + "current", + "previous", + } +} + type InstanceHealthStatus string // Enum values for InstanceHealthStatus @@ -2520,6 +2668,7 @@ const ( InstanceTypeD3en6xlarge InstanceType = "d3en.6xlarge" InstanceTypeD3en8xlarge InstanceType = "d3en.8xlarge" InstanceTypeD3en12xlarge InstanceType = "d3en.12xlarge" + InstanceTypeDl124xlarge InstanceType = "dl1.24xlarge" InstanceTypeF12xlarge InstanceType = "f1.2xlarge" InstanceTypeF14xlarge InstanceType = "f1.4xlarge" InstanceTypeF116xlarge InstanceType = "f1.16xlarge" @@ -2947,6 +3096,7 @@ func (InstanceType) Values() []InstanceType { "d3en.6xlarge", "d3en.8xlarge", "d3en.12xlarge", + "dl1.24xlarge", "f1.2xlarge", "f1.4xlarge", "f1.16xlarge", @@ -3378,6 +3528,44 @@ func (LocalGatewayRouteType) Values() []LocalGatewayRouteType { } } +type LocalStorage string + +// Enum values for LocalStorage +const ( + LocalStorageIncluded LocalStorage = "included" + LocalStorageRequired LocalStorage = "required" + LocalStorageExcluded LocalStorage = "excluded" +) + +// Values returns all known values for LocalStorage. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (LocalStorage) Values() []LocalStorage { + return []LocalStorage{ + "included", + "required", + "excluded", + } +} + +type LocalStorageType string + +// Enum values for LocalStorageType +const ( + LocalStorageTypeHdd LocalStorageType = "hdd" + LocalStorageTypeSsd LocalStorageType = "ssd" +) + +// Values returns all known values for LocalStorageType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (LocalStorageType) Values() []LocalStorageType { + return []LocalStorageType{ + "hdd", + "ssd", + } +} + type LocationType string // Enum values for LocationType @@ -4846,6 +5034,26 @@ func (SummaryStatus) Values() []SummaryStatus { } } +type TargetCapacityUnitType string + +// Enum values for TargetCapacityUnitType +const ( + TargetCapacityUnitTypeVcpu TargetCapacityUnitType = "vcpu" + TargetCapacityUnitTypeMemoryMib TargetCapacityUnitType = "memory-mib" + TargetCapacityUnitTypeUnits TargetCapacityUnitType = "units" +) + +// Values returns all known values for TargetCapacityUnitType. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (TargetCapacityUnitType) Values() []TargetCapacityUnitType { + return []TargetCapacityUnitType{ + "vcpu", + "memory-mib", + "units", + } +} + type TelemetryStatus string // Enum values for TelemetryStatus diff --git a/service/ec2/types/types.go b/service/ec2/types/types.go index 6fff33faf3e..6f9683da2cb 100644 --- a/service/ec2/types/types.go +++ b/service/ec2/types/types.go @@ -7,6 +7,65 @@ import ( "time" ) +// The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web +// Services Inferentia chips) on an instance. +type AcceleratorCount struct { + + // The maximum number of accelerators. If this parameter is not specified, there is + // no maximum limit. + Max *int32 + + // The minimum number of accelerators. If this parameter is not specified, there is + // no minimum limit. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web +// Services Inferentia chips) on an instance. To exclude accelerator-enabled +// instance types, set Max to 0. +type AcceleratorCountRequest struct { + + // The maximum number of accelerators. To specify no maximum limit, omit this + // parameter. To exclude accelerator-enabled instance types, set Max to 0. + Max *int32 + + // The minimum number of accelerators. To specify no minimum limit, omit this + // parameter. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum amount of total accelerator memory, in MiB. +type AcceleratorTotalMemoryMiB struct { + + // The maximum amount of accelerator memory, in MiB. If this parameter is not + // specified, there is no maximum limit. + Max *int32 + + // The minimum amount of accelerator memory, in MiB. If this parameter is not + // specified, there is no minimum limit. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum amount of total accelerator memory, in MiB. +type AcceleratorTotalMemoryMiBRequest struct { + + // The maximum amount of accelerator memory, in MiB. To specify no maximum limit, + // omit this parameter. + Max *int32 + + // The minimum amount of accelerator memory, in MiB. To specify no minimum limit, + // omit this parameter. + Min *int32 + + noSmithyDocumentSerde +} + // Describes an account attribute. type AccountAttribute struct { @@ -511,6 +570,40 @@ type AvailableCapacity struct { noSmithyDocumentSerde } +// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more +// information, see Amazon EBS–optimized instances +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the +// Amazon EC2 User Guide. +type BaselineEbsBandwidthMbps struct { + + // The maximum baseline bandwidth, in Mbps. If this parameter is not specified, + // there is no maximum limit. + Max *int32 + + // The minimum baseline bandwidth, in Mbps. If this parameter is not specified, + // there is no minimum limit. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more +// information, see Amazon EBS–optimized instances +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the +// Amazon EC2 User Guide. +type BaselineEbsBandwidthMbpsRequest struct { + + // The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this + // parameter. + Max *int32 + + // The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this + // parameter. + Min *int32 + + noSmithyDocumentSerde +} + type BlobAttributeValue struct { Value []byte @@ -3387,7 +3480,13 @@ type FleetLaunchTemplateOverrides struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string - // The instance type. + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. If you specify + // InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements + + // The instance type. If you specify InstanceTypes, you can't specify + // InstanceRequirements. InstanceType InstanceType // The maximum price per unit hour that you are willing to pay for a Spot Instance. @@ -3423,7 +3522,13 @@ type FleetLaunchTemplateOverridesRequest struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string - // The instance type. + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. If you specify + // InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirementsRequest + + // The instance type. If you specify InstanceTypes, you can't specify + // InstanceRequirements. InstanceType InstanceType // The maximum price per unit hour that you are willing to pay for a Spot Instance. @@ -5330,6 +5435,495 @@ type InstancePrivateIpAddress struct { noSmithyDocumentSerde } +// The attributes for the instance types. When you specify instance attributes, +// Amazon EC2 will identify instance types with these attributes. 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. You must specify VCpuCount and +// MemoryMiB. All other parameters are optional. Any unspecified optional parameter +// is set to its default. For more information, see Attribute-based instance type +// selection for EC2 Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), +// Attribute-based instance type selection for Spot Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), +// and Spot placement score +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide. +type InstanceRequirements struct { + + // The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web + // Services Inferentia chips) on an instance. To exclude accelerator-enabled + // instance types, set Max to 0. Default: No minimum or maximum limits + AcceleratorCount *AcceleratorCount + + // Indicates whether instance types must have accelerators by specific + // manufacturers. + // + // * For instance types with NVIDIA devices, specify nvidia. + // + // * For + // instance types with AMD devices, specify amd. + // + // * For instance types with Amazon + // Web Services devices, specify amazon-web-services. + // + // * For instance types with + // Xilinx devices, specify xilinx. + // + // Default: Any manufacturer + AcceleratorManufacturers []AcceleratorManufacturer + + // The accelerators that must be on the instance type. + // + // * For instance types with + // NVIDIA A100 GPUs, specify a100. + // + // * For instance types with NVIDIA V100 GPUs, + // specify v100. + // + // * For instance types with NVIDIA K80 GPUs, specify k80. + // + // * For + // instance types with NVIDIA T4 GPUs, specify t4. + // + // * For instance types with + // NVIDIA M60 GPUs, specify m60. + // + // * For instance types with AMD Radeon Pro V520 + // GPUs, specify radeon-pro-v520. + // + // * For instance types with Xilinx VU9P FPGAs, + // specify vu9p. + // + // Default: Any accelerator + AcceleratorNames []AcceleratorName + + // The minimum and maximum amount of total accelerator memory, in MiB. Default: No + // minimum or maximum limits + AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiB + + // The accelerator types that must be on the instance type. + // + // * For instance types + // with GPU accelerators, specify gpu. + // + // * For instance types with FPGA + // accelerators, specify fpga. + // + // * For instance types with inference accelerators, + // specify inference. + // + // Default: Any accelerator type + AcceleratorTypes []AcceleratorType + + // Indicates whether bare metal instance types must be included, excluded, or + // required. + // + // * To include bare metal instance types, specify included. + // + // * To + // require only bare metal instance types, specify required. + // + // * To exclude bare + // metal instance types, specify excluded. + // + // Default: excluded + BareMetal BareMetal + + // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more + // information, see Amazon EBS–optimized instances + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the + // Amazon EC2 User Guide. Default: No minimum or maximum limits + BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbps + + // Indicates whether burstable performance T instance types are included, excluded, + // or required. For more information, see Burstable performance instances + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). + // + // * + // To include burstable performance instance types, specify included. + // + // * To require + // only burstable performance instance types, specify required. + // + // * To exclude + // burstable performance instance types, specify excluded. + // + // Default: excluded + BurstablePerformance BurstablePerformance + + // The CPU manufacturers to include. + // + // * For instance types with Intel CPUs, specify + // intel. + // + // * For instance types with AMD CPUs, specify amd. + // + // * For instance types + // with Amazon Web Services CPUs, specify amazon-web-services. + // + // Don't confuse the + // CPU manufacturer with the CPU architecture. Instances will be launched with a + // compatible CPU architecture based on the Amazon Machine Image (AMI) that you + // specify in your launch template. Default: Any manufacturer + CpuManufacturers []CpuManufacturer + + // The instance types to exclude. You can use strings with one or more wild cards, + // represented by an asterisk (*), to exclude an instance type, size, or + // generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For + // example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance + // family, which includes all C5a and C5n instance types. If you specify m5a.*, + // Amazon EC2 will exclude all the M5a instance types, but not the M5n instance + // types. Default: No excluded instance types + ExcludedInstanceTypes []string + + // Indicates whether current or previous generation instance types are included. + // The current generation instance types are recommended for use. Current + // generation instance types are typically the latest two to three generations in + // each instance family. For more information, see Instance types + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the + // Amazon EC2 User Guide. For current generation instance types, specify current. + // For previous generation instance types, specify previous. Default: Current and + // previous generation instance types + InstanceGenerations []InstanceGeneration + + // Indicates whether instance types with instance store volumes are included, + // excluded, or required. For more information, Amazon EC2 instance store + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in + // the Amazon EC2 User Guide. + // + // * To include instance types with instance store + // volumes, specify included. + // + // * To require only instance types with instance store + // volumes, specify required. + // + // * To exclude instance types with instance store + // volumes, specify excluded. + // + // Default: included + LocalStorage LocalStorage + + // The type of local storage that is required. + // + // * For instance types with hard disk + // drive (HDD) storage, specify hdd. + // + // * For instance types with solid state drive + // (SDD) storage, specify sdd. + // + // Default: hdd and sdd + LocalStorageTypes []LocalStorageType + + // The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum + // or maximum limits + MemoryGiBPerVCpu *MemoryGiBPerVCpu + + // The minimum and maximum amount of memory, in MiB. + MemoryMiB *MemoryMiB + + // The minimum and maximum number of network interfaces. Default: No minimum or + // maximum limits + NetworkInterfaceCount *NetworkInterfaceCount + + // The price protection threshold for On-Demand Instances. This is the maximum + // you’ll pay for an On-Demand Instance, expressed as a percentage above the + // cheapest M, C, or R instance type with your specified attributes. When Amazon + // EC2 selects instance types with your attributes, it excludes instance types + // priced above your threshold. The parameter accepts an integer, which Amazon EC2 + // interprets as a percentage. To turn off price protection, specify a high value, + // such as 999999. This parameter is not supported for GetSpotPlacementScores + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // Default: 20 + OnDemandMaxPricePercentageOverLowestPrice *int32 + + // Indicates whether instance types must support hibernation for On-Demand + // Instances. This parameter is not supported for GetSpotPlacementScores + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html). + // Default: false + RequireHibernateSupport *bool + + // The price protection threshold for Spot Instances. This is the maximum you’ll + // pay for a Spot Instance, expressed as a percentage above the cheapest M, C, or R + // instance type with your specified attributes. When Amazon EC2 selects instance + // types with your attributes, it excludes instance types priced above your + // threshold. The parameter accepts an integer, which Amazon EC2 interprets as a + // percentage. To turn off price protection, specify a high value, such as 999999. + // This parameter is not supported for GetSpotPlacementScores + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // Default: 100 + SpotMaxPricePercentageOverLowestPrice *int32 + + // The minimum and maximum amount of total local storage, in GB. Default: No + // minimum or maximum limits + TotalLocalStorageGB *TotalLocalStorageGB + + // The minimum and maximum number of vCPUs. + VCpuCount *VCpuCountRange + + noSmithyDocumentSerde +} + +// The attributes for the instance types. When you specify instance attributes, +// Amazon EC2 will identify instance types with these attributes. 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. You must specify VCpuCount and +// MemoryMiB. All other parameters are optional. Any unspecified optional parameter +// is set to its default. For more information, see Attribute-based instance type +// selection for EC2 Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), +// Attribute-based instance type selection for Spot Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), +// and Spot placement score +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) +// in the Amazon EC2 User Guide. +type InstanceRequirementsRequest struct { + + // The minimum and maximum amount of memory, in MiB. + // + // This member is required. + MemoryMiB *MemoryMiBRequest + + // The minimum and maximum number of vCPUs. + // + // This member is required. + VCpuCount *VCpuCountRangeRequest + + // The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web + // Services Inferentia chips) on an instance. To exclude accelerator-enabled + // instance types, set Max to 0. Default: No minimum or maximum limits + AcceleratorCount *AcceleratorCountRequest + + // Indicates whether instance types must have accelerators by specific + // manufacturers. + // + // * For instance types with NVIDIA devices, specify nvidia. + // + // * For + // instance types with AMD devices, specify amd. + // + // * For instance types with Amazon + // Web Services devices, specify amazon-web-services. + // + // * For instance types with + // Xilinx devices, specify xilinx. + // + // Default: Any manufacturer + AcceleratorManufacturers []AcceleratorManufacturer + + // The accelerators that must be on the instance type. + // + // * For instance types with + // NVIDIA A100 GPUs, specify a100. + // + // * For instance types with NVIDIA V100 GPUs, + // specify v100. + // + // * For instance types with NVIDIA K80 GPUs, specify k80. + // + // * For + // instance types with NVIDIA T4 GPUs, specify t4. + // + // * For instance types with + // NVIDIA M60 GPUs, specify m60. + // + // * For instance types with AMD Radeon Pro V520 + // GPUs, specify radeon-pro-v520. + // + // * For instance types with Xilinx VU9P FPGAs, + // specify vu9p. + // + // Default: Any accelerator + AcceleratorNames []AcceleratorName + + // The minimum and maximum amount of total accelerator memory, in MiB. Default: No + // minimum or maximum limits + AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiBRequest + + // The accelerator types that must be on the instance type. + // + // * To include instance + // types with GPU hardware, specify gpu. + // + // * To include instance types with FPGA + // hardware, specify fpga. + // + // * To include instance types with inference hardware, + // specify inference. + // + // Default: Any accelerator type + AcceleratorTypes []AcceleratorType + + // Indicates whether bare metal instance types must be included, excluded, or + // required. + // + // * To include bare metal instance types, specify included. + // + // * To + // require only bare metal instance types, specify required. + // + // * To exclude bare + // metal instance types, specify excluded. + // + // Default: excluded + BareMetal BareMetal + + // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more + // information, see Amazon EBS–optimized instances + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the + // Amazon EC2 User Guide. Default: No minimum or maximum limits + BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbpsRequest + + // Indicates whether burstable performance T instance types are included, excluded, + // or required. For more information, see Burstable performance instances + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). + // + // * + // To include burstable performance instance types, specify included. + // + // * To require + // only burstable performance instance types, specify required. + // + // * To exclude + // burstable performance instance types, specify excluded. + // + // Default: excluded + BurstablePerformance BurstablePerformance + + // The CPU manufacturers to include. + // + // * For instance types with Intel CPUs, specify + // intel. + // + // * For instance types with AMD CPUs, specify amd. + // + // * For instance types + // with Amazon Web Services CPUs, specify amazon-web-services. + // + // Don't confuse the + // CPU manufacturer with the CPU architecture. Instances will be launched with a + // compatible CPU architecture based on the Amazon Machine Image (AMI) that you + // specify in your launch template. Default: Any manufacturer + CpuManufacturers []CpuManufacturer + + // The instance types to exclude. You can use strings with one or more wild cards, + // represented by an asterisk (*), to exclude an instance family, type, size, or + // generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For + // example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance + // family, which includes all C5a and C5n instance types. If you specify m5a.*, + // Amazon EC2 will exclude all the M5a instance types, but not the M5n instance + // types. Default: No excluded instance types + ExcludedInstanceTypes []string + + // Indicates whether current or previous generation instance types are included. + // The current generation instance types are recommended for use. Current + // generation instance types are typically the latest two to three generations in + // each instance family. For more information, see Instance types + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the + // Amazon EC2 User Guide. For current generation instance types, specify current. + // For previous generation instance types, specify previous. Default: Current and + // previous generation instance types + InstanceGenerations []InstanceGeneration + + // Indicates whether instance types with instance store volumes are included, + // excluded, or required. For more information, Amazon EC2 instance store + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in + // the Amazon EC2 User Guide. + // + // * To include instance types with instance store + // volumes, specify included. + // + // * To require only instance types with instance store + // volumes, specify required. + // + // * To exclude instance types with instance store + // volumes, specify excluded. + // + // Default: included + LocalStorage LocalStorage + + // The type of local storage that is required. + // + // * For instance types with hard disk + // drive (HDD) storage, specify hdd. + // + // * For instance types with solid state drive + // (SDD) storage, specify sdd. + // + // Default: hdd and sdd + LocalStorageTypes []LocalStorageType + + // The minimum and maximum amount of memory per vCPU, in GiB. Default: No minimum + // or maximum limits + MemoryGiBPerVCpu *MemoryGiBPerVCpuRequest + + // The minimum and maximum number of network interfaces. Default: No minimum or + // maximum limits + NetworkInterfaceCount *NetworkInterfaceCountRequest + + // The price protection threshold for On-Demand Instances. This is the maximum + // you’ll pay for an On-Demand Instance, expressed as a percentage above the + // cheapest M, C, or R instance type with your specified attributes. When Amazon + // EC2 selects instance types with your attributes, it excludes instance types + // priced above your threshold. The parameter accepts an integer, which Amazon EC2 + // interprets as a percentage. To turn off price protection, specify a high value, + // such as 999999. This parameter is not supported for GetSpotPlacementScores + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // Default: 20 + OnDemandMaxPricePercentageOverLowestPrice *int32 + + // Indicates whether instance types must support hibernation for On-Demand + // Instances. This parameter is not supported for GetSpotPlacementScores + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html). + // Default: false + RequireHibernateSupport *bool + + // The price protection threshold for Spot Instance. This is the maximum you’ll pay + // for an Spot Instance, expressed as a percentage above the cheapest M, C, or R + // instance type with your specified attributes. When Amazon EC2 selects instance + // types with your attributes, it excludes instance types priced above your + // threshold. The parameter accepts an integer, which Amazon EC2 interprets as a + // percentage. To turn off price protection, specify a high value, such as 999999. + // This parameter is not supported for GetSpotPlacementScores + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // Default: 100 + SpotMaxPricePercentageOverLowestPrice *int32 + + // The minimum and maximum amount of total local storage, in GB. Default: No + // minimum or maximum limits + TotalLocalStorageGB *TotalLocalStorageGBRequest + + noSmithyDocumentSerde +} + +// The architecture type, virtualization type, and other attributes for the +// instance types. When you specify instance attributes, Amazon EC2 will identify +// instance types with those attributes. If you specify +// InstanceRequirementsWithMetadataRequest, you can't specify InstanceTypes. +type InstanceRequirementsWithMetadataRequest struct { + + // The architecture type. + ArchitectureTypes []ArchitectureType + + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. + InstanceRequirements *InstanceRequirementsRequest + + // The virtualization type. + VirtualizationTypes []VirtualizationType + + noSmithyDocumentSerde +} + // The instance details to specify which volumes should be snapshotted. type InstanceSpecification struct { @@ -5590,6 +6184,15 @@ type InstanceTypeInfo struct { noSmithyDocumentSerde } +// The list of instance types with the specified instance attributes. +type InstanceTypeInfoFromInstanceRequirements struct { + + // The matching instance type. + InstanceType *string + + noSmithyDocumentSerde +} + // The instance types offered. type InstanceTypeOffering struct { @@ -5888,6 +6491,12 @@ type LaunchPermission struct { // The name of the group. Group PermissionGroup + // The Amazon Resource Name (ARN) of an organization. + OrganizationArn *string + + // The Amazon Resource Name (ARN) of an organizational unit (OU). + OrganizationalUnitArn *string + // The Amazon Web Services account ID. Constraints: Up to 10 000 account IDs can be // specified in a single request. UserId *string @@ -6606,6 +7215,13 @@ type LaunchTemplateOverrides struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string + // The instance requirements. When you specify instance requirements, Amazon EC2 + // will identify instance types with the provided requirements, and then use your + // On-Demand and Spot allocation strategies to launch instances from these instance + // types, in the same way as when you specify a list of instance types. If you + // specify InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements + // The instance type. InstanceType InstanceType @@ -7143,6 +7759,34 @@ type ManagedPrefixList struct { noSmithyDocumentSerde } +// The minimum and maximum amount of memory per vCPU, in GiB. +type MemoryGiBPerVCpu struct { + + // The maximum amount of memory per vCPU, in GiB. If this parameter is not + // specified, there is no maximum limit. + Max *float64 + + // The minimum amount of memory per vCPU, in GiB. If this parameter is not + // specified, there is no minimum limit. + Min *float64 + + noSmithyDocumentSerde +} + +// The minimum and maximum amount of memory per vCPU, in GiB. +type MemoryGiBPerVCpuRequest struct { + + // The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit + // this parameter. + Max *float64 + + // The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit + // this parameter. + Min *float64 + + noSmithyDocumentSerde +} + // Describes the memory for the instance type. type MemoryInfo struct { @@ -7152,6 +7796,35 @@ type MemoryInfo struct { noSmithyDocumentSerde } +// The minimum and maximum amount of memory, in MiB. +type MemoryMiB struct { + + // The maximum amount of memory, in MiB. If this parameter is not specified, there + // is no maximum limit. + Max *int32 + + // The minimum amount of memory, in MiB. If this parameter is not specified, there + // is no minimum limit. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum amount of memory, in MiB. +type MemoryMiBRequest struct { + + // The minimum amount of memory, in MiB. To specify no minimum limit, specify 0. + // + // This member is required. + Min *int32 + + // The maximum amount of memory, in MiB. To specify no maximum limit, omit this + // parameter. + Max *int32 + + noSmithyDocumentSerde +} + // The transit gateway options. type ModifyTransitGatewayOptions struct { @@ -7678,6 +8351,13 @@ type NetworkInterface struct { // The Availability Zone. AvailabilityZone *string + // Indicates whether a network interface with an IPv6 address is unreachable from + // the public internet. If the value is true, inbound traffic from the internet is + // dropped and you cannot assign an elastic IP address to the network interface. + // The network interface is reachable from peered VPCs and resources connected + // through a transit gateway, including on-premises networks. + DenyAllIgwTraffic *bool + // A description. Description *string @@ -7817,6 +8497,34 @@ type NetworkInterfaceAttachmentChanges struct { noSmithyDocumentSerde } +// The minimum and maximum number of network interfaces. +type NetworkInterfaceCount struct { + + // The maximum number of network interfaces. If this parameter is not specified, + // there is no maximum limit. + Max *int32 + + // The minimum number of network interfaces. If this parameter is not specified, + // there is no minimum limit. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum number of network interfaces. +type NetworkInterfaceCountRequest struct { + + // The maximum number of network interfaces. To specify no maximum limit, omit this + // parameter. + Max *int32 + + // The minimum number of network interfaces. To specify no minimum limit, omit this + // parameter. + Min *int32 + + noSmithyDocumentSerde +} + // Describes an IPv6 address associated with a network interface. type NetworkInterfaceIpv6Address struct { @@ -8850,9 +9558,15 @@ type RequestLaunchTemplateData struct { // The market (purchasing) option for the instances. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with these attributes. If you specify + // InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirementsRequest + // The instance type. For more information, see Instance Types // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the - // Amazon Elastic Compute Cloud User Guide. + // Amazon Elastic Compute Cloud User Guide. If you specify InstanceTypes, you can't + // specify InstanceRequirements. InstanceType InstanceType // The ID of the kernel. We recommend that you use PV-GRUB instead of kernels and @@ -9419,6 +10133,11 @@ type ResponseLaunchTemplateData struct { // The market (purchasing) option for the instances. InstanceMarketOptions *LaunchTemplateInstanceMarketOptions + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with these attributes. If you specify + // InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements + // The instance type. InstanceType InstanceType @@ -10615,6 +11334,11 @@ type SpotFleetLaunchSpecification struct { // The ID of the AMI. ImageId *string + // The attributes for the instance types. When you specify instance attributes, + // Amazon EC2 will identify instance types with those attributes. If you specify + // InstanceRequirements, you can't specify InstanceTypes. + InstanceRequirements *InstanceRequirements + // The instance type. InstanceType InstanceType @@ -10869,6 +11593,10 @@ type SpotFleetRequestConfigData struct { // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources). TagSpecifications []TagSpecification + // The unit for the target capacity. Default: units (translates to number of + // instances) + TargetCapacityUnitType TargetCapacityUnitType + // Indicates whether running Spot Instances are terminated when the Spot Fleet // request expires. TerminateInstancesWithExpiration *bool @@ -11203,6 +11931,26 @@ type SpotPlacement struct { noSmithyDocumentSerde } +// The Spot placement score for this Region or Availability Zone. The score is +// calculated based on the assumption that the capacity-optimized allocation +// strategy is used and that all of the Availability Zones in the Region can be +// used. +type SpotPlacementScore struct { + + // The Availability Zone. + AvailabilityZoneId *string + + // The Region. + Region *string + + // The placement score, on a scale from 1 to 10. A score of 10 indicates that your + // Spot request is highly likely to succeed in this Region or Availability Zone. A + // score of 1 indicates that your Spot request is not likely to succeed. + Score *int32 + + noSmithyDocumentSerde +} + // Describes the maximum price per hour that you are willing to pay for a Spot // Instance. type SpotPrice struct { @@ -11601,6 +12349,10 @@ type TargetCapacitySpecification struct { // On-Demand units, you cannot specify a target capacity for Spot units. SpotTargetCapacity *int32 + // The unit for the target capacity. Default: units (translates to number of + // instances) + TargetCapacityUnitType TargetCapacityUnitType + // The number of units to request, filled using DefaultTargetCapacityType. TotalTargetCapacity *int32 @@ -11638,6 +12390,10 @@ type TargetCapacitySpecificationRequest struct { // The number of Spot units to request. SpotTargetCapacity *int32 + // The unit for the target capacity. Default: units (translates to number of + // instances) + TargetCapacityUnitType TargetCapacityUnitType + noSmithyDocumentSerde } @@ -11742,6 +12498,34 @@ type TerminateConnectionStatus struct { noSmithyDocumentSerde } +// The minimum and maximum amount of total local storage, in GB. +type TotalLocalStorageGB struct { + + // The maximum amount of total local storage, in GB. If this parameter is not + // specified, there is no maximum limit. + Max *float64 + + // The minimum amount of total local storage, in GB. If this parameter is not + // specified, there is no minimum limit. + Min *float64 + + noSmithyDocumentSerde +} + +// The minimum and maximum amount of total local storage, in GB. +type TotalLocalStorageGBRequest struct { + + // The maximum amount of total local storage, in GB. To specify no maximum limit, + // omit this parameter. + Max *float64 + + // The minimum amount of total local storage, in GB. To specify no minimum limit, + // omit this parameter. + Min *float64 + + noSmithyDocumentSerde +} + // Describes the Traffic Mirror filter. type TrafficMirrorFilter struct { @@ -12892,6 +13676,33 @@ type ValidationWarning struct { noSmithyDocumentSerde } +// The minimum and maximum number of vCPUs. +type VCpuCountRange struct { + + // The maximum number of vCPUs. If this parameter is not specified, there is no + // maximum limit. + Max *int32 + + // The minimum number of vCPUs. If the value is 0, there is no minimum limit. + Min *int32 + + noSmithyDocumentSerde +} + +// The minimum and maximum number of vCPUs. +type VCpuCountRangeRequest struct { + + // The minimum number of vCPUs. To specify no minimum limit, specify 0. + // + // This member is required. + Min *int32 + + // The maximum number of vCPUs. To specify no maximum limit, omit this parameter. + Max *int32 + + noSmithyDocumentSerde +} + // Describes the vCPU configurations for the instance type. type VCpuInfo struct { @@ -13487,6 +14298,12 @@ type VpnConnection struct { // Classic VPN connection. Category *string + // The ARN of the core network. + CoreNetworkArn *string + + // The ARN of the core network attachment. + CoreNetworkAttachmentArn *string + // The configuration information for the VPN connection's customer gateway (in the // native XML format). This element is always present in the CreateVpnConnection // response; however, it's present in the DescribeVpnConnections response only if @@ -13496,6 +14313,9 @@ type VpnConnection struct { // The ID of the customer gateway at your end of the VPN connection. CustomerGatewayId *string + // The current state of the gateway association. + GatewayAssociationState *string + // The VPN connection options. Options *VpnConnectionOptions diff --git a/service/ec2/validators.go b/service/ec2/validators.go index 4b4a8e83efa..800f731b2a8 100644 --- a/service/ec2/validators.go +++ b/service/ec2/validators.go @@ -4130,6 +4130,26 @@ func (m *validateOpGetHostReservationPurchasePreview) HandleInitialize(ctx conte return next.HandleInitialize(ctx, in) } +type validateOpGetInstanceTypesFromInstanceRequirements struct { +} + +func (*validateOpGetInstanceTypesFromInstanceRequirements) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetInstanceTypesFromInstanceRequirements) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetInstanceTypesFromInstanceRequirementsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetInstanceTypesFromInstanceRequirementsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetLaunchTemplateData struct { } @@ -4230,6 +4250,26 @@ func (m *validateOpGetReservedInstancesExchangeQuote) HandleInitialize(ctx conte return next.HandleInitialize(ctx, in) } +type validateOpGetSpotPlacementScores struct { +} + +func (*validateOpGetSpotPlacementScores) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetSpotPlacementScores) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetSpotPlacementScoresInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetSpotPlacementScoresInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetSubnetCidrReservations struct { } @@ -7114,6 +7154,10 @@ func addOpGetHostReservationPurchasePreviewValidationMiddleware(stack *middlewar return stack.Initialize.Add(&validateOpGetHostReservationPurchasePreview{}, middleware.After) } +func addOpGetInstanceTypesFromInstanceRequirementsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetInstanceTypesFromInstanceRequirements{}, middleware.After) +} + func addOpGetLaunchTemplateDataValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetLaunchTemplateData{}, middleware.After) } @@ -7134,6 +7178,10 @@ func addOpGetReservedInstancesExchangeQuoteValidationMiddleware(stack *middlewar return stack.Initialize.Add(&validateOpGetReservedInstancesExchangeQuote{}, middleware.After) } +func addOpGetSpotPlacementScoresValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetSpotPlacementScores{}, middleware.After) +} + func addOpGetSubnetCidrReservationsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetSubnetCidrReservations{}, middleware.After) } @@ -7817,6 +7865,117 @@ func validateExportTaskS3LocationRequest(v *types.ExportTaskS3LocationRequest) e } } +func validateFleetLaunchTemplateConfigListRequest(v []types.FleetLaunchTemplateConfigRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FleetLaunchTemplateConfigListRequest"} + for i := range v { + if err := validateFleetLaunchTemplateConfigRequest(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateFleetLaunchTemplateConfigRequest(v *types.FleetLaunchTemplateConfigRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FleetLaunchTemplateConfigRequest"} + if v.Overrides != nil { + if err := validateFleetLaunchTemplateOverridesListRequest(v.Overrides); err != nil { + invalidParams.AddNested("Overrides", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateFleetLaunchTemplateOverridesListRequest(v []types.FleetLaunchTemplateOverridesRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FleetLaunchTemplateOverridesListRequest"} + for i := range v { + if err := validateFleetLaunchTemplateOverridesRequest(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateFleetLaunchTemplateOverridesRequest(v *types.FleetLaunchTemplateOverridesRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FleetLaunchTemplateOverridesRequest"} + if v.InstanceRequirements != nil { + if err := validateInstanceRequirementsRequest(v.InstanceRequirements); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateInstanceRequirementsRequest(v *types.InstanceRequirementsRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "InstanceRequirementsRequest"} + if v.VCpuCount == nil { + invalidParams.Add(smithy.NewErrParamRequired("VCpuCount")) + } else if v.VCpuCount != nil { + if err := validateVCpuCountRangeRequest(v.VCpuCount); err != nil { + invalidParams.AddNested("VCpuCount", err.(smithy.InvalidParamsError)) + } + } + if v.MemoryMiB == nil { + invalidParams.Add(smithy.NewErrParamRequired("MemoryMiB")) + } else if v.MemoryMiB != nil { + if err := validateMemoryMiBRequest(v.MemoryMiB); err != nil { + invalidParams.AddNested("MemoryMiB", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateInstanceRequirementsWithMetadataRequest(v *types.InstanceRequirementsWithMetadataRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "InstanceRequirementsWithMetadataRequest"} + if v.InstanceRequirements != nil { + if err := validateInstanceRequirementsRequest(v.InstanceRequirements); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateIntegrateServices(v *types.IntegrateServices) error { if v == nil { return nil @@ -7866,6 +8025,21 @@ func validateLaunchTemplateElasticInferenceAcceleratorList(v []types.LaunchTempl } } +func validateMemoryMiBRequest(v *types.MemoryMiBRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "MemoryMiBRequest"} + if v.Min == nil { + invalidParams.Add(smithy.NewErrParamRequired("Min")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validatePurchaseRequest(v *types.PurchaseRequest) error { if v == nil { return nil @@ -7953,6 +8127,11 @@ func validateRequestLaunchTemplateData(v *types.RequestLaunchTemplateData) error invalidParams.AddNested("CreditSpecification", err.(smithy.InvalidParamsError)) } } + if v.InstanceRequirements != nil { + if err := validateInstanceRequirementsRequest(v.InstanceRequirements); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -8090,6 +8269,21 @@ func validateTargetConfigurationRequestSet(v []types.TargetConfigurationRequest) } } +func validateVCpuCountRangeRequest(v *types.VCpuCountRangeRequest) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "VCpuCountRangeRequest"} + if v.Min == nil { + invalidParams.Add(smithy.NewErrParamRequired("Min")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateVolumeDetail(v *types.VolumeDetail) error { if v == nil { return nil @@ -8930,6 +9124,10 @@ func validateOpCreateFleetInput(v *CreateFleetInput) error { invalidParams := smithy.InvalidParamsError{Context: "CreateFleetInput"} if v.LaunchTemplateConfigs == nil { invalidParams.Add(smithy.NewErrParamRequired("LaunchTemplateConfigs")) + } else if v.LaunchTemplateConfigs != nil { + if err := validateFleetLaunchTemplateConfigListRequest(v.LaunchTemplateConfigs); err != nil { + invalidParams.AddNested("LaunchTemplateConfigs", err.(smithy.InvalidParamsError)) + } } if v.TargetCapacitySpecification == nil { invalidParams.Add(smithy.NewErrParamRequired("TargetCapacitySpecification")) @@ -11605,6 +11803,31 @@ func validateOpGetHostReservationPurchasePreviewInput(v *GetHostReservationPurch } } +func validateOpGetInstanceTypesFromInstanceRequirementsInput(v *GetInstanceTypesFromInstanceRequirementsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetInstanceTypesFromInstanceRequirementsInput"} + if v.ArchitectureTypes == nil { + invalidParams.Add(smithy.NewErrParamRequired("ArchitectureTypes")) + } + if v.VirtualizationTypes == nil { + invalidParams.Add(smithy.NewErrParamRequired("VirtualizationTypes")) + } + if v.InstanceRequirements == nil { + invalidParams.Add(smithy.NewErrParamRequired("InstanceRequirements")) + } else if v.InstanceRequirements != nil { + if err := validateInstanceRequirementsRequest(v.InstanceRequirements); err != nil { + invalidParams.AddNested("InstanceRequirements", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetLaunchTemplateDataInput(v *GetLaunchTemplateDataInput) error { if v == nil { return nil @@ -11685,6 +11908,26 @@ func validateOpGetReservedInstancesExchangeQuoteInput(v *GetReservedInstancesExc } } +func validateOpGetSpotPlacementScoresInput(v *GetSpotPlacementScoresInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetSpotPlacementScoresInput"} + if v.TargetCapacity == nil { + invalidParams.Add(smithy.NewErrParamRequired("TargetCapacity")) + } + if v.InstanceRequirementsWithMetadata != nil { + if err := validateInstanceRequirementsWithMetadataRequest(v.InstanceRequirementsWithMetadata); err != nil { + invalidParams.AddNested("InstanceRequirementsWithMetadata", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetSubnetCidrReservationsInput(v *GetSubnetCidrReservationsInput) error { if v == nil { return nil @@ -11979,6 +12222,11 @@ func validateOpModifyFleetInput(v *ModifyFleetInput) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "ModifyFleetInput"} + if v.LaunchTemplateConfigs != nil { + if err := validateFleetLaunchTemplateConfigListRequest(v.LaunchTemplateConfigs); err != nil { + invalidParams.AddNested("LaunchTemplateConfigs", err.(smithy.InvalidParamsError)) + } + } if v.FleetId == nil { invalidParams.Add(smithy.NewErrParamRequired("FleetId")) } diff --git a/service/ecr/internal/endpoints/endpoints.go b/service/ecr/internal/endpoints/endpoints.go index 8077161db61..d3c03bcb4c9 100644 --- a/service/ecr/internal/endpoints/endpoints.go +++ b/service/ecr/internal/endpoints/endpoints.go @@ -117,6 +117,26 @@ var defaultPartitions = endpoints.Partitions{ Region: "ca-central-1", }, }, + "dkr-us-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "dkr-us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "dkr-us-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "dkr-us-west-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, "eu-central-1": endpoints.Endpoint{ Hostname: "api.ecr.eu-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -315,6 +335,16 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "dkr-us-gov-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, + "dkr-us-gov-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "fips-dkr-us-gov-east-1": endpoints.Endpoint{ Hostname: "ecr-fips.us-gov-east-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ diff --git a/service/ecs/api_op_RegisterTaskDefinition.go b/service/ecs/api_op_RegisterTaskDefinition.go index c26ea5facef..1b73948fe5e 100644 --- a/service/ecs/api_op_RegisterTaskDefinition.go +++ b/service/ecs/api_op_RegisterTaskDefinition.go @@ -100,7 +100,12 @@ type RegisterTaskDefinitionInput struct { // storage // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) // in the Amazon ECS User Guide for Fargate. This parameter is only supported for - // tasks hosted on Fargate using platform version 1.4.0 or later. + // tasks hosted on Fargate using the following platform versions: + // + // * Linux platform + // version 1.4.0 or later. + // + // * Windows platform version 1.0.0 or later. EphemeralStorage *types.EphemeralStorage // The Amazon Resource Name (ARN) of the task execution role that grants the Amazon @@ -235,6 +240,12 @@ type RegisterTaskDefinitionInput struct { // is omitted from the response. RequiresCompatibilities []types.Compatibility + // The operating system that your tasks definitions run on. A platform family is + // specified only for tasks using the Fargate launch type. When you specify a task + // definition in a service, this value must match the runtimePlatform value of the + // service. + RuntimePlatform *types.RuntimePlatform + // The metadata that you apply to the task definition to help you categorize and // organize them. Each tag consists of a key and an optional value, both of which // you define. The following basic restrictions apply to tags: diff --git a/service/ecs/deserializers.go b/service/ecs/deserializers.go index 0ad3148ed37..8762e4df97d 100644 --- a/service/ecs/deserializers.go +++ b/service/ecs/deserializers.go @@ -9502,6 +9502,15 @@ func awsAwsjson11_deserializeDocumentDeployment(v **types.Deployment, value inte sv.PendingCount = int32(i64) } + case "platformFamily": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.PlatformFamily = ptr.String(jtv) + } + case "platformVersion": if value != nil { jtv, ok := value.(string) @@ -12986,6 +12995,55 @@ func awsAwsjson11_deserializeDocumentResources(v *[]types.Resource, value interf return nil } +func awsAwsjson11_deserializeDocumentRuntimePlatform(v **types.RuntimePlatform, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.RuntimePlatform + if *v == nil { + sv = &types.RuntimePlatform{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "cpuArchitecture": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CPUArchitecture to be of type string, got %T instead", value) + } + sv.CpuArchitecture = types.CPUArchitecture(jtv) + } + + case "operatingSystemFamily": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OSFamily to be of type string, got %T instead", value) + } + sv.OperatingSystemFamily = types.OSFamily(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentScale(v **types.Scale, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13350,6 +13408,15 @@ func awsAwsjson11_deserializeDocumentService(v **types.Service, value interface{ return err } + case "platformFamily": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.PlatformFamily = ptr.String(jtv) + } + case "platformVersion": if value != nil { jtv, ok := value.(string) @@ -14500,6 +14567,15 @@ func awsAwsjson11_deserializeDocumentTask(v **types.Task, value interface{}) err return err } + case "platformFamily": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.PlatformFamily = ptr.String(jtv) + } + case "platformVersion": if value != nil { jtv, ok := value.(string) @@ -14840,6 +14916,11 @@ func awsAwsjson11_deserializeDocumentTaskDefinition(v **types.TaskDefinition, va sv.Revision = int32(i64) } + case "runtimePlatform": + if err := awsAwsjson11_deserializeDocumentRuntimePlatform(&sv.RuntimePlatform, value); err != nil { + return err + } + case "status": if value != nil { jtv, ok := value.(string) @@ -15195,6 +15276,15 @@ func awsAwsjson11_deserializeDocumentTaskSet(v **types.TaskSet, value interface{ sv.PendingCount = int32(i64) } + case "platformFamily": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.PlatformFamily = ptr.String(jtv) + } + case "platformVersion": if value != nil { jtv, ok := value.(string) diff --git a/service/ecs/serializers.go b/service/ecs/serializers.go index 5d702eaaa97..7df8c7e0e70 100644 --- a/service/ecs/serializers.go +++ b/service/ecs/serializers.go @@ -4247,6 +4247,23 @@ func awsAwsjson11_serializeDocumentResources(v []types.Resource, value smithyjso return nil } +func awsAwsjson11_serializeDocumentRuntimePlatform(v *types.RuntimePlatform, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.CpuArchitecture) > 0 { + ok := object.Key("cpuArchitecture") + ok.String(string(v.CpuArchitecture)) + } + + if len(v.OperatingSystemFamily) > 0 { + ok := object.Key("operatingSystemFamily") + ok.String(string(v.OperatingSystemFamily)) + } + + return nil +} + func awsAwsjson11_serializeDocumentScale(v *types.Scale, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -5908,6 +5925,13 @@ func awsAwsjson11_serializeOpDocumentRegisterTaskDefinitionInput(v *RegisterTask } } + if v.RuntimePlatform != nil { + ok := object.Key("runtimePlatform") + if err := awsAwsjson11_serializeDocumentRuntimePlatform(v.RuntimePlatform, ok); err != nil { + return err + } + } + if v.Tags != nil { ok := object.Key("tags") if err := awsAwsjson11_serializeDocumentTags(v.Tags, ok); err != nil { diff --git a/service/ecs/types/enums.go b/service/ecs/types/enums.go index de643d2e6d9..d626c4e39b1 100644 --- a/service/ecs/types/enums.go +++ b/service/ecs/types/enums.go @@ -246,6 +246,24 @@ func (ContainerInstanceStatus) Values() []ContainerInstanceStatus { } } +type CPUArchitecture string + +// Enum values for CPUArchitecture +const ( + CPUArchitectureX8664 CPUArchitecture = "X86_64" + CPUArchitectureArm64 CPUArchitecture = "ARM64" +) + +// Values returns all known values for CPUArchitecture. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (CPUArchitecture) Values() []CPUArchitecture { + return []CPUArchitecture{ + "X86_64", + "ARM64", + } +} + type DeploymentControllerType string // Enum values for DeploymentControllerType @@ -580,6 +598,36 @@ func (NetworkMode) Values() []NetworkMode { } } +type OSFamily string + +// Enum values for OSFamily +const ( + OSFamilyWindowsServer2019Full OSFamily = "WINDOWS_SERVER_2019_FULL" + OSFamilyWindowsServer2019Core OSFamily = "WINDOWS_SERVER_2019_CORE" + OSFamilyWindowsServer2016Full OSFamily = "WINDOWS_SERVER_2016_FULL" + OSFamilyWindowsServer2004Core OSFamily = "WINDOWS_SERVER_2004_CORE" + OSFamilyWindowsServer2022Core OSFamily = "WINDOWS_SERVER_2022_CORE" + OSFamilyWindowsServer2022Full OSFamily = "WINDOWS_SERVER_2022_FULL" + OSFamilyWindowsServer20h2Core OSFamily = "WINDOWS_SERVER_20H2_CORE" + OSFamilyLinux OSFamily = "LINUX" +) + +// Values returns all known values for OSFamily. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (OSFamily) Values() []OSFamily { + return []OSFamily{ + "WINDOWS_SERVER_2019_FULL", + "WINDOWS_SERVER_2019_CORE", + "WINDOWS_SERVER_2016_FULL", + "WINDOWS_SERVER_2004_CORE", + "WINDOWS_SERVER_2022_CORE", + "WINDOWS_SERVER_2022_FULL", + "WINDOWS_SERVER_20H2_CORE", + "LINUX", + } +} + type PidMode string // Enum values for PidMode diff --git a/service/ecs/types/types.go b/service/ecs/types/types.go index 0eb491cfe99..b030b6d4fbf 100644 --- a/service/ecs/types/types.go +++ b/service/ecs/types/types.go @@ -550,7 +550,12 @@ type ContainerDefinition struct { // agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) // in the Amazon Elastic Container Service Developer Guide. For tasks using the - // Fargate launch type, the task or service requires platform version 1.3.0 or + // Fargate launch type, the task or service requires the followiwng platforms: + // + // * + // Linux platform version 1.3.0 or later. + // + // * Windows platform version 1.0.0 or // later. DependsOn []ContainerDependency @@ -937,12 +942,19 @@ type ContainerDefinition struct { // and not start. This results in the task transitioning to a STOPPED state. When // the ECS_CONTAINER_START_TIMEOUT container agent configuration variable is used, // it is enforced indendently from this start timeout value. For tasks using the - // Fargate launch type, this parameter requires that the task or service uses - // platform version 1.3.0 or later. For tasks using the EC2 launch type, your - // container instances require at least version 1.26.0 of the container agent to - // enable a container start timeout value. However, we recommend using the latest - // container agent version. For information about checking your agent version and - // updating to the latest version, see Updating the Amazon ECS Container Agent + // Fargate launch type, the task or service requires the followiwng platforms: + // + // * + // Linux platform version 1.3.0 or later. + // + // * Windows platform version 1.0.0 or + // later. + // + // For tasks using the EC2 launch type, your container instances require at + // least version 1.26.0 of the container agent to enable a container start timeout + // value. However, we recommend using the latest container agent version. For + // information about checking your agent version and updating to the latest + // version, see Updating the Amazon ECS Container Agent // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) // in the Amazon Elastic Container Service Developer Guide. If you are using an // Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of @@ -955,7 +967,14 @@ type ContainerDefinition struct { // Time duration (in seconds) to wait before the container is forcefully killed if // it doesn't exit normally on its own. For tasks using the Fargate launch type, - // the task or service requires platform version 1.3.0 or later. The max stop + // the task or service requires the followiwng platforms: + // + // * Linux platform version + // 1.3.0 or later. + // + // * Windows platform version 1.0.0 or later. + // + // The max stop // timeout value is 120 seconds and if the parameter is not specified, the default // value of 30 seconds is used. For tasks using the EC2 launch type, if the // stopTimeout parameter is not specified, the value set for the Amazon ECS @@ -1072,8 +1091,13 @@ type ContainerDefinition struct { // agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) // in the Amazon Elastic Container Service Developer Guide. For tasks using the -// Fargate launch type, this parameter requires that the task or service uses -// platform version 1.3.0 or later. +// Fargate launch type, the task or service requires the followiwng platforms: +// +// * +// Linux platform version 1.3.0 or later. +// +// * Windows platform version 1.0.0 or +// later. type ContainerDependency struct { // The dependency condition of the container. The following are the available @@ -1350,6 +1374,12 @@ type Deployment struct { // The number of tasks in the deployment that are in the PENDING status. PendingCount int32 + // The operating system that your tasks in the service, or tasks are running on. A + // platform family is specified only for tasks using the Fargate launch type. All + // tasks that run as part of this service must use the same platformFamily value as + // the service, for example, LINUX.. + PlatformFamily *string + // The platform version on which your tasks in the service are running. A platform // version is only specified for tasks using the Fargate launch type. If one is not // specified, the LATEST platform version is used by default. For more information, @@ -1643,8 +1673,14 @@ type EFSVolumeConfiguration struct { // processed from the top down. It is recommended to use unique variable names. For // more information, see Specifying environment variables // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) -// in the Amazon Elastic Container Service Developer Guide. This field is only -// valid for containers in Fargate tasks that use platform version 1.4.0 or later. +// in the Amazon Elastic Container Service Developer Guide. This parameter is only +// supported for tasks hosted on Fargate using the following platform versions: +// +// * +// Linux platform version 1.4.0 or later. +// +// * Windows platform version 1.0.0 or +// later. type EnvironmentFile struct { // The file type to use. The only supported value is s3. @@ -1667,7 +1703,12 @@ type EnvironmentFile struct { // storage // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) // in the Amazon ECS User Guide for Fargate. This parameter is only supported for -// tasks hosted on Fargate using platform version 1.4.0 or later. +// tasks hosted on Fargate using the following platform versions: +// +// * Linux platform +// version 1.4.0 or later. +// +// * Windows platform version 1.0.0 or later. type EphemeralStorage struct { // The total amount, in GiB, of ephemeral storage to set for the task. The minimum @@ -1725,8 +1766,8 @@ type ExecuteCommandLogConfiguration struct { // created. S3BucketName *string - // Whether or not to enable encryption on the CloudWatch logs. If not specified, - // encryption will be disabled. + // Whether or not to use encryption on the S3 logs. If not specified, encryption is + // not used. S3EncryptionEnabled bool // An optional folder in the S3 bucket to place logs in. @@ -2636,6 +2677,18 @@ type ResourceRequirement struct { noSmithyDocumentSerde } +// Information about the platform for the Amazon ECS service or task. +type RuntimePlatform struct { + + // The CPU architecture. + CpuArchitecture CPUArchitecture + + // The operating system. + OperatingSystemFamily OSFamily + + noSmithyDocumentSerde +} + // A floating-point percentage of the desired number of tasks to place and keep // running in the task set. type Scale struct { @@ -2760,6 +2813,12 @@ type Service struct { // The placement strategy that determines how tasks for the service are placed. PlacementStrategy []PlacementStrategy + // The operating system that your tasks in the service are running on. A platform + // family is specified only for tasks using the Fargate launch type. All tasks that + // run as part of this service must use the same platformFamily value as the + // service, for example, LINUX. + PlatformFamily *string + // The platform version on which to run your service. A platform version is only // specified for tasks hosted on Fargate. If one is not specified, the LATEST // platform version is used by default. For more information, see Fargate Platform @@ -3149,6 +3208,12 @@ type Task struct { // One or more container overrides. Overrides *TaskOverride + // The operating system that your tasks are running on. A platform family is + // specified only for tasks using the Fargate launch type. All tasks that run as + // part of this service must use the same platformFamily value as the service, for + // example, LINUX.. + PlatformFamily *string + // The platform version on which your task is running. A platform version is only // specified for tasks using the Fargate launch type. If one is not specified, the // LATEST platform version is used by default. For more information, see Fargate @@ -3444,6 +3509,12 @@ type TaskDefinition struct { // one, even if you have deregistered previous revisions in this family. Revision int32 + // The operating system that your task definitions are running on. A platform + // family is specified only for tasks using the Fargate launch type. When you + // specify a task in a service, this value must match the runtimePlatform value of + // the service. + RuntimePlatform *RuntimePlatform + // The status of the task definition. Status TaskDefinitionStatus @@ -3503,7 +3574,13 @@ type TaskOverride struct { Cpu *string // The ephemeral storage setting override for the task. This parameter is only - // supported for tasks hosted on Fargate using platform version 1.4.0 or later. + // supported for tasks hosted on Fargate using the following platform versions: + // + // * + // Linux platform version 1.4.0 or later. + // + // * Windows platform version 1.0.0 or + // later. EphemeralStorage *EphemeralStorage // The Amazon Resource Name (ARN) of the task execution IAM role override for the @@ -3578,6 +3655,11 @@ type TaskSet struct { // it is restarted after being in the STOPPED state. PendingCount int32 + // The operating system that your tasks in the set are running on. A platform + // family is specified only for tasks using the Fargate launch type. All tasks in + // the set must have the same value. + PlatformFamily *string + // The Fargate platform version on which the tasks in the task set are running. A // platform version is only specified for tasks run on Fargate. For more // information, see Fargate platform versions diff --git a/service/eks/types/enums.go b/service/eks/types/enums.go index fdb6a95f49d..66a012dbb24 100644 --- a/service/eks/types/enums.go +++ b/service/eks/types/enums.go @@ -64,10 +64,12 @@ type AMITypes string // Enum values for AMITypes const ( - AMITypesAl2X8664 AMITypes = "AL2_x86_64" - AMITypesAl2X8664Gpu AMITypes = "AL2_x86_64_GPU" - AMITypesAl2Arm64 AMITypes = "AL2_ARM_64" - AMITypesCustom AMITypes = "CUSTOM" + AMITypesAl2X8664 AMITypes = "AL2_x86_64" + AMITypesAl2X8664Gpu AMITypes = "AL2_x86_64_GPU" + AMITypesAl2Arm64 AMITypes = "AL2_ARM_64" + AMITypesCustom AMITypes = "CUSTOM" + AMITypesBottlerocketArm64 AMITypes = "BOTTLEROCKET_ARM_64" + AMITypesBottlerocketX8664 AMITypes = "BOTTLEROCKET_x86_64" ) // Values returns all known values for AMITypes. Note that this can be expanded in @@ -79,6 +81,8 @@ func (AMITypes) Values() []AMITypes { "AL2_x86_64_GPU", "AL2_ARM_64", "CUSTOM", + "BOTTLEROCKET_ARM_64", + "BOTTLEROCKET_x86_64", } } diff --git a/service/elasticache/internal/endpoints/endpoints.go b/service/elasticache/internal/endpoints/endpoints.go index 7beb322d704..5e1a0ca213c 100644 --- a/service/elasticache/internal/endpoints/endpoints.go +++ b/service/elasticache/internal/endpoints/endpoints.go @@ -87,9 +87,33 @@ var defaultPartitions = endpoints.Partitions{ "me-south-1": endpoints.Endpoint{}, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "elasticache-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "elasticache-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "elasticache-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "elasticache-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -151,6 +175,12 @@ var defaultPartitions = endpoints.Partitions{ }, "us-gov-east-1": endpoints.Endpoint{}, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "elasticache.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/elasticsearchservice/internal/endpoints/endpoints.go b/service/elasticsearchservice/internal/endpoints/endpoints.go index 7899165ffd8..74f89c0fb12 100644 --- a/service/elasticsearchservice/internal/endpoints/endpoints.go +++ b/service/elasticsearchservice/internal/endpoints/endpoints.go @@ -87,9 +87,33 @@ var defaultPartitions = endpoints.Partitions{ "me-south-1": endpoints.Endpoint{}, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -149,7 +173,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/emrcontainers/api_op_CreateManagedEndpoint.go b/service/emrcontainers/api_op_CreateManagedEndpoint.go index 6e55e32b3f5..c74d489e0a0 100644 --- a/service/emrcontainers/api_op_CreateManagedEndpoint.go +++ b/service/emrcontainers/api_op_CreateManagedEndpoint.go @@ -32,11 +32,6 @@ func (c *Client) CreateManagedEndpoint(ctx context.Context, params *CreateManage type CreateManagedEndpointInput struct { - // The certificate ARN of the managed endpoint. - // - // This member is required. - CertificateArn *string - // The client idempotency token for this create call. // // This member is required. @@ -67,6 +62,13 @@ type CreateManagedEndpointInput struct { // This member is required. VirtualClusterId *string + // The certificate ARN provided by users for the managed endpoint. This fiedd is + // under deprecation and will be removed in future releases. + // + // Deprecated: Customer provided certificate-arn is deprecated and would be removed + // in future. + CertificateArn *string + // The configuration settings that will be used to override existing // configurations. ConfigurationOverrides *types.ConfigurationOverrides diff --git a/service/emrcontainers/deserializers.go b/service/emrcontainers/deserializers.go index 23dd88fa0c2..b8fe4af7c3f 100644 --- a/service/emrcontainers/deserializers.go +++ b/service/emrcontainers/deserializers.go @@ -2417,6 +2417,55 @@ func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Respo return output } +func awsRestjson1_deserializeDocumentCertificate(v **types.Certificate, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Certificate + if *v == nil { + sv = &types.Certificate{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "certificateArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ACMCertArn to be of type string, got %T instead", value) + } + sv.CertificateArn = ptr.String(jtv) + } + + case "certificateData": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Base64Encoded to be of type string, got %T instead", value) + } + sv.CertificateData = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentCloudWatchMonitoringConfiguration(v **types.CloudWatchMonitoringConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -2765,6 +2814,11 @@ func awsRestjson1_deserializeDocumentEndpoint(v **types.Endpoint, value interfac sv.CertificateArn = ptr.String(jtv) } + case "certificateAuthority": + if err := awsRestjson1_deserializeDocumentCertificate(&sv.CertificateAuthority, value); err != nil { + return err + } + case "configurationOverrides": if err := awsRestjson1_deserializeDocumentConfigurationOverrides(&sv.ConfigurationOverrides, value); err != nil { return err diff --git a/service/emrcontainers/types/types.go b/service/emrcontainers/types/types.go index e656f2d09a5..8132b9561d2 100644 --- a/service/emrcontainers/types/types.go +++ b/service/emrcontainers/types/types.go @@ -7,6 +7,18 @@ import ( "time" ) +// The entity representing certificate data generated for managed endpoint. +type Certificate struct { + + // The ARN of the certificate generated for managed endpoint. + CertificateArn *string + + // The base64 encoded PEM certificate data generated for managed endpoint. + CertificateData *string + + noSmithyDocumentSerde +} + // A configuration for CloudWatch monitoring. You can configure your jobs to send // log information to CloudWatch Logs. type CloudWatchMonitoringConfiguration struct { @@ -107,9 +119,17 @@ type Endpoint struct { // The ARN of the endpoint. Arn *string - // The certificate ARN of the endpoint. + // The certificate ARN of the endpoint. This field is under deprecation and will be + // removed in future. + // + // Deprecated: Customer provided certificate-arn is deprecated and would be removed + // in future. CertificateArn *string + // The certificate generated by emr control plane on customer behalf to secure the + // managed endpoint. + CertificateAuthority *Certificate + // The configuration settings that are used to override existing configurations for // endpoints. ConfigurationOverrides *ConfigurationOverrides diff --git a/service/emrcontainers/validators.go b/service/emrcontainers/validators.go index 7105c220ac2..e9bee1fcaee 100644 --- a/service/emrcontainers/validators.go +++ b/service/emrcontainers/validators.go @@ -545,9 +545,6 @@ func validateOpCreateManagedEndpointInput(v *CreateManagedEndpointInput) error { if v.ExecutionRoleArn == nil { invalidParams.Add(smithy.NewErrParamRequired("ExecutionRoleArn")) } - if v.CertificateArn == nil { - invalidParams.Add(smithy.NewErrParamRequired("CertificateArn")) - } if v.ConfigurationOverrides != nil { if err := validateConfigurationOverrides(v.ConfigurationOverrides); err != nil { invalidParams.AddNested("ConfigurationOverrides", err.(smithy.InvalidParamsError)) diff --git a/service/fsx/internal/endpoints/endpoints.go b/service/fsx/internal/endpoints/endpoints.go index de2bd7f9f76..a01cb04169f 100644 --- a/service/fsx/internal/endpoints/endpoints.go +++ b/service/fsx/internal/endpoints/endpoints.go @@ -78,6 +78,12 @@ var defaultPartitions = endpoints.Partitions{ "eu-west-1": endpoints.Endpoint{}, "eu-west-2": endpoints.Endpoint{}, "eu-west-3": endpoints.Endpoint{}, + "fips-ca-central-1": endpoints.Endpoint{ + Hostname: "fsx-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, "fips-prod-ca-central-1": endpoints.Endpoint{ Hostname: "fsx-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -108,12 +114,61 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-west-2", }, }, + "fips-us-east-1": endpoints.Endpoint{ + Hostname: "fsx-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoints.Endpoint{ + Hostname: "fsx-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoints.Endpoint{ + Hostname: "fsx-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoints.Endpoint{ + Hostname: "fsx-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, "me-south-1": endpoints.Endpoint{}, - "sa-east-1": endpoints.Endpoint{}, - "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "prod-ca-central-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "prod-us-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "prod-us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "prod-us-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "prod-us-west-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoints.Endpoint{}, + "us-east-1": endpoints.Endpoint{}, + "us-east-2": endpoints.Endpoint{}, + "us-west-1": endpoints.Endpoint{}, + "us-west-2": endpoints.Endpoint{}, }, }, { @@ -172,6 +227,28 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-gov-west-1", }, }, + "fips-us-gov-east-1": endpoints.Endpoint{ + Hostname: "fsx-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoints.Endpoint{ + Hostname: "fsx-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, + "prod-us-gov-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, + "prod-us-gov-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoints.Endpoint{}, "us-gov-west-1": endpoints.Endpoint{}, }, diff --git a/service/gamelift/deserializers.go b/service/gamelift/deserializers.go index c436f9cc359..e4d1943a000 100644 --- a/service/gamelift/deserializers.go +++ b/service/gamelift/deserializers.go @@ -635,6 +635,9 @@ func awsAwsjson11_deserializeOpErrorCreateFleet(response *smithyhttp.Response, m case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -758,6 +761,9 @@ func awsAwsjson11_deserializeOpErrorCreateFleetLocations(response *smithyhttp.Re case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1019,6 +1025,9 @@ func awsAwsjson11_deserializeOpErrorCreateGameSession(response *smithyhttp.Respo case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2438,6 +2447,9 @@ func awsAwsjson11_deserializeOpErrorDeleteFleetLocations(response *smithyhttp.Re case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -3821,6 +3833,9 @@ func awsAwsjson11_deserializeOpErrorDescribeEC2InstanceLimits(response *smithyht case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4301,6 +4316,9 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetLocationAttributes(response *sm case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4421,6 +4439,9 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetLocationCapacity(response *smit case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4541,6 +4562,9 @@ func awsAwsjson11_deserializeOpErrorDescribeFleetLocationUtilization(response *s case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5264,6 +5288,9 @@ func awsAwsjson11_deserializeOpErrorDescribeGameSessionDetails(response *smithyh case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5627,6 +5654,9 @@ func awsAwsjson11_deserializeOpErrorDescribeGameSessions(response *smithyhttp.Re case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5747,6 +5777,9 @@ func awsAwsjson11_deserializeOpErrorDescribeInstances(response *smithyhttp.Respo case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -6461,6 +6494,9 @@ func awsAwsjson11_deserializeOpErrorDescribeScalingPolicies(response *smithyhttp case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8612,6 +8648,9 @@ func awsAwsjson11_deserializeOpErrorSearchGameSessions(response *smithyhttp.Resp case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -8732,6 +8771,9 @@ func awsAwsjson11_deserializeOpErrorStartFleetActions(response *smithyhttp.Respo case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -9212,6 +9254,9 @@ func awsAwsjson11_deserializeOpErrorStopFleetActions(response *smithyhttp.Respon case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -10310,6 +10355,9 @@ func awsAwsjson11_deserializeOpErrorUpdateFleetCapacity(response *smithyhttp.Res case strings.EqualFold("UnauthorizedException", errorCode): return awsAwsjson11_deserializeErrorUnauthorizedException(response, errorBody) + case strings.EqualFold("UnsupportedRegionException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedRegionException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -13056,7 +13104,7 @@ func awsAwsjson11_deserializeDocumentFleetAttributes(v **types.FleetAttributes, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected LaunchParametersStringModel to be of type string, got %T instead", value) } sv.ServerLaunchParameters = ptr.String(jtv) } @@ -13065,7 +13113,7 @@ func awsAwsjson11_deserializeDocumentFleetAttributes(v **types.FleetAttributes, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected LaunchPathStringModel to be of type string, got %T instead", value) } sv.ServerLaunchPath = ptr.String(jtv) } @@ -17946,7 +17994,7 @@ func awsAwsjson11_deserializeDocumentServerProcess(v **types.ServerProcess, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected LaunchPathStringModel to be of type string, got %T instead", value) } sv.LaunchPath = ptr.String(jtv) } @@ -17955,7 +18003,7 @@ func awsAwsjson11_deserializeDocumentServerProcess(v **types.ServerProcess, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected NonZeroAndMaxString to be of type string, got %T instead", value) + return fmt.Errorf("expected LaunchParametersStringModel to be of type string, got %T instead", value) } sv.Parameters = ptr.String(jtv) } diff --git a/service/gamelift/types/enums.go b/service/gamelift/types/enums.go index 0025d16f928..375010d59b5 100644 --- a/service/gamelift/types/enums.go +++ b/service/gamelift/types/enums.go @@ -537,6 +537,14 @@ const ( GameServerGroupInstanceTypeC5a12xlarge GameServerGroupInstanceType = "c5a.12xlarge" GameServerGroupInstanceTypeC5a16xlarge GameServerGroupInstanceType = "c5a.16xlarge" GameServerGroupInstanceTypeC5a24xlarge GameServerGroupInstanceType = "c5a.24xlarge" + GameServerGroupInstanceTypeC6gMedium GameServerGroupInstanceType = "c6g.medium" + GameServerGroupInstanceTypeC6gLarge GameServerGroupInstanceType = "c6g.large" + GameServerGroupInstanceTypeC6gXlarge GameServerGroupInstanceType = "c6g.xlarge" + GameServerGroupInstanceTypeC6g2xlarge GameServerGroupInstanceType = "c6g.2xlarge" + GameServerGroupInstanceTypeC6g4xlarge GameServerGroupInstanceType = "c6g.4xlarge" + GameServerGroupInstanceTypeC6g8xlarge GameServerGroupInstanceType = "c6g.8xlarge" + GameServerGroupInstanceTypeC6g12xlarge GameServerGroupInstanceType = "c6g.12xlarge" + GameServerGroupInstanceTypeC6g16xlarge GameServerGroupInstanceType = "c6g.16xlarge" GameServerGroupInstanceTypeR4Large GameServerGroupInstanceType = "r4.large" GameServerGroupInstanceTypeR4Xlarge GameServerGroupInstanceType = "r4.xlarge" GameServerGroupInstanceTypeR42xlarge GameServerGroupInstanceType = "r4.2xlarge" @@ -559,6 +567,14 @@ const ( GameServerGroupInstanceTypeR5a12xlarge GameServerGroupInstanceType = "r5a.12xlarge" GameServerGroupInstanceTypeR5a16xlarge GameServerGroupInstanceType = "r5a.16xlarge" GameServerGroupInstanceTypeR5a24xlarge GameServerGroupInstanceType = "r5a.24xlarge" + GameServerGroupInstanceTypeR6gMedium GameServerGroupInstanceType = "r6g.medium" + GameServerGroupInstanceTypeR6gLarge GameServerGroupInstanceType = "r6g.large" + GameServerGroupInstanceTypeR6gXlarge GameServerGroupInstanceType = "r6g.xlarge" + GameServerGroupInstanceTypeR6g2xlarge GameServerGroupInstanceType = "r6g.2xlarge" + GameServerGroupInstanceTypeR6g4xlarge GameServerGroupInstanceType = "r6g.4xlarge" + GameServerGroupInstanceTypeR6g8xlarge GameServerGroupInstanceType = "r6g.8xlarge" + GameServerGroupInstanceTypeR6g12xlarge GameServerGroupInstanceType = "r6g.12xlarge" + GameServerGroupInstanceTypeR6g16xlarge GameServerGroupInstanceType = "r6g.16xlarge" GameServerGroupInstanceTypeM4Large GameServerGroupInstanceType = "m4.large" GameServerGroupInstanceTypeM4Xlarge GameServerGroupInstanceType = "m4.xlarge" GameServerGroupInstanceTypeM42xlarge GameServerGroupInstanceType = "m4.2xlarge" @@ -580,6 +596,14 @@ const ( GameServerGroupInstanceTypeM5a12xlarge GameServerGroupInstanceType = "m5a.12xlarge" GameServerGroupInstanceTypeM5a16xlarge GameServerGroupInstanceType = "m5a.16xlarge" GameServerGroupInstanceTypeM5a24xlarge GameServerGroupInstanceType = "m5a.24xlarge" + GameServerGroupInstanceTypeM6gMedium GameServerGroupInstanceType = "m6g.medium" + GameServerGroupInstanceTypeM6gLarge GameServerGroupInstanceType = "m6g.large" + GameServerGroupInstanceTypeM6gXlarge GameServerGroupInstanceType = "m6g.xlarge" + GameServerGroupInstanceTypeM6g2xlarge GameServerGroupInstanceType = "m6g.2xlarge" + GameServerGroupInstanceTypeM6g4xlarge GameServerGroupInstanceType = "m6g.4xlarge" + GameServerGroupInstanceTypeM6g8xlarge GameServerGroupInstanceType = "m6g.8xlarge" + GameServerGroupInstanceTypeM6g12xlarge GameServerGroupInstanceType = "m6g.12xlarge" + GameServerGroupInstanceTypeM6g16xlarge GameServerGroupInstanceType = "m6g.16xlarge" ) // Values returns all known values for GameServerGroupInstanceType. Note that this @@ -608,6 +632,14 @@ func (GameServerGroupInstanceType) Values() []GameServerGroupInstanceType { "c5a.12xlarge", "c5a.16xlarge", "c5a.24xlarge", + "c6g.medium", + "c6g.large", + "c6g.xlarge", + "c6g.2xlarge", + "c6g.4xlarge", + "c6g.8xlarge", + "c6g.12xlarge", + "c6g.16xlarge", "r4.large", "r4.xlarge", "r4.2xlarge", @@ -630,6 +662,14 @@ func (GameServerGroupInstanceType) Values() []GameServerGroupInstanceType { "r5a.12xlarge", "r5a.16xlarge", "r5a.24xlarge", + "r6g.medium", + "r6g.large", + "r6g.xlarge", + "r6g.2xlarge", + "r6g.4xlarge", + "r6g.8xlarge", + "r6g.12xlarge", + "r6g.16xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", @@ -651,6 +691,14 @@ func (GameServerGroupInstanceType) Values() []GameServerGroupInstanceType { "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", + "m6g.medium", + "m6g.large", + "m6g.xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.12xlarge", + "m6g.16xlarge", } } diff --git a/service/health/internal/endpoints/endpoints.go b/service/health/internal/endpoints/endpoints.go index 7a6f880a2b9..8cf6c07e195 100644 --- a/service/health/internal/endpoints/endpoints.go +++ b/service/health/internal/endpoints/endpoints.go @@ -69,6 +69,11 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-east-2", }, }, + "us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, }, }, { @@ -127,6 +132,11 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-gov-west-1", }, }, + "us-gov-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/iam/internal/endpoints/endpoints.go b/service/iam/internal/endpoints/endpoints.go index feacfef9e17..49ad488cdfd 100644 --- a/service/iam/internal/endpoints/endpoints.go +++ b/service/iam/internal/endpoints/endpoints.go @@ -70,6 +70,17 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-east-1", }, }, + "aws-global-fips": endpoints.Endpoint{ + Hostname: "iam-fips.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "iam": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "iam-fips": endpoints.Endpoint{ Hostname: "iam-fips.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -152,6 +163,17 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-gov-west-1", }, }, + "aws-us-gov-global-fips": endpoints.Endpoint{ + Hostname: "iam.us-gov.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, + "iam-govcloud": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "iam-govcloud-fips": endpoints.Endpoint{ Hostname: "iam.us-gov.amazonaws.com", CredentialScope: endpoints.CredentialScope{ diff --git a/service/iotsitewise/internal/endpoints/endpoints.go b/service/iotsitewise/internal/endpoints/endpoints.go index 458bede3154..40c1656c2bd 100644 --- a/service/iotsitewise/internal/endpoints/endpoints.go +++ b/service/iotsitewise/internal/endpoints/endpoints.go @@ -62,6 +62,17 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "ap-northeast-1": endpoints.Endpoint{}, + "ap-northeast-2": endpoints.Endpoint{}, + "ap-south-1": endpoints.Endpoint{}, + "ap-southeast-1": endpoints.Endpoint{}, + "ap-southeast-2": endpoints.Endpoint{}, + "eu-central-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "us-east-1": endpoints.Endpoint{}, + "us-west-2": endpoints.Endpoint{}, + }, }, { ID: "aws-cn", @@ -72,6 +83,9 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "cn-north-1": endpoints.Endpoint{}, + }, }, { ID: "aws-iso", @@ -102,5 +116,8 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "us-gov-west-1": endpoints.Endpoint{}, + }, }, } diff --git a/service/kendra/internal/endpoints/endpoints.go b/service/kendra/internal/endpoints/endpoints.go index a1367055c99..9474caf300d 100644 --- a/service/kendra/internal/endpoints/endpoints.go +++ b/service/kendra/internal/endpoints/endpoints.go @@ -130,6 +130,12 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "fips-us-gov-west-1": endpoints.Endpoint{ + Hostname: "kendra-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, }, }, diff --git a/service/kms/internal/endpoints/endpoints.go b/service/kms/internal/endpoints/endpoints.go index 4ee8142bbf5..52a4a315257 100644 --- a/service/kms/internal/endpoints/endpoints.go +++ b/service/kms/internal/endpoints/endpoints.go @@ -63,27 +63,153 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "af-south-1": endpoints.Endpoint{}, - "ap-east-1": endpoints.Endpoint{}, + "af-south-1": endpoints.Endpoint{}, + "af-south-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.af-south-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "af-south-1", + }, + }, + "ap-east-1": endpoints.Endpoint{}, + "ap-east-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-east-1", + }, + }, "ap-northeast-1": endpoints.Endpoint{}, + "ap-northeast-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-northeast-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-northeast-1", + }, + }, "ap-northeast-2": endpoints.Endpoint{}, + "ap-northeast-2-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-northeast-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-northeast-2", + }, + }, "ap-northeast-3": endpoints.Endpoint{}, - "ap-south-1": endpoints.Endpoint{}, + "ap-northeast-3-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-northeast-3.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-northeast-3", + }, + }, + "ap-south-1": endpoints.Endpoint{}, + "ap-south-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-south-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-south-1", + }, + }, "ap-southeast-1": endpoints.Endpoint{}, + "ap-southeast-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-southeast-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-southeast-1", + }, + }, "ap-southeast-2": endpoints.Endpoint{}, - "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, - "me-south-1": endpoints.Endpoint{}, - "sa-east-1": endpoints.Endpoint{}, - "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "ap-southeast-2-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ap-southeast-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-southeast-2", + }, + }, + "ca-central-1": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-central-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.eu-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-central-1", + }, + }, + "eu-north-1": endpoints.Endpoint{}, + "eu-north-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.eu-north-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-north-1", + }, + }, + "eu-south-1": endpoints.Endpoint{}, + "eu-south-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.eu-south-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-south-1", + }, + }, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.eu-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-west-1", + }, + }, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-2-fips": endpoints.Endpoint{ + Hostname: "kms-fips.eu-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-west-2", + }, + }, + "eu-west-3": endpoints.Endpoint{}, + "eu-west-3-fips": endpoints.Endpoint{ + Hostname: "kms-fips.eu-west-3.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-west-3", + }, + }, + "me-south-1": endpoints.Endpoint{}, + "me-south-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.me-south-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "me-south-1", + }, + }, + "sa-east-1": endpoints.Endpoint{}, + "sa-east-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.sa-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "sa-east-1", + }, + }, + "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -117,7 +243,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-iso-east-1": endpoints.Endpoint{}, + "us-iso-east-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-iso-east-1.c2s.ic.gov", + CredentialScope: endpoints.CredentialScope{ + Region: "us-iso-east-1", + }, + }, "us-iso-west-1": endpoints.Endpoint{}, + "us-iso-west-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-iso-west-1.c2s.ic.gov", + CredentialScope: endpoints.CredentialScope{ + Region: "us-iso-west-1", + }, + }, }, }, { @@ -137,6 +275,12 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-isob-east-1": endpoints.Endpoint{}, + "us-isob-east-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-isob-east-1.sc2s.sgov.gov", + CredentialScope: endpoints.CredentialScope{ + Region: "us-isob-east-1", + }, + }, }, }, { @@ -156,7 +300,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "kms-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/lightsail/api_op_CreateContainerService.go b/service/lightsail/api_op_CreateContainerService.go index 7098f37b87d..c2386d2040e 100644 --- a/service/lightsail/api_op_CreateContainerService.go +++ b/service/lightsail/api_op_CreateContainerService.go @@ -96,8 +96,8 @@ type CreateContainerServiceInput struct { // names using a string to array map as shown in the example later on this page. PublicDomainNames map[string][]string - // The tag keys and optional values to add to the certificate during create. Use - // the TagResource action to tag a resource after it's created. For more + // The tag keys and optional values to add to the container service during create. + // Use the TagResource action to tag a resource after it's created. For more // information about tags in Lightsail, see the Amazon Lightsail Developer Guide // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags). Tags []types.Tag diff --git a/service/lightsail/api_op_UpdateBucket.go b/service/lightsail/api_op_UpdateBucket.go index 88d6c11c95b..13995f122c3 100644 --- a/service/lightsail/api_op_UpdateBucket.go +++ b/service/lightsail/api_op_UpdateBucket.go @@ -36,6 +36,9 @@ type UpdateBucketInput struct { // This member is required. BucketName *string + // An object that describes the access log configuration for the bucket. + AccessLogConfig *types.BucketAccessLogConfig + // An object that sets the public accessibility of objects in the specified bucket. AccessRules *types.AccessRules diff --git a/service/lightsail/deserializers.go b/service/lightsail/deserializers.go index 28ac1ad77c7..e0fb2477253 100644 --- a/service/lightsail/deserializers.go +++ b/service/lightsail/deserializers.go @@ -21004,6 +21004,11 @@ func awsAwsjson11_deserializeDocumentBucket(v **types.Bucket, value interface{}) sv.AbleToUpdateBundle = ptr.Bool(jtv) } + case "accessLogConfig": + if err := awsAwsjson11_deserializeDocumentBucketAccessLogConfig(&sv.AccessLogConfig, value); err != nil { + return err + } + case "accessRules": if err := awsAwsjson11_deserializeDocumentAccessRules(&sv.AccessRules, value); err != nil { return err @@ -21122,6 +21127,64 @@ func awsAwsjson11_deserializeDocumentBucket(v **types.Bucket, value interface{}) return nil } +func awsAwsjson11_deserializeDocumentBucketAccessLogConfig(v **types.BucketAccessLogConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.BucketAccessLogConfig + if *v == nil { + sv = &types.BucketAccessLogConfig{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "destination": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected BucketName to be of type string, got %T instead", value) + } + sv.Destination = ptr.String(jtv) + } + + case "enabled": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected boolean to be of type *bool, got %T instead", value) + } + sv.Enabled = ptr.Bool(jtv) + } + + case "prefix": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected BucketAccessLogPrefix to be of type string, got %T instead", value) + } + sv.Prefix = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentBucketBundle(v **types.BucketBundle, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/lightsail/serializers.go b/service/lightsail/serializers.go index cc2055c1338..8aeadd47803 100644 --- a/service/lightsail/serializers.go +++ b/service/lightsail/serializers.go @@ -7283,6 +7283,28 @@ func awsAwsjson11_serializeDocumentAutoSnapshotAddOnRequest(v *types.AutoSnapsho return nil } +func awsAwsjson11_serializeDocumentBucketAccessLogConfig(v *types.BucketAccessLogConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Destination != nil { + ok := object.Key("destination") + ok.String(*v.Destination) + } + + if v.Enabled != nil { + ok := object.Key("enabled") + ok.Boolean(*v.Enabled) + } + + if v.Prefix != nil { + ok := object.Key("prefix") + ok.String(*v.Prefix) + } + + return nil +} + func awsAwsjson11_serializeDocumentCacheBehavior(v *types.CacheBehavior, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -10891,6 +10913,13 @@ func awsAwsjson11_serializeOpDocumentUpdateBucketInput(v *UpdateBucketInput, val object := value.Object() defer object.Close() + if v.AccessLogConfig != nil { + ok := object.Key("accessLogConfig") + if err := awsAwsjson11_serializeDocumentBucketAccessLogConfig(v.AccessLogConfig, ok); err != nil { + return err + } + } + if v.AccessRules != nil { ok := object.Key("accessRules") if err := awsAwsjson11_serializeDocumentAccessRules(v.AccessRules, ok); err != nil { diff --git a/service/lightsail/types/types.go b/service/lightsail/types/types.go index 3ac68acbf09..28e42122140 100644 --- a/service/lightsail/types/types.go +++ b/service/lightsail/types/types.go @@ -408,6 +408,9 @@ type Bucket struct { // bucket's bundle. AbleToUpdateBundle *bool + // An object that describes the access log configuration for the bucket. + AccessLogConfig *BucketAccessLogConfig + // An object that describes the access rules of the bucket. AccessRules *AccessRules @@ -473,6 +476,37 @@ type Bucket struct { noSmithyDocumentSerde } +// Describes the access log configuration for a bucket in the Amazon Lightsail +// object storage service. For more information about bucket access logs, see +// Logging bucket requests using access logging in Amazon Lightsail +// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-bucket-access-logs) +// in the Amazon Lightsail Developer Guide. +type BucketAccessLogConfig struct { + + // A Boolean value that indicates whether bucket access logging is enabled for the + // bucket. + // + // This member is required. + Enabled *bool + + // The name of the bucket where the access is saved. The destination can be a + // Lightsail bucket in the same account, and in the same AWS Region as the source + // bucket. This parameter is required when enabling the access log for a bucket, + // and should be omitted when disabling the access log. + Destination *string + + // The optional object prefix for the bucket access log. The prefix is an optional + // addition to the object key that organizes your access log files in the + // destination bucket. For example, if you specify a logs/ prefix, then each log + // object will begin with the logs/ prefix in its key (for example, + // logs/2021-11-01-21-32-16-E568B2907131C0C0). This parameter can be optionally + // specified when enabling the access log for a bucket, and should be omitted when + // disabling the access log. + Prefix *string + + noSmithyDocumentSerde +} + // Describes the specifications of a bundle that can be applied to an Amazon // Lightsail bucket. A bucket bundle specifies the monthly cost, storage space, and // data transfer quota for a bucket. @@ -964,9 +998,15 @@ type Container struct { // The name of the image used for the container. Container images sourced from your // Lightsail container service, that are registered and stored on your service, - // start with a colon (:). For example, :container-service-1.mystaticwebsite.1. - // Container images sourced from a public registry like Docker Hub don't start with - // a colon. For example, nginx:latest or nginx. + // start with a colon (:). For example, if your container service name is + // container-service-1, the container image label is mystaticsite, and you want to + // use the third (3) version of the registered container image, then you should + // specify :container-service-1.mystaticsite.3. To use the latest version of a + // container image, specify latest instead of a version number (for example, + // :container-service-1.mystaticsite.latest). Lightsail will automatically use the + // highest numbered version of the registered container image. Container images + // sourced from a public registry like Docker Hub don't start with a colon. For + // example, nginx:latest or nginx. Image *string // The open firewall ports of the container. diff --git a/service/lightsail/validators.go b/service/lightsail/validators.go index b30f5a4017d..2fb270ec7c7 100644 --- a/service/lightsail/validators.go +++ b/service/lightsail/validators.go @@ -2802,6 +2802,21 @@ func validateAddOnRequestList(v []types.AddOnRequest) error { } } +func validateBucketAccessLogConfig(v *types.BucketAccessLogConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "BucketAccessLogConfig"} + if v.Enabled == nil { + invalidParams.Add(smithy.NewErrParamRequired("Enabled")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateContainerServiceDeploymentRequest(v *types.ContainerServiceDeploymentRequest) error { if v == nil { return nil @@ -4817,6 +4832,11 @@ func validateOpUpdateBucketInput(v *UpdateBucketInput) error { if v.BucketName == nil { invalidParams.Add(smithy.NewErrParamRequired("BucketName")) } + if v.AccessLogConfig != nil { + if err := validateBucketAccessLogConfig(v.AccessLogConfig); err != nil { + invalidParams.AddNested("AccessLogConfig", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/mgn/internal/endpoints/endpoints.go b/service/mgn/internal/endpoints/endpoints.go index bc32865c8f0..b278d42323c 100644 --- a/service/mgn/internal/endpoints/endpoints.go +++ b/service/mgn/internal/endpoints/endpoints.go @@ -62,6 +62,25 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "ap-east-1": endpoints.Endpoint{}, + "ap-northeast-1": endpoints.Endpoint{}, + "ap-northeast-2": endpoints.Endpoint{}, + "ap-northeast-3": endpoints.Endpoint{}, + "ap-south-1": endpoints.Endpoint{}, + "ap-southeast-1": endpoints.Endpoint{}, + "ap-southeast-2": endpoints.Endpoint{}, + "ca-central-1": endpoints.Endpoint{}, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "sa-east-1": endpoints.Endpoint{}, + "us-east-1": endpoints.Endpoint{}, + "us-east-2": endpoints.Endpoint{}, + "us-west-1": endpoints.Endpoint{}, + "us-west-2": endpoints.Endpoint{}, + }, }, { ID: "aws-cn", diff --git a/service/neptune/api_op_AddRoleToDBCluster.go b/service/neptune/api_op_AddRoleToDBCluster.go index 7c2ffce16cb..f0fa4a59e01 100644 --- a/service/neptune/api_op_AddRoleToDBCluster.go +++ b/service/neptune/api_op_AddRoleToDBCluster.go @@ -10,7 +10,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Associates an Identity and Access Management (IAM) role from an Neptune DB +// Associates an Identity and Access Management (IAM) role with an Neptune DB // cluster. func (c *Client) AddRoleToDBCluster(ctx context.Context, params *AddRoleToDBClusterInput, optFns ...func(*Options)) (*AddRoleToDBClusterOutput, error) { if params == nil { diff --git a/service/neptune/api_op_DescribeDBClusterSnapshots.go b/service/neptune/api_op_DescribeDBClusterSnapshots.go index dfdec3ae1dd..23acdaabbec 100644 --- a/service/neptune/api_op_DescribeDBClusterSnapshots.go +++ b/service/neptune/api_op_DescribeDBClusterSnapshots.go @@ -60,7 +60,7 @@ type DescribeDBClusterSnapshotsInput struct { IncludePublic bool // True to include shared manual DB cluster snapshots from other Amazon accounts - // that this AWS account has been given permission to copy or restore, and + // that this Amazon account has been given permission to copy or restore, and // otherwise false. The default is false. You can give an Amazon account permission // to restore a manual DB cluster snapshot from another Amazon account by the // ModifyDBClusterSnapshotAttribute API action. @@ -84,7 +84,7 @@ type DescribeDBClusterSnapshotsInput struct { // automatically taken by Amazon Neptune for my Amazon account. // // * manual - Return - // all DB cluster snapshots that have been taken by my AWS account. + // all DB cluster snapshots that have been taken by my Amazon account. // // * shared - // Return all manual DB cluster snapshots that have been shared to my Amazon diff --git a/service/neptune/api_op_DescribeDBInstances.go b/service/neptune/api_op_DescribeDBInstances.go index ecdfdeaf567..c0a3f12044a 100644 --- a/service/neptune/api_op_DescribeDBInstances.go +++ b/service/neptune/api_op_DescribeDBInstances.go @@ -4,10 +4,12 @@ package neptune import ( "context" + "errors" "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/neptune/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" @@ -530,6 +532,280 @@ func dBInstanceAvailableStateRetryable(ctx context.Context, input *DescribeDBIns return true, nil } +// DBInstanceDeletedWaiterOptions are waiter options for DBInstanceDeletedWaiter +type DBInstanceDeletedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // DBInstanceDeletedWaiter will use default minimum delay of 30 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, DBInstanceDeletedWaiter will use default max delay of 120 seconds. Note + // that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *DescribeDBInstancesInput, *DescribeDBInstancesOutput, error) (bool, error) +} + +// DBInstanceDeletedWaiter defines the waiters for DBInstanceDeleted +type DBInstanceDeletedWaiter struct { + client DescribeDBInstancesAPIClient + + options DBInstanceDeletedWaiterOptions +} + +// NewDBInstanceDeletedWaiter constructs a DBInstanceDeletedWaiter. +func NewDBInstanceDeletedWaiter(client DescribeDBInstancesAPIClient, optFns ...func(*DBInstanceDeletedWaiterOptions)) *DBInstanceDeletedWaiter { + options := DBInstanceDeletedWaiterOptions{} + options.MinDelay = 30 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = dBInstanceDeletedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &DBInstanceDeletedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for DBInstanceDeleted waiter. The maxWaitDur is +// the maximum wait duration the waiter will wait. The maxWaitDur is required and +// must be greater than zero. +func (w *DBInstanceDeletedWaiter) Wait(ctx context.Context, params *DescribeDBInstancesInput, maxWaitDur time.Duration, optFns ...func(*DBInstanceDeletedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.DescribeDBInstances(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for DBInstanceDeleted waiter") +} + +func dBInstanceDeletedStateRetryable(ctx context.Context, input *DescribeDBInstancesInput, output *DescribeDBInstancesOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("DBInstances[].DBInstanceStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "deleted" + var match = true + listOfValues, ok := pathValue.([]interface{}) + if !ok { + return false, fmt.Errorf("waiter comparator expected list got %T", pathValue) + } + + if len(listOfValues) == 0 { + match = false + } + for _, v := range listOfValues { + value, ok := v.(*string) + if !ok { + return false, fmt.Errorf("waiter comparator expected *string value, got %T", pathValue) + } + + if string(*value) != expectedValue { + match = false + } + } + + if match { + return false, nil + } + } + + if err != nil { + var apiErr smithy.APIError + ok := errors.As(err, &apiErr) + if !ok { + return false, fmt.Errorf("expected err to be of type smithy.APIError, got %w", err) + } + + if "DBInstanceNotFound" == apiErr.ErrorCode() { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("DBInstances[].DBInstanceStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "creating" + listOfValues, ok := pathValue.([]interface{}) + if !ok { + return false, fmt.Errorf("waiter comparator expected list got %T", pathValue) + } + + for _, v := range listOfValues { + value, ok := v.(*string) + if !ok { + return false, fmt.Errorf("waiter comparator expected *string value, got %T", pathValue) + } + + if string(*value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + } + + if err == nil { + pathValue, err := jmespath.Search("DBInstances[].DBInstanceStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "modifying" + listOfValues, ok := pathValue.([]interface{}) + if !ok { + return false, fmt.Errorf("waiter comparator expected list got %T", pathValue) + } + + for _, v := range listOfValues { + value, ok := v.(*string) + if !ok { + return false, fmt.Errorf("waiter comparator expected *string value, got %T", pathValue) + } + + if string(*value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + } + + if err == nil { + pathValue, err := jmespath.Search("DBInstances[].DBInstanceStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "rebooting" + listOfValues, ok := pathValue.([]interface{}) + if !ok { + return false, fmt.Errorf("waiter comparator expected list got %T", pathValue) + } + + for _, v := range listOfValues { + value, ok := v.(*string) + if !ok { + return false, fmt.Errorf("waiter comparator expected *string value, got %T", pathValue) + } + + if string(*value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + } + + if err == nil { + pathValue, err := jmespath.Search("DBInstances[].DBInstanceStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "resetting-master-credentials" + listOfValues, ok := pathValue.([]interface{}) + if !ok { + return false, fmt.Errorf("waiter comparator expected list got %T", pathValue) + } + + for _, v := range listOfValues { + value, ok := v.(*string) + if !ok { + return false, fmt.Errorf("waiter comparator expected *string value, got %T", pathValue) + } + + if string(*value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opDescribeDBInstances(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/neptune/api_op_ModifyDBCluster.go b/service/neptune/api_op_ModifyDBCluster.go index 5faedb5577a..a3d11ebcbd4 100644 --- a/service/neptune/api_op_ModifyDBCluster.go +++ b/service/neptune/api_op_ModifyDBCluster.go @@ -40,6 +40,12 @@ type ModifyDBClusterInput struct { // This member is required. DBClusterIdentifier *string + // A value that indicates whether upgrades between different major versions are + // allowed. Constraints: You must set the allow-major-version-upgrade flag when + // providing an EngineVersion parameter that uses a different major version than + // the DB cluster's current version. + AllowMajorVersionUpgrade bool + // A value that specifies whether the modifications in this request and any pending // modifications are asynchronously applied as soon as possible, regardless of the // PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set @@ -68,6 +74,19 @@ type ModifyDBClusterInput struct { // The name of the DB cluster parameter group to use for the DB cluster. DBClusterParameterGroupName *string + // The name of the DB parameter group to apply to all instances of the DB cluster. + // When you apply a parameter group using DBInstanceParameterGroupName, parameter + // changes aren't applied during the next maintenance window but instead are + // applied immediately. Default: The existing name setting Constraints: + // + // * The DB + // parameter group must be in the same DB parameter group family as the target DB + // cluster version. + // + // * The DBInstanceParameterGroupName parameter is only valid in + // combination with the AllowMajorVersionUpgrade parameter. + DBInstanceParameterGroupName *string + // A value that indicates whether the DB cluster has deletion protection enabled. // The database can't be deleted when deletion protection is enabled. By default, // deletion protection is disabled. diff --git a/service/neptune/api_op_ModifyDBClusterSnapshotAttribute.go b/service/neptune/api_op_ModifyDBClusterSnapshotAttribute.go index b7d4f6db398..00e344edb2b 100644 --- a/service/neptune/api_op_ModifyDBClusterSnapshotAttribute.go +++ b/service/neptune/api_op_ModifyDBClusterSnapshotAttribute.go @@ -59,7 +59,7 @@ type ModifyDBClusterSnapshotAttributeInput struct { // cluster snapshot, set this list to include one or more Amazon account IDs, or // all to make the manual DB cluster snapshot restorable by any Amazon account. Do // not add the all value for any manual DB cluster snapshots that contain private - // information that you don't want available to all AWS accounts. + // information that you don't want available to all Amazon accounts. ValuesToAdd []string // A list of DB cluster snapshot attributes to remove from the attribute specified diff --git a/service/neptune/api_op_ModifyDBInstance.go b/service/neptune/api_op_ModifyDBInstance.go index 0c37e2cf872..fc463e3d3fb 100644 --- a/service/neptune/api_op_ModifyDBInstance.go +++ b/service/neptune/api_op_ModifyDBInstance.go @@ -81,7 +81,7 @@ type ModifyDBInstanceInput struct { CopyTagsToSnapshot *bool // The new compute and memory capacity of the DB instance, for example, - // db.m4.large. Not all DB instance classes are available in all AWS Regions. If + // db.m4.large. Not all DB instance classes are available in all Amazon Regions. If // you modify the DB instance class, an outage occurs during the change. The change // is applied during the next maintenance window, unless ApplyImmediately is // specified as true for this request. Default: Uses existing setting diff --git a/service/neptune/api_op_RemoveRoleFromDBCluster.go b/service/neptune/api_op_RemoveRoleFromDBCluster.go index e7e5e34400d..4c8c1013d78 100644 --- a/service/neptune/api_op_RemoveRoleFromDBCluster.go +++ b/service/neptune/api_op_RemoveRoleFromDBCluster.go @@ -41,7 +41,8 @@ type RemoveRoleFromDBClusterInput struct { // The name of the feature for the DB cluster that the IAM role is to be // disassociated from. For the list of supported feature names, see - // DBEngineVersion. + // DescribeDBEngineVersions + // (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions). FeatureName *string noSmithyDocumentSerde diff --git a/service/neptune/api_op_StartDBCluster.go b/service/neptune/api_op_StartDBCluster.go index ba6c6a3244a..f619c674592 100644 --- a/service/neptune/api_op_StartDBCluster.go +++ b/service/neptune/api_op_StartDBCluster.go @@ -11,8 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Starts an Amazon Neptune DB cluster that was stopped using the AWS console, the -// Amazon CLI stop-db-cluster command, or the StopDBCluster API. +// Starts an Amazon Neptune DB cluster that was stopped using the Amazon console, +// the Amazon CLI stop-db-cluster command, or the StopDBCluster API. func (c *Client) StartDBCluster(ctx context.Context, params *StartDBClusterInput, optFns ...func(*Options)) (*StartDBClusterOutput, error) { if params == nil { params = &StartDBClusterInput{} diff --git a/service/neptune/internal/endpoints/endpoints.go b/service/neptune/internal/endpoints/endpoints.go index efaeb131196..bd906030c00 100644 --- a/service/neptune/internal/endpoints/endpoints.go +++ b/service/neptune/internal/endpoints/endpoints.go @@ -72,13 +72,19 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, - "me-south-1": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, + "me-south-1": endpoints.Endpoint{}, "rds-fips.ca-central-1": endpoints.Endpoint{ Hostname: "rds-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -109,11 +115,60 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-west-2", }, }, + "rds.ca-central-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "rds.us-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "rds.us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "rds.us-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "rds.us-west-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -180,7 +235,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "rds.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "rds.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/neptune/serializers.go b/service/neptune/serializers.go index 62225ba3809..4c01adb4620 100644 --- a/service/neptune/serializers.go +++ b/service/neptune/serializers.go @@ -5406,6 +5406,11 @@ func awsAwsquery_serializeOpDocumentModifyDBClusterInput(v *ModifyDBClusterInput object := value.Object() _ = object + if v.AllowMajorVersionUpgrade { + objectKey := object.Key("AllowMajorVersionUpgrade") + objectKey.Boolean(v.AllowMajorVersionUpgrade) + } + if v.ApplyImmediately { objectKey := object.Key("ApplyImmediately") objectKey.Boolean(v.ApplyImmediately) @@ -5438,6 +5443,11 @@ func awsAwsquery_serializeOpDocumentModifyDBClusterInput(v *ModifyDBClusterInput objectKey.String(*v.DBClusterParameterGroupName) } + if v.DBInstanceParameterGroupName != nil { + objectKey := object.Key("DBInstanceParameterGroupName") + objectKey.String(*v.DBInstanceParameterGroupName) + } + if v.DeletionProtection != nil { objectKey := object.Key("DeletionProtection") objectKey.Boolean(*v.DeletionProtection) diff --git a/service/neptune/types/types.go b/service/neptune/types/types.go index dee567ebceb..91c9feac5ef 100644 --- a/service/neptune/types/types.go +++ b/service/neptune/types/types.go @@ -318,7 +318,8 @@ type DBClusterRole struct { // The name of the feature associated with the Amazon Identity and Access // Management (IAM) role. For the list of supported feature names, see - // DBEngineVersion. + // DescribeDBEngineVersions + // (https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions). FeatureName *string // The Amazon Resource Name (ARN) of the IAM role that is associated with the DB @@ -1242,15 +1243,15 @@ type Subnet struct { type Tag struct { // A key is the required name of the tag. The string value can be from 1 to 128 - // Unicode characters in length and can't be prefixed with "aws:" or "rds:". The - // string can only contain only the set of Unicode letters, digits, white-space, - // '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + // Unicode characters in length and can't be prefixed with aws: or rds:. The string + // can only contain the set of Unicode letters, digits, white-space, '_', '.', '/', + // '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). Key *string // A value is the optional value of the tag. The string value can be from 1 to 256 - // Unicode characters in length and can't be prefixed with "aws:" or "rds:". The - // string can only contain only the set of Unicode letters, digits, white-space, - // '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + // Unicode characters in length and can't be prefixed with aws: or rds:. The string + // can only contain the set of Unicode letters, digits, white-space, '_', '.', '/', + // '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). Value *string noSmithyDocumentSerde diff --git a/service/networkmanager/api_op_AssociateCustomerGateway.go b/service/networkmanager/api_op_AssociateCustomerGateway.go index 84ed360f1c3..0fffe481406 100644 --- a/service/networkmanager/api_op_AssociateCustomerGateway.go +++ b/service/networkmanager/api_op_AssociateCustomerGateway.go @@ -38,9 +38,7 @@ func (c *Client) AssociateCustomerGateway(ctx context.Context, params *Associate type AssociateCustomerGatewayInput struct { - // The Amazon Resource Name (ARN) of the customer gateway. For more information, - // see Resources Defined by Amazon EC2 - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies). + // The Amazon Resource Name (ARN) of the customer gateway. // // This member is required. CustomerGatewayArn *string diff --git a/service/networkmanager/api_op_CreateDevice.go b/service/networkmanager/api_op_CreateDevice.go index 1cf2889e48c..f7620093fc3 100644 --- a/service/networkmanager/api_op_CreateDevice.go +++ b/service/networkmanager/api_op_CreateDevice.go @@ -36,21 +36,20 @@ type CreateDeviceInput struct { // This member is required. GlobalNetworkId *string - // The AWS location of the device. + // The Amazon Web Services location of the device, if applicable. For an + // on-premises device, you can omit this parameter. AWSLocation *types.AWSLocation - // A description of the device. Length Constraints: Maximum length of 256 - // characters. + // A description of the device. Constraints: Maximum length of 256 characters. Description *string // The location of the device. Location *types.Location - // The model of the device. Length Constraints: Maximum length of 128 characters. + // The model of the device. Constraints: Maximum length of 128 characters. Model *string - // The serial number of the device. Length Constraints: Maximum length of 128 - // characters. + // The serial number of the device. Constraints: Maximum length of 128 characters. SerialNumber *string // The ID of the site. @@ -62,7 +61,7 @@ type CreateDeviceInput struct { // The type of the device. Type *string - // The vendor of the device. Length Constraints: Maximum length of 128 characters. + // The vendor of the device. Constraints: Maximum length of 128 characters. Vendor *string noSmithyDocumentSerde diff --git a/service/networkmanager/api_op_CreateGlobalNetwork.go b/service/networkmanager/api_op_CreateGlobalNetwork.go index ac23804f58d..4dba029d78e 100644 --- a/service/networkmanager/api_op_CreateGlobalNetwork.go +++ b/service/networkmanager/api_op_CreateGlobalNetwork.go @@ -29,7 +29,7 @@ func (c *Client) CreateGlobalNetwork(ctx context.Context, params *CreateGlobalNe type CreateGlobalNetworkInput struct { - // A description of the global network. Length Constraints: Maximum length of 256 + // A description of the global network. Constraints: Maximum length of 256 // characters. Description *string diff --git a/service/networkmanager/api_op_CreateLink.go b/service/networkmanager/api_op_CreateLink.go index 47e71c5ceaf..f4ca7a1bb4d 100644 --- a/service/networkmanager/api_op_CreateLink.go +++ b/service/networkmanager/api_op_CreateLink.go @@ -44,18 +44,18 @@ type CreateLinkInput struct { // This member is required. SiteId *string - // A description of the link. Length Constraints: Maximum length of 256 characters. + // A description of the link. Constraints: Maximum length of 256 characters. Description *string - // The provider of the link. Constraints: Cannot include the following characters: - // | \ ^ Length Constraints: Maximum length of 128 characters. + // The provider of the link. Constraints: Maximum length of 128 characters. Cannot + // include the following characters: | \ ^ Provider *string // The tags to apply to the resource during creation. Tags []types.Tag - // The type of the link. Constraints: Cannot include the following characters: | \ - // ^ Length Constraints: Maximum length of 128 characters. + // The type of the link. Constraints: Maximum length of 128 characters. Cannot + // include the following characters: | \ ^ Type *string noSmithyDocumentSerde diff --git a/service/networkmanager/api_op_CreateSite.go b/service/networkmanager/api_op_CreateSite.go index ed7d1ffe72b..c1569a5220a 100644 --- a/service/networkmanager/api_op_CreateSite.go +++ b/service/networkmanager/api_op_CreateSite.go @@ -34,8 +34,7 @@ type CreateSiteInput struct { // This member is required. GlobalNetworkId *string - // A description of your site. Length Constraints: Maximum length of 256 - // characters. + // A description of your site. Constraints: Maximum length of 256 characters. Description *string // The site location. This information is used for visualization in the Network diff --git a/service/networkmanager/api_op_DisassociateCustomerGateway.go b/service/networkmanager/api_op_DisassociateCustomerGateway.go index 8ba9f887106..684025ecab1 100644 --- a/service/networkmanager/api_op_DisassociateCustomerGateway.go +++ b/service/networkmanager/api_op_DisassociateCustomerGateway.go @@ -29,9 +29,7 @@ func (c *Client) DisassociateCustomerGateway(ctx context.Context, params *Disass type DisassociateCustomerGatewayInput struct { - // The Amazon Resource Name (ARN) of the customer gateway. For more information, - // see Resources Defined by Amazon EC2 - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies). + // The Amazon Resource Name (ARN) of the customer gateway. // // This member is required. CustomerGatewayArn *string diff --git a/service/networkmanager/api_op_GetCustomerGatewayAssociations.go b/service/networkmanager/api_op_GetCustomerGatewayAssociations.go index e7a40c05a77..66ea261f6c5 100644 --- a/service/networkmanager/api_op_GetCustomerGatewayAssociations.go +++ b/service/networkmanager/api_op_GetCustomerGatewayAssociations.go @@ -36,10 +36,7 @@ type GetCustomerGatewayAssociationsInput struct { // This member is required. GlobalNetworkId *string - // One or more customer gateway Amazon Resource Names (ARNs). For more information, - // see Resources Defined by Amazon EC2 - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies). - // The maximum is 10. + // One or more customer gateway Amazon Resource Names (ARNs). The maximum is 10. CustomerGatewayArns []string // The maximum number of results to return. diff --git a/service/networkmanager/api_op_GetNetworkResourceCounts.go b/service/networkmanager/api_op_GetNetworkResourceCounts.go new file mode 100644 index 00000000000..94a49170c34 --- /dev/null +++ b/service/networkmanager/api_op_GetNetworkResourceCounts.go @@ -0,0 +1,258 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets the count of network resources, by resource type, for the specified global +// network. +func (c *Client) GetNetworkResourceCounts(ctx context.Context, params *GetNetworkResourceCountsInput, optFns ...func(*Options)) (*GetNetworkResourceCountsOutput, error) { + if params == nil { + params = &GetNetworkResourceCountsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetNetworkResourceCounts", params, optFns, c.addOperationGetNetworkResourceCountsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetNetworkResourceCountsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetNetworkResourceCountsInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The maximum number of results to return. + MaxResults *int32 + + // The token for the next page of results. + NextToken *string + + // The resource type. The following are the supported resource types for Direct + // Connect: + // + // * dxcon + // + // * dx-gateway + // + // * dx-vif + // + // The following are the supported + // resource types for Network Manager: + // + // * connection + // + // * device + // + // * link + // + // * site + // + // The + // following are the supported resource types for Amazon VPC: + // + // * + // customer-gateway + // + // * transit-gateway + // + // * transit-gateway-attachment + // + // * + // transit-gateway-connect-peer + // + // * transit-gateway-route-table + // + // * vpn-connection + ResourceType *string + + noSmithyDocumentSerde +} + +type GetNetworkResourceCountsOutput struct { + + // The count of resources. + NetworkResourceCounts []types.NetworkResourceCount + + // The token for the next page of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetNetworkResourceCountsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetNetworkResourceCounts{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetNetworkResourceCounts{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetNetworkResourceCountsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetNetworkResourceCounts(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// GetNetworkResourceCountsAPIClient is a client that implements the +// GetNetworkResourceCounts operation. +type GetNetworkResourceCountsAPIClient interface { + GetNetworkResourceCounts(context.Context, *GetNetworkResourceCountsInput, ...func(*Options)) (*GetNetworkResourceCountsOutput, error) +} + +var _ GetNetworkResourceCountsAPIClient = (*Client)(nil) + +// GetNetworkResourceCountsPaginatorOptions is the paginator options for +// GetNetworkResourceCounts +type GetNetworkResourceCountsPaginatorOptions struct { + // The maximum number of results to return. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// GetNetworkResourceCountsPaginator is a paginator for GetNetworkResourceCounts +type GetNetworkResourceCountsPaginator struct { + options GetNetworkResourceCountsPaginatorOptions + client GetNetworkResourceCountsAPIClient + params *GetNetworkResourceCountsInput + nextToken *string + firstPage bool +} + +// NewGetNetworkResourceCountsPaginator returns a new +// GetNetworkResourceCountsPaginator +func NewGetNetworkResourceCountsPaginator(client GetNetworkResourceCountsAPIClient, params *GetNetworkResourceCountsInput, optFns ...func(*GetNetworkResourceCountsPaginatorOptions)) *GetNetworkResourceCountsPaginator { + if params == nil { + params = &GetNetworkResourceCountsInput{} + } + + options := GetNetworkResourceCountsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &GetNetworkResourceCountsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *GetNetworkResourceCountsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next GetNetworkResourceCounts page. +func (p *GetNetworkResourceCountsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetNetworkResourceCountsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.GetNetworkResourceCounts(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opGetNetworkResourceCounts(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "GetNetworkResourceCounts", + } +} diff --git a/service/networkmanager/api_op_GetNetworkResourceRelationships.go b/service/networkmanager/api_op_GetNetworkResourceRelationships.go new file mode 100644 index 00000000000..5c2a8b72a36 --- /dev/null +++ b/service/networkmanager/api_op_GetNetworkResourceRelationships.go @@ -0,0 +1,270 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets the network resource relationships for the specified global network. +func (c *Client) GetNetworkResourceRelationships(ctx context.Context, params *GetNetworkResourceRelationshipsInput, optFns ...func(*Options)) (*GetNetworkResourceRelationshipsOutput, error) { + if params == nil { + params = &GetNetworkResourceRelationshipsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetNetworkResourceRelationships", params, optFns, c.addOperationGetNetworkResourceRelationshipsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetNetworkResourceRelationshipsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetNetworkResourceRelationshipsInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The Amazon Web Services account ID. + AccountId *string + + // The Amazon Web Services Region. + AwsRegion *string + + // The maximum number of results to return. + MaxResults *int32 + + // The token for the next page of results. + NextToken *string + + // The ARN of the registered gateway. + RegisteredGatewayArn *string + + // The ARN of the gateway. + ResourceArn *string + + // The resource type. The following are the supported resource types for Direct + // Connect: + // + // * dxcon + // + // * dx-gateway + // + // * dx-vif + // + // The following are the supported + // resource types for Network Manager: + // + // * connection + // + // * device + // + // * link + // + // * site + // + // The + // following are the supported resource types for Amazon VPC: + // + // * + // customer-gateway + // + // * transit-gateway + // + // * transit-gateway-attachment + // + // * + // transit-gateway-connect-peer + // + // * transit-gateway-route-table + // + // * vpn-connection + ResourceType *string + + noSmithyDocumentSerde +} + +type GetNetworkResourceRelationshipsOutput struct { + + // The token for the next page of results. + NextToken *string + + // The resource relationships. + Relationships []types.Relationship + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetNetworkResourceRelationshipsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetNetworkResourceRelationships{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetNetworkResourceRelationships{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetNetworkResourceRelationshipsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetNetworkResourceRelationships(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// GetNetworkResourceRelationshipsAPIClient is a client that implements the +// GetNetworkResourceRelationships operation. +type GetNetworkResourceRelationshipsAPIClient interface { + GetNetworkResourceRelationships(context.Context, *GetNetworkResourceRelationshipsInput, ...func(*Options)) (*GetNetworkResourceRelationshipsOutput, error) +} + +var _ GetNetworkResourceRelationshipsAPIClient = (*Client)(nil) + +// GetNetworkResourceRelationshipsPaginatorOptions is the paginator options for +// GetNetworkResourceRelationships +type GetNetworkResourceRelationshipsPaginatorOptions struct { + // The maximum number of results to return. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// GetNetworkResourceRelationshipsPaginator is a paginator for +// GetNetworkResourceRelationships +type GetNetworkResourceRelationshipsPaginator struct { + options GetNetworkResourceRelationshipsPaginatorOptions + client GetNetworkResourceRelationshipsAPIClient + params *GetNetworkResourceRelationshipsInput + nextToken *string + firstPage bool +} + +// NewGetNetworkResourceRelationshipsPaginator returns a new +// GetNetworkResourceRelationshipsPaginator +func NewGetNetworkResourceRelationshipsPaginator(client GetNetworkResourceRelationshipsAPIClient, params *GetNetworkResourceRelationshipsInput, optFns ...func(*GetNetworkResourceRelationshipsPaginatorOptions)) *GetNetworkResourceRelationshipsPaginator { + if params == nil { + params = &GetNetworkResourceRelationshipsInput{} + } + + options := GetNetworkResourceRelationshipsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &GetNetworkResourceRelationshipsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *GetNetworkResourceRelationshipsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next GetNetworkResourceRelationships page. +func (p *GetNetworkResourceRelationshipsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetNetworkResourceRelationshipsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.GetNetworkResourceRelationships(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opGetNetworkResourceRelationships(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "GetNetworkResourceRelationships", + } +} diff --git a/service/networkmanager/api_op_GetNetworkResources.go b/service/networkmanager/api_op_GetNetworkResources.go new file mode 100644 index 00000000000..e7da8cedc3e --- /dev/null +++ b/service/networkmanager/api_op_GetNetworkResources.go @@ -0,0 +1,293 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Describes the network resources for the specified global network. The results +// include information from the corresponding Describe call for the resource, minus +// any sensitive information such as pre-shared keys. +func (c *Client) GetNetworkResources(ctx context.Context, params *GetNetworkResourcesInput, optFns ...func(*Options)) (*GetNetworkResourcesOutput, error) { + if params == nil { + params = &GetNetworkResourcesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetNetworkResources", params, optFns, c.addOperationGetNetworkResourcesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetNetworkResourcesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetNetworkResourcesInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The Amazon Web Services account ID. + AccountId *string + + // The Amazon Web Services Region. + AwsRegion *string + + // The maximum number of results to return. + MaxResults *int32 + + // The token for the next page of results. + NextToken *string + + // The ARN of the gateway. + RegisteredGatewayArn *string + + // The ARN of the resource. + ResourceArn *string + + // The resource type. The following are the supported resource types for Direct + // Connect: + // + // * dxcon - The definition model is Connection + // (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html). + // + // * + // dx-gateway - The definition model is DirectConnectGateway + // (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DirectConnectGateway.html). + // + // * + // dx-vif - The definition model is VirtualInterface + // (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_VirtualInterface.html). + // + // The + // following are the supported resource types for Network Manager: + // + // * connection - + // The definition model is Connection + // (https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Connection.html). + // + // * + // device - The definition model is Device + // (https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Device.html). + // + // * + // link - The definition model is Link + // (https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Link.html). + // + // * + // site - The definition model is Site + // (https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Site.html). + // + // The + // following are the supported resource types for Amazon VPC: + // + // * customer-gateway - + // The definition model is CustomerGateway + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CustomerGateway.html). + // + // * + // transit-gateway - The definition model is TransitGateway + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGateway.html). + // + // * + // transit-gateway-attachment - The definition model is TransitGatewayAttachment + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachment.html). + // + // * + // transit-gateway-connect-peer - The definition model is TransitGatewayConnectPeer + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayConnectPeer.html). + // + // * + // transit-gateway-route-table - The definition model is TransitGatewayRouteTable + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayRouteTable.html). + // + // * + // vpn-connection - The definition model is VpnConnection + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnConnection.html). + ResourceType *string + + noSmithyDocumentSerde +} + +type GetNetworkResourcesOutput struct { + + // The network resources. + NetworkResources []types.NetworkResource + + // The token for the next page of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetNetworkResourcesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetNetworkResources{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetNetworkResources{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetNetworkResourcesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetNetworkResources(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// GetNetworkResourcesAPIClient is a client that implements the GetNetworkResources +// operation. +type GetNetworkResourcesAPIClient interface { + GetNetworkResources(context.Context, *GetNetworkResourcesInput, ...func(*Options)) (*GetNetworkResourcesOutput, error) +} + +var _ GetNetworkResourcesAPIClient = (*Client)(nil) + +// GetNetworkResourcesPaginatorOptions is the paginator options for +// GetNetworkResources +type GetNetworkResourcesPaginatorOptions struct { + // The maximum number of results to return. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// GetNetworkResourcesPaginator is a paginator for GetNetworkResources +type GetNetworkResourcesPaginator struct { + options GetNetworkResourcesPaginatorOptions + client GetNetworkResourcesAPIClient + params *GetNetworkResourcesInput + nextToken *string + firstPage bool +} + +// NewGetNetworkResourcesPaginator returns a new GetNetworkResourcesPaginator +func NewGetNetworkResourcesPaginator(client GetNetworkResourcesAPIClient, params *GetNetworkResourcesInput, optFns ...func(*GetNetworkResourcesPaginatorOptions)) *GetNetworkResourcesPaginator { + if params == nil { + params = &GetNetworkResourcesInput{} + } + + options := GetNetworkResourcesPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &GetNetworkResourcesPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *GetNetworkResourcesPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next GetNetworkResources page. +func (p *GetNetworkResourcesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetNetworkResourcesOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.GetNetworkResources(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opGetNetworkResources(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "GetNetworkResources", + } +} diff --git a/service/networkmanager/api_op_GetNetworkRoutes.go b/service/networkmanager/api_op_GetNetworkRoutes.go new file mode 100644 index 00000000000..3cc4e362a9d --- /dev/null +++ b/service/networkmanager/api_op_GetNetworkRoutes.go @@ -0,0 +1,162 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Gets the network routes of the specified global network. +func (c *Client) GetNetworkRoutes(ctx context.Context, params *GetNetworkRoutesInput, optFns ...func(*Options)) (*GetNetworkRoutesOutput, error) { + if params == nil { + params = &GetNetworkRoutesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetNetworkRoutes", params, optFns, c.addOperationGetNetworkRoutesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetNetworkRoutesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetNetworkRoutesInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The ID of the route table. + // + // This member is required. + RouteTableIdentifier *types.RouteTableIdentifier + + // Filter by route table destination. Possible Values: + // TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE. + DestinationFilters map[string][]string + + // An exact CIDR block. + ExactCidrMatches []string + + // The most specific route that matches the traffic (longest prefix match). + LongestPrefixMatches []string + + // The IDs of the prefix lists. + PrefixListIds []string + + // The route states. + States []types.RouteState + + // The routes with a subnet that match the specified CIDR filter. + SubnetOfMatches []string + + // The routes with a CIDR that encompasses the CIDR filter. Example: If you specify + // 10.0.1.0/30, then the result returns 10.0.1.0/29. + SupernetOfMatches []string + + // The route types. + Types []types.RouteType + + noSmithyDocumentSerde +} + +type GetNetworkRoutesOutput struct { + + // The network routes. + NetworkRoutes []types.NetworkRoute + + // The ARN of the route table. + RouteTableArn *string + + // The route table creation time. + RouteTableTimestamp *time.Time + + // The route table type. + RouteTableType types.RouteTableType + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetNetworkRoutesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetNetworkRoutes{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetNetworkRoutes{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetNetworkRoutesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetNetworkRoutes(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetNetworkRoutes(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "GetNetworkRoutes", + } +} diff --git a/service/networkmanager/api_op_GetNetworkTelemetry.go b/service/networkmanager/api_op_GetNetworkTelemetry.go new file mode 100644 index 00000000000..f9cbdb29bf9 --- /dev/null +++ b/service/networkmanager/api_op_GetNetworkTelemetry.go @@ -0,0 +1,268 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets the network telemetry of the specified global network. +func (c *Client) GetNetworkTelemetry(ctx context.Context, params *GetNetworkTelemetryInput, optFns ...func(*Options)) (*GetNetworkTelemetryOutput, error) { + if params == nil { + params = &GetNetworkTelemetryInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetNetworkTelemetry", params, optFns, c.addOperationGetNetworkTelemetryMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetNetworkTelemetryOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetNetworkTelemetryInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The Amazon Web Services account ID. + AccountId *string + + // The Amazon Web Services Region. + AwsRegion *string + + // The maximum number of results to return. + MaxResults *int32 + + // The token for the next page of results. + NextToken *string + + // The ARN of the gateway. + RegisteredGatewayArn *string + + // The ARN of the resource. + ResourceArn *string + + // The resource type. The following are the supported resource types for Direct + // Connect: + // + // * dxcon + // + // * dx-gateway + // + // * dx-vif + // + // The following are the supported + // resource types for Network Manager: + // + // * connection + // + // * device + // + // * link + // + // * site + // + // The + // following are the supported resource types for Amazon VPC: + // + // * + // customer-gateway + // + // * transit-gateway + // + // * transit-gateway-attachment + // + // * + // transit-gateway-connect-peer + // + // * transit-gateway-route-table + // + // * vpn-connection + ResourceType *string + + noSmithyDocumentSerde +} + +type GetNetworkTelemetryOutput struct { + + // The network telemetry. + NetworkTelemetry []types.NetworkTelemetry + + // The token for the next page of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetNetworkTelemetryMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetNetworkTelemetry{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetNetworkTelemetry{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetNetworkTelemetryValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetNetworkTelemetry(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// GetNetworkTelemetryAPIClient is a client that implements the GetNetworkTelemetry +// operation. +type GetNetworkTelemetryAPIClient interface { + GetNetworkTelemetry(context.Context, *GetNetworkTelemetryInput, ...func(*Options)) (*GetNetworkTelemetryOutput, error) +} + +var _ GetNetworkTelemetryAPIClient = (*Client)(nil) + +// GetNetworkTelemetryPaginatorOptions is the paginator options for +// GetNetworkTelemetry +type GetNetworkTelemetryPaginatorOptions struct { + // The maximum number of results to return. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// GetNetworkTelemetryPaginator is a paginator for GetNetworkTelemetry +type GetNetworkTelemetryPaginator struct { + options GetNetworkTelemetryPaginatorOptions + client GetNetworkTelemetryAPIClient + params *GetNetworkTelemetryInput + nextToken *string + firstPage bool +} + +// NewGetNetworkTelemetryPaginator returns a new GetNetworkTelemetryPaginator +func NewGetNetworkTelemetryPaginator(client GetNetworkTelemetryAPIClient, params *GetNetworkTelemetryInput, optFns ...func(*GetNetworkTelemetryPaginatorOptions)) *GetNetworkTelemetryPaginator { + if params == nil { + params = &GetNetworkTelemetryInput{} + } + + options := GetNetworkTelemetryPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &GetNetworkTelemetryPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *GetNetworkTelemetryPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next GetNetworkTelemetry page. +func (p *GetNetworkTelemetryPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetNetworkTelemetryOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.GetNetworkTelemetry(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opGetNetworkTelemetry(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "GetNetworkTelemetry", + } +} diff --git a/service/networkmanager/api_op_GetRouteAnalysis.go b/service/networkmanager/api_op_GetRouteAnalysis.go new file mode 100644 index 00000000000..c8b9b1497ed --- /dev/null +++ b/service/networkmanager/api_op_GetRouteAnalysis.go @@ -0,0 +1,126 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets information about the specified route analysis. +func (c *Client) GetRouteAnalysis(ctx context.Context, params *GetRouteAnalysisInput, optFns ...func(*Options)) (*GetRouteAnalysisOutput, error) { + if params == nil { + params = &GetRouteAnalysisInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetRouteAnalysis", params, optFns, c.addOperationGetRouteAnalysisMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetRouteAnalysisOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetRouteAnalysisInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The ID of the route analysis. + // + // This member is required. + RouteAnalysisId *string + + noSmithyDocumentSerde +} + +type GetRouteAnalysisOutput struct { + + // The route analysis. + RouteAnalysis *types.RouteAnalysis + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetRouteAnalysisMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetRouteAnalysis{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetRouteAnalysis{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetRouteAnalysisValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRouteAnalysis(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetRouteAnalysis(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "GetRouteAnalysis", + } +} diff --git a/service/networkmanager/api_op_RegisterTransitGateway.go b/service/networkmanager/api_op_RegisterTransitGateway.go index e50001b1826..593153f53eb 100644 --- a/service/networkmanager/api_op_RegisterTransitGateway.go +++ b/service/networkmanager/api_op_RegisterTransitGateway.go @@ -12,9 +12,9 @@ import ( ) // Registers a transit gateway in your global network. The transit gateway can be -// in any AWS Region, but it must be owned by the same AWS account that owns the -// global network. You cannot register a transit gateway in more than one global -// network. +// in any Amazon Web Services Region, but it must be owned by the same Amazon Web +// Services account that owns the global network. You cannot register a transit +// gateway in more than one global network. func (c *Client) RegisterTransitGateway(ctx context.Context, params *RegisterTransitGatewayInput, optFns ...func(*Options)) (*RegisterTransitGatewayOutput, error) { if params == nil { params = &RegisterTransitGatewayInput{} @@ -37,9 +37,7 @@ type RegisterTransitGatewayInput struct { // This member is required. GlobalNetworkId *string - // The Amazon Resource Name (ARN) of the transit gateway. For more information, see - // Resources Defined by Amazon EC2 - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies). + // The Amazon Resource Name (ARN) of the transit gateway. // // This member is required. TransitGatewayArn *string diff --git a/service/networkmanager/api_op_StartRouteAnalysis.go b/service/networkmanager/api_op_StartRouteAnalysis.go new file mode 100644 index 00000000000..018b78da9cf --- /dev/null +++ b/service/networkmanager/api_op_StartRouteAnalysis.go @@ -0,0 +1,140 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/networkmanager/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Starts analyzing the routing path between the specified source and destination. +// For more information, see Route Analyzer +// (https://docs.aws.amazon.com/vpc/latest/tgw/route-analyzer.html). +func (c *Client) StartRouteAnalysis(ctx context.Context, params *StartRouteAnalysisInput, optFns ...func(*Options)) (*StartRouteAnalysisOutput, error) { + if params == nil { + params = &StartRouteAnalysisInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartRouteAnalysis", params, optFns, c.addOperationStartRouteAnalysisMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartRouteAnalysisOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartRouteAnalysisInput struct { + + // The destination. + // + // This member is required. + Destination *types.RouteAnalysisEndpointOptionsSpecification + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The source from which traffic originates. + // + // This member is required. + Source *types.RouteAnalysisEndpointOptionsSpecification + + // Indicates whether to analyze the return path. The default is false. + IncludeReturnPath bool + + // Indicates whether to include the location of middlebox appliances in the route + // analysis. The default is false. + UseMiddleboxes bool + + noSmithyDocumentSerde +} + +type StartRouteAnalysisOutput struct { + + // The route analysis. + RouteAnalysis *types.RouteAnalysis + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStartRouteAnalysisMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStartRouteAnalysis{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartRouteAnalysis{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpStartRouteAnalysisValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartRouteAnalysis(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opStartRouteAnalysis(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "StartRouteAnalysis", + } +} diff --git a/service/networkmanager/api_op_UpdateDevice.go b/service/networkmanager/api_op_UpdateDevice.go index d54138c2a9a..7f70fedfbb0 100644 --- a/service/networkmanager/api_op_UpdateDevice.go +++ b/service/networkmanager/api_op_UpdateDevice.go @@ -40,21 +40,20 @@ type UpdateDeviceInput struct { // This member is required. GlobalNetworkId *string - // The AWS location of the device. + // The Amazon Web Services location of the device, if applicable. For an + // on-premises device, you can omit this parameter. AWSLocation *types.AWSLocation - // A description of the device. Length Constraints: Maximum length of 256 - // characters. + // A description of the device. Constraints: Maximum length of 256 characters. Description *string // Describes a location. Location *types.Location - // The model of the device. Length Constraints: Maximum length of 128 characters. + // The model of the device. Constraints: Maximum length of 128 characters. Model *string - // The serial number of the device. Length Constraints: Maximum length of 128 - // characters. + // The serial number of the device. Constraints: Maximum length of 128 characters. SerialNumber *string // The ID of the site. @@ -63,7 +62,7 @@ type UpdateDeviceInput struct { // The type of the device. Type *string - // The vendor of the device. Length Constraints: Maximum length of 128 characters. + // The vendor of the device. Constraints: Maximum length of 128 characters. Vendor *string noSmithyDocumentSerde diff --git a/service/networkmanager/api_op_UpdateGlobalNetwork.go b/service/networkmanager/api_op_UpdateGlobalNetwork.go index ef340b7f726..ec0b03d8eec 100644 --- a/service/networkmanager/api_op_UpdateGlobalNetwork.go +++ b/service/networkmanager/api_op_UpdateGlobalNetwork.go @@ -35,7 +35,7 @@ type UpdateGlobalNetworkInput struct { // This member is required. GlobalNetworkId *string - // A description of the global network. Length Constraints: Maximum length of 256 + // A description of the global network. Constraints: Maximum length of 256 // characters. Description *string diff --git a/service/networkmanager/api_op_UpdateLink.go b/service/networkmanager/api_op_UpdateLink.go index 787acc5c7e5..b78c215bc58 100644 --- a/service/networkmanager/api_op_UpdateLink.go +++ b/service/networkmanager/api_op_UpdateLink.go @@ -43,13 +43,13 @@ type UpdateLinkInput struct { // The upload and download speed in Mbps. Bandwidth *types.Bandwidth - // A description of the link. Length Constraints: Maximum length of 256 characters. + // A description of the link. Constraints: Maximum length of 256 characters. Description *string - // The provider of the link. Length Constraints: Maximum length of 128 characters. + // The provider of the link. Constraints: Maximum length of 128 characters. Provider *string - // The type of the link. Length Constraints: Maximum length of 128 characters. + // The type of the link. Constraints: Maximum length of 128 characters. Type *string noSmithyDocumentSerde diff --git a/service/networkmanager/api_op_UpdateNetworkResourceMetadata.go b/service/networkmanager/api_op_UpdateNetworkResourceMetadata.go new file mode 100644 index 00000000000..37be2420d32 --- /dev/null +++ b/service/networkmanager/api_op_UpdateNetworkResourceMetadata.go @@ -0,0 +1,133 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package networkmanager + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates the resource metadata for the specified global network. +func (c *Client) UpdateNetworkResourceMetadata(ctx context.Context, params *UpdateNetworkResourceMetadataInput, optFns ...func(*Options)) (*UpdateNetworkResourceMetadataOutput, error) { + if params == nil { + params = &UpdateNetworkResourceMetadataInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateNetworkResourceMetadata", params, optFns, c.addOperationUpdateNetworkResourceMetadataMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateNetworkResourceMetadataOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateNetworkResourceMetadataInput struct { + + // The ID of the global network. + // + // This member is required. + GlobalNetworkId *string + + // The resource metadata. + // + // This member is required. + Metadata map[string]string + + // The ARN of the resource. + // + // This member is required. + ResourceArn *string + + noSmithyDocumentSerde +} + +type UpdateNetworkResourceMetadataOutput struct { + + // The updated resource metadata. + Metadata map[string]string + + // The ARN of the resource. + ResourceArn *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateNetworkResourceMetadataMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateNetworkResourceMetadata{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateNetworkResourceMetadata{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateNetworkResourceMetadataValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateNetworkResourceMetadata(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateNetworkResourceMetadata(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "networkmanager", + OperationName: "UpdateNetworkResourceMetadata", + } +} diff --git a/service/networkmanager/api_op_UpdateSite.go b/service/networkmanager/api_op_UpdateSite.go index f968b8dbf96..28d0d86eef7 100644 --- a/service/networkmanager/api_op_UpdateSite.go +++ b/service/networkmanager/api_op_UpdateSite.go @@ -40,8 +40,7 @@ type UpdateSiteInput struct { // This member is required. SiteId *string - // A description of your site. Length Constraints: Maximum length of 256 - // characters. + // A description of your site. Constraints: Maximum length of 256 characters. Description *string // The site location: diff --git a/service/networkmanager/deserializers.go b/service/networkmanager/deserializers.go index 543401e6a6a..8d61b61afcf 100644 --- a/service/networkmanager/deserializers.go +++ b/service/networkmanager/deserializers.go @@ -3803,14 +3803,14 @@ func awsRestjson1_deserializeOpDocumentGetLinksOutput(v **GetLinksOutput, value return nil } -type awsRestjson1_deserializeOpGetSites struct { +type awsRestjson1_deserializeOpGetNetworkResourceCounts struct { } -func (*awsRestjson1_deserializeOpGetSites) ID() string { +func (*awsRestjson1_deserializeOpGetNetworkResourceCounts) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpGetSites) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetNetworkResourceCounts) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3824,9 +3824,9 @@ func (m *awsRestjson1_deserializeOpGetSites) HandleDeserialize(ctx context.Conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorGetSites(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetNetworkResourceCounts(response, &metadata) } - output := &GetSitesOutput{} + output := &GetNetworkResourceCountsOutput{} out.Result = output var buff [1024]byte @@ -3847,7 +3847,7 @@ func (m *awsRestjson1_deserializeOpGetSites) HandleDeserialize(ctx context.Conte return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentGetSitesOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetNetworkResourceCountsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3860,7 +3860,7 @@ func (m *awsRestjson1_deserializeOpGetSites) HandleDeserialize(ctx context.Conte return out, metadata, err } -func awsRestjson1_deserializeOpErrorGetSites(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetNetworkResourceCounts(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3907,9 +3907,6 @@ func awsRestjson1_deserializeOpErrorGetSites(response *smithyhttp.Response, meta case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) @@ -3926,7 +3923,7 @@ func awsRestjson1_deserializeOpErrorGetSites(response *smithyhttp.Response, meta } } -func awsRestjson1_deserializeOpDocumentGetSitesOutput(v **GetSitesOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetNetworkResourceCountsOutput(v **GetNetworkResourceCountsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3939,15 +3936,20 @@ func awsRestjson1_deserializeOpDocumentGetSitesOutput(v **GetSitesOutput, value return fmt.Errorf("unexpected JSON type %v", value) } - var sv *GetSitesOutput + var sv *GetNetworkResourceCountsOutput if *v == nil { - sv = &GetSitesOutput{} + sv = &GetNetworkResourceCountsOutput{} } else { sv = *v } for key, value := range shape { switch key { + case "NetworkResourceCounts": + if err := awsRestjson1_deserializeDocumentNetworkResourceCountList(&sv.NetworkResourceCounts, value); err != nil { + return err + } + case "NextToken": if value != nil { jtv, ok := value.(string) @@ -3957,11 +3959,6 @@ func awsRestjson1_deserializeOpDocumentGetSitesOutput(v **GetSitesOutput, value sv.NextToken = ptr.String(jtv) } - case "Sites": - if err := awsRestjson1_deserializeDocumentSiteList(&sv.Sites, value); err != nil { - return err - } - default: _, _ = key, value @@ -3971,14 +3968,14 @@ func awsRestjson1_deserializeOpDocumentGetSitesOutput(v **GetSitesOutput, value return nil } -type awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations struct { +type awsRestjson1_deserializeOpGetNetworkResourceRelationships struct { } -func (*awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) ID() string { +func (*awsRestjson1_deserializeOpGetNetworkResourceRelationships) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetNetworkResourceRelationships) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3992,9 +3989,9 @@ func (m *awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) Han } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorGetTransitGatewayConnectPeerAssociations(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetNetworkResourceRelationships(response, &metadata) } - output := &GetTransitGatewayConnectPeerAssociationsOutput{} + output := &GetNetworkResourceRelationshipsOutput{} out.Result = output var buff [1024]byte @@ -4015,7 +4012,7 @@ func (m *awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) Han return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetNetworkResourceRelationshipsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4028,7 +4025,7 @@ func (m *awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) Han return out, metadata, err } -func awsRestjson1_deserializeOpErrorGetTransitGatewayConnectPeerAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetNetworkResourceRelationships(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4072,9 +4069,6 @@ func awsRestjson1_deserializeOpErrorGetTransitGatewayConnectPeerAssociations(res case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -4097,7 +4091,7 @@ func awsRestjson1_deserializeOpErrorGetTransitGatewayConnectPeerAssociations(res } } -func awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsOutput(v **GetTransitGatewayConnectPeerAssociationsOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetNetworkResourceRelationshipsOutput(v **GetNetworkResourceRelationshipsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4110,9 +4104,9 @@ func awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsO return fmt.Errorf("unexpected JSON type %v", value) } - var sv *GetTransitGatewayConnectPeerAssociationsOutput + var sv *GetNetworkResourceRelationshipsOutput if *v == nil { - sv = &GetTransitGatewayConnectPeerAssociationsOutput{} + sv = &GetNetworkResourceRelationshipsOutput{} } else { sv = *v } @@ -4128,8 +4122,8 @@ func awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsO sv.NextToken = ptr.String(jtv) } - case "TransitGatewayConnectPeerAssociations": - if err := awsRestjson1_deserializeDocumentTransitGatewayConnectPeerAssociationList(&sv.TransitGatewayConnectPeerAssociations, value); err != nil { + case "Relationships": + if err := awsRestjson1_deserializeDocumentRelationshipList(&sv.Relationships, value); err != nil { return err } @@ -4142,14 +4136,14 @@ func awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsO return nil } -type awsRestjson1_deserializeOpGetTransitGatewayRegistrations struct { +type awsRestjson1_deserializeOpGetNetworkResources struct { } -func (*awsRestjson1_deserializeOpGetTransitGatewayRegistrations) ID() string { +func (*awsRestjson1_deserializeOpGetNetworkResources) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpGetTransitGatewayRegistrations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetNetworkResources) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4163,9 +4157,9 @@ func (m *awsRestjson1_deserializeOpGetTransitGatewayRegistrations) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorGetTransitGatewayRegistrations(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetNetworkResources(response, &metadata) } - output := &GetTransitGatewayRegistrationsOutput{} + output := &GetNetworkResourcesOutput{} out.Result = output var buff [1024]byte @@ -4186,7 +4180,7 @@ func (m *awsRestjson1_deserializeOpGetTransitGatewayRegistrations) HandleDeseria return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetNetworkResourcesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4199,7 +4193,7 @@ func (m *awsRestjson1_deserializeOpGetTransitGatewayRegistrations) HandleDeseria return out, metadata, err } -func awsRestjson1_deserializeOpErrorGetTransitGatewayRegistrations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetNetworkResources(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4265,7 +4259,7 @@ func awsRestjson1_deserializeOpErrorGetTransitGatewayRegistrations(response *smi } } -func awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(v **GetTransitGatewayRegistrationsOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetNetworkResourcesOutput(v **GetNetworkResourcesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4278,15 +4272,20 @@ func awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(v ** return fmt.Errorf("unexpected JSON type %v", value) } - var sv *GetTransitGatewayRegistrationsOutput + var sv *GetNetworkResourcesOutput if *v == nil { - sv = &GetTransitGatewayRegistrationsOutput{} + sv = &GetNetworkResourcesOutput{} } else { sv = *v } for key, value := range shape { switch key { + case "NetworkResources": + if err := awsRestjson1_deserializeDocumentNetworkResourceList(&sv.NetworkResources, value); err != nil { + return err + } + case "NextToken": if value != nil { jtv, ok := value.(string) @@ -4296,11 +4295,6 @@ func awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(v ** sv.NextToken = ptr.String(jtv) } - case "TransitGatewayRegistrations": - if err := awsRestjson1_deserializeDocumentTransitGatewayRegistrationList(&sv.TransitGatewayRegistrations, value); err != nil { - return err - } - default: _, _ = key, value @@ -4310,14 +4304,14 @@ func awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(v ** return nil } -type awsRestjson1_deserializeOpListTagsForResource struct { +type awsRestjson1_deserializeOpGetNetworkRoutes struct { } -func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { +func (*awsRestjson1_deserializeOpGetNetworkRoutes) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetNetworkRoutes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4331,9 +4325,9 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetNetworkRoutes(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &GetNetworkRoutesOutput{} out.Result = output var buff [1024]byte @@ -4354,7 +4348,7 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetNetworkRoutesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4367,7 +4361,7 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetNetworkRoutes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4433,7 +4427,7 @@ func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetNetworkRoutesOutput(v **GetNetworkRoutesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4446,20 +4440,54 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListTagsForResourceOutput + var sv *GetNetworkRoutesOutput if *v == nil { - sv = &ListTagsForResourceOutput{} + sv = &GetNetworkRoutesOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "TagList": - if err := awsRestjson1_deserializeDocumentTagList(&sv.TagList, value); err != nil { + case "NetworkRoutes": + if err := awsRestjson1_deserializeDocumentNetworkRouteList(&sv.NetworkRoutes, value); err != nil { return err } + case "RouteTableArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.RouteTableArn = ptr.String(jtv) + } + + case "RouteTableTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.RouteTableTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "RouteTableType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RouteTableType to be of type string, got %T instead", value) + } + sv.RouteTableType = types.RouteTableType(jtv) + } + default: _, _ = key, value @@ -4469,14 +4497,14 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return nil } -type awsRestjson1_deserializeOpRegisterTransitGateway struct { +type awsRestjson1_deserializeOpGetNetworkTelemetry struct { } -func (*awsRestjson1_deserializeOpRegisterTransitGateway) ID() string { +func (*awsRestjson1_deserializeOpGetNetworkTelemetry) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpRegisterTransitGateway) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetNetworkTelemetry) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4490,9 +4518,9 @@ func (m *awsRestjson1_deserializeOpRegisterTransitGateway) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorRegisterTransitGateway(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetNetworkTelemetry(response, &metadata) } - output := &RegisterTransitGatewayOutput{} + output := &GetNetworkTelemetryOutput{} out.Result = output var buff [1024]byte @@ -4513,7 +4541,7 @@ func (m *awsRestjson1_deserializeOpRegisterTransitGateway) HandleDeserialize(ctx return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentRegisterTransitGatewayOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetNetworkTelemetryOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4526,7 +4554,7 @@ func (m *awsRestjson1_deserializeOpRegisterTransitGateway) HandleDeserialize(ctx return out, metadata, err } -func awsRestjson1_deserializeOpErrorRegisterTransitGateway(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetNetworkTelemetry(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4570,9 +4598,6 @@ func awsRestjson1_deserializeOpErrorRegisterTransitGateway(response *smithyhttp. case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -4595,7 +4620,7 @@ func awsRestjson1_deserializeOpErrorRegisterTransitGateway(response *smithyhttp. } } -func awsRestjson1_deserializeOpDocumentRegisterTransitGatewayOutput(v **RegisterTransitGatewayOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetNetworkTelemetryOutput(v **GetNetworkTelemetryOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4608,20 +4633,29 @@ func awsRestjson1_deserializeOpDocumentRegisterTransitGatewayOutput(v **Register return fmt.Errorf("unexpected JSON type %v", value) } - var sv *RegisterTransitGatewayOutput + var sv *GetNetworkTelemetryOutput if *v == nil { - sv = &RegisterTransitGatewayOutput{} + sv = &GetNetworkTelemetryOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "TransitGatewayRegistration": - if err := awsRestjson1_deserializeDocumentTransitGatewayRegistration(&sv.TransitGatewayRegistration, value); err != nil { + case "NetworkTelemetry": + if err := awsRestjson1_deserializeDocumentNetworkTelemetryList(&sv.NetworkTelemetry, value); err != nil { return err } + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + default: _, _ = key, value @@ -4631,14 +4665,14 @@ func awsRestjson1_deserializeOpDocumentRegisterTransitGatewayOutput(v **Register return nil } -type awsRestjson1_deserializeOpTagResource struct { +type awsRestjson1_deserializeOpGetRouteAnalysis struct { } -func (*awsRestjson1_deserializeOpTagResource) ID() string { +func (*awsRestjson1_deserializeOpGetRouteAnalysis) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetRouteAnalysis) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4652,15 +4686,43 @@ func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetRouteAnalysis(response, &metadata) } - output := &TagResourceOutput{} + output := &GetRouteAnalysisOutput{} out.Result = output + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetRouteAnalysisOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + return out, metadata, err } -func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetRouteAnalysis(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4704,18 +4766,12 @@ func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, m case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) @@ -4732,14 +4788,50 @@ func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, m } } -type awsRestjson1_deserializeOpUntagResource struct { +func awsRestjson1_deserializeOpDocumentGetRouteAnalysisOutput(v **GetRouteAnalysisOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetRouteAnalysisOutput + if *v == nil { + sv = &GetRouteAnalysisOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "RouteAnalysis": + if err := awsRestjson1_deserializeDocumentRouteAnalysis(&sv.RouteAnalysis, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil } -func (*awsRestjson1_deserializeOpUntagResource) ID() string { +type awsRestjson1_deserializeOpGetSites struct { +} + +func (*awsRestjson1_deserializeOpGetSites) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetSites) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4753,15 +4845,43 @@ func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUntagResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetSites(response, &metadata) } - output := &UntagResourceOutput{} + output := &GetSitesOutput{} out.Result = output + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetSitesOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + return out, metadata, err } -func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetSites(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4805,9 +4925,6 @@ func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -4830,30 +4947,75 @@ func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, } } -type awsRestjson1_deserializeOpUpdateConnection struct { -} - -func (*awsRestjson1_deserializeOpUpdateConnection) ID() string { - return "OperationDeserializer" -} - -func (m *awsRestjson1_deserializeOpUpdateConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err +func awsRestjson1_deserializeOpDocumentGetSitesOutput(v **GetSitesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil } - response, ok := out.RawResponse.(*smithyhttp.Response) + shape, ok := value.(map[string]interface{}) if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + return fmt.Errorf("unexpected JSON type %v", value) } - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateConnection(response, &metadata) - } - output := &UpdateConnectionOutput{} + var sv *GetSitesOutput + if *v == nil { + sv = &GetSitesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "Sites": + if err := awsRestjson1_deserializeDocumentSiteList(&sv.Sites, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations struct { +} + +func (*awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpGetTransitGatewayConnectPeerAssociations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorGetTransitGatewayConnectPeerAssociations(response, &metadata) + } + output := &GetTransitGatewayConnectPeerAssociationsOutput{} out.Result = output var buff [1024]byte @@ -4874,7 +5036,7 @@ func (m *awsRestjson1_deserializeOpUpdateConnection) HandleDeserialize(ctx conte return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateConnectionOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4887,7 +5049,7 @@ func (m *awsRestjson1_deserializeOpUpdateConnection) HandleDeserialize(ctx conte return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetTransitGatewayConnectPeerAssociations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4956,7 +5118,7 @@ func awsRestjson1_deserializeOpErrorUpdateConnection(response *smithyhttp.Respon } } -func awsRestjson1_deserializeOpDocumentUpdateConnectionOutput(v **UpdateConnectionOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetTransitGatewayConnectPeerAssociationsOutput(v **GetTransitGatewayConnectPeerAssociationsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4969,17 +5131,26 @@ func awsRestjson1_deserializeOpDocumentUpdateConnectionOutput(v **UpdateConnecti return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateConnectionOutput + var sv *GetTransitGatewayConnectPeerAssociationsOutput if *v == nil { - sv = &UpdateConnectionOutput{} + sv = &GetTransitGatewayConnectPeerAssociationsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "Connection": - if err := awsRestjson1_deserializeDocumentConnection(&sv.Connection, value); err != nil { + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "TransitGatewayConnectPeerAssociations": + if err := awsRestjson1_deserializeDocumentTransitGatewayConnectPeerAssociationList(&sv.TransitGatewayConnectPeerAssociations, value); err != nil { return err } @@ -4992,14 +5163,14 @@ func awsRestjson1_deserializeOpDocumentUpdateConnectionOutput(v **UpdateConnecti return nil } -type awsRestjson1_deserializeOpUpdateDevice struct { +type awsRestjson1_deserializeOpGetTransitGatewayRegistrations struct { } -func (*awsRestjson1_deserializeOpUpdateDevice) ID() string { +func (*awsRestjson1_deserializeOpGetTransitGatewayRegistrations) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateDevice) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpGetTransitGatewayRegistrations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5013,9 +5184,9 @@ func (m *awsRestjson1_deserializeOpUpdateDevice) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateDevice(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorGetTransitGatewayRegistrations(response, &metadata) } - output := &UpdateDeviceOutput{} + output := &GetTransitGatewayRegistrationsOutput{} out.Result = output var buff [1024]byte @@ -5036,7 +5207,7 @@ func (m *awsRestjson1_deserializeOpUpdateDevice) HandleDeserialize(ctx context.C return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateDeviceOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5049,7 +5220,7 @@ func (m *awsRestjson1_deserializeOpUpdateDevice) HandleDeserialize(ctx context.C return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateDevice(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorGetTransitGatewayRegistrations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5093,9 +5264,6 @@ func awsRestjson1_deserializeOpErrorUpdateDevice(response *smithyhttp.Response, case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -5118,7 +5286,7 @@ func awsRestjson1_deserializeOpErrorUpdateDevice(response *smithyhttp.Response, } } -func awsRestjson1_deserializeOpDocumentUpdateDeviceOutput(v **UpdateDeviceOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentGetTransitGatewayRegistrationsOutput(v **GetTransitGatewayRegistrationsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5131,17 +5299,26 @@ func awsRestjson1_deserializeOpDocumentUpdateDeviceOutput(v **UpdateDeviceOutput return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateDeviceOutput + var sv *GetTransitGatewayRegistrationsOutput if *v == nil { - sv = &UpdateDeviceOutput{} + sv = &GetTransitGatewayRegistrationsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "Device": - if err := awsRestjson1_deserializeDocumentDevice(&sv.Device, value); err != nil { + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "TransitGatewayRegistrations": + if err := awsRestjson1_deserializeDocumentTransitGatewayRegistrationList(&sv.TransitGatewayRegistrations, value); err != nil { return err } @@ -5154,14 +5331,14 @@ func awsRestjson1_deserializeOpDocumentUpdateDeviceOutput(v **UpdateDeviceOutput return nil } -type awsRestjson1_deserializeOpUpdateGlobalNetwork struct { +type awsRestjson1_deserializeOpListTagsForResource struct { } -func (*awsRestjson1_deserializeOpUpdateGlobalNetwork) ID() string { +func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateGlobalNetwork) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5175,9 +5352,9 @@ func (m *awsRestjson1_deserializeOpUpdateGlobalNetwork) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateGlobalNetwork(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) } - output := &UpdateGlobalNetworkOutput{} + output := &ListTagsForResourceOutput{} out.Result = output var buff [1024]byte @@ -5198,7 +5375,7 @@ func (m *awsRestjson1_deserializeOpUpdateGlobalNetwork) HandleDeserialize(ctx co return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateGlobalNetworkOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5211,7 +5388,7 @@ func (m *awsRestjson1_deserializeOpUpdateGlobalNetwork) HandleDeserialize(ctx co return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateGlobalNetwork(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5255,9 +5432,6 @@ func awsRestjson1_deserializeOpErrorUpdateGlobalNetwork(response *smithyhttp.Res case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) @@ -5280,7 +5454,7 @@ func awsRestjson1_deserializeOpErrorUpdateGlobalNetwork(response *smithyhttp.Res } } -func awsRestjson1_deserializeOpDocumentUpdateGlobalNetworkOutput(v **UpdateGlobalNetworkOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5293,17 +5467,17 @@ func awsRestjson1_deserializeOpDocumentUpdateGlobalNetworkOutput(v **UpdateGloba return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateGlobalNetworkOutput + var sv *ListTagsForResourceOutput if *v == nil { - sv = &UpdateGlobalNetworkOutput{} + sv = &ListTagsForResourceOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "GlobalNetwork": - if err := awsRestjson1_deserializeDocumentGlobalNetwork(&sv.GlobalNetwork, value); err != nil { + case "TagList": + if err := awsRestjson1_deserializeDocumentTagList(&sv.TagList, value); err != nil { return err } @@ -5316,14 +5490,14 @@ func awsRestjson1_deserializeOpDocumentUpdateGlobalNetworkOutput(v **UpdateGloba return nil } -type awsRestjson1_deserializeOpUpdateLink struct { +type awsRestjson1_deserializeOpRegisterTransitGateway struct { } -func (*awsRestjson1_deserializeOpUpdateLink) ID() string { +func (*awsRestjson1_deserializeOpRegisterTransitGateway) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateLink) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpRegisterTransitGateway) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5337,9 +5511,9 @@ func (m *awsRestjson1_deserializeOpUpdateLink) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateLink(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorRegisterTransitGateway(response, &metadata) } - output := &UpdateLinkOutput{} + output := &RegisterTransitGatewayOutput{} out.Result = output var buff [1024]byte @@ -5360,7 +5534,7 @@ func (m *awsRestjson1_deserializeOpUpdateLink) HandleDeserialize(ctx context.Con return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateLinkOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentRegisterTransitGatewayOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5373,7 +5547,7 @@ func (m *awsRestjson1_deserializeOpUpdateLink) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateLink(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorRegisterTransitGateway(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5426,9 +5600,6 @@ func awsRestjson1_deserializeOpErrorUpdateLink(response *smithyhttp.Response, me case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) @@ -5445,7 +5616,7 @@ func awsRestjson1_deserializeOpErrorUpdateLink(response *smithyhttp.Response, me } } -func awsRestjson1_deserializeOpDocumentUpdateLinkOutput(v **UpdateLinkOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentRegisterTransitGatewayOutput(v **RegisterTransitGatewayOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5458,17 +5629,17 @@ func awsRestjson1_deserializeOpDocumentUpdateLinkOutput(v **UpdateLinkOutput, va return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateLinkOutput + var sv *RegisterTransitGatewayOutput if *v == nil { - sv = &UpdateLinkOutput{} + sv = &RegisterTransitGatewayOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "Link": - if err := awsRestjson1_deserializeDocumentLink(&sv.Link, value); err != nil { + case "TransitGatewayRegistration": + if err := awsRestjson1_deserializeDocumentTransitGatewayRegistration(&sv.TransitGatewayRegistration, value); err != nil { return err } @@ -5481,14 +5652,14 @@ func awsRestjson1_deserializeOpDocumentUpdateLinkOutput(v **UpdateLinkOutput, va return nil } -type awsRestjson1_deserializeOpUpdateSite struct { +type awsRestjson1_deserializeOpStartRouteAnalysis struct { } -func (*awsRestjson1_deserializeOpUpdateSite) ID() string { +func (*awsRestjson1_deserializeOpStartRouteAnalysis) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateSite) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpStartRouteAnalysis) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5502,9 +5673,9 @@ func (m *awsRestjson1_deserializeOpUpdateSite) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateSite(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorStartRouteAnalysis(response, &metadata) } - output := &UpdateSiteOutput{} + output := &StartRouteAnalysisOutput{} out.Result = output var buff [1024]byte @@ -5525,7 +5696,7 @@ func (m *awsRestjson1_deserializeOpUpdateSite) HandleDeserialize(ctx context.Con return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateSiteOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentStartRouteAnalysisOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5538,7 +5709,7 @@ func (m *awsRestjson1_deserializeOpUpdateSite) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateSite(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorStartRouteAnalysis(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5607,7 +5778,7 @@ func awsRestjson1_deserializeOpErrorUpdateSite(response *smithyhttp.Response, me } } -func awsRestjson1_deserializeOpDocumentUpdateSiteOutput(v **UpdateSiteOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentStartRouteAnalysisOutput(v **StartRouteAnalysisOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5620,17 +5791,17 @@ func awsRestjson1_deserializeOpDocumentUpdateSiteOutput(v **UpdateSiteOutput, va return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateSiteOutput + var sv *StartRouteAnalysisOutput if *v == nil { - sv = &UpdateSiteOutput{} + sv = &StartRouteAnalysisOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "Site": - if err := awsRestjson1_deserializeDocumentSite(&sv.Site, value); err != nil { + case "RouteAnalysis": + if err := awsRestjson1_deserializeDocumentRouteAnalysis(&sv.RouteAnalysis, value); err != nil { return err } @@ -5643,59 +5814,57 @@ func awsRestjson1_deserializeOpDocumentUpdateSiteOutput(v **UpdateSiteOutput, va return nil } -func awsRestjson1_deserializeOpHttpBindingsInternalServerException(v *types.InternalServerException, response *smithyhttp.Response) error { - if v == nil { - return fmt.Errorf("unsupported deserialization for nil %T", v) +type awsRestjson1_deserializeOpTagResource struct { +} + +func (*awsRestjson1_deserializeOpTagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err } - if headerValues := response.Header.Values("Retry-After"); len(headerValues) != 0 { - headerValues[0] = strings.TrimSpace(headerValues[0]) - vv, err := strconv.ParseInt(headerValues[0], 0, 32) - if err != nil { - return err - } - v.RetryAfterSeconds = ptr.Int32(int32(vv)) + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } - return nil + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + } + output := &TagResourceOutput{} + out.Result = output + + return out, metadata, err } -func awsRestjson1_deserializeOpHttpBindingsThrottlingException(v *types.ThrottlingException, response *smithyhttp.Response) error { - if v == nil { - return fmt.Errorf("unsupported deserialization for nil %T", v) + +func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} } + errorBody := bytes.NewReader(errorBuffer.Bytes()) - if headerValues := response.Header.Values("Retry-After"); len(headerValues) != 0 { - headerValues[0] = strings.TrimSpace(headerValues[0]) - vv, err := strconv.ParseInt(headerValues[0], 0, 32) - if err != nil { - return err - } - v.RetryAfterSeconds = ptr.Int32(int32(vv)) + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) } - return nil -} -func awsRestjson1_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.AccessDeniedException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - err := awsRestjson1_deserializeDocumentAccessDeniedException(&output, shape) - + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5707,67 +5876,96 @@ func awsRestjson1_deserializeErrorAccessDeniedException(response *smithyhttp.Res } errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } - return output -} + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) -func awsRestjson1_deserializeErrorConflictException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ConflictException{} - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - err := awsRestjson1_deserializeDocumentConflictException(&output, shape) +type awsRestjson1_deserializeOpUntagResource struct { +} + +func (*awsRestjson1_deserializeOpUntagResource) ID() string { + return "OperationDeserializer" +} +func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } - return output + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUntagResource(response, &metadata) + } + output := &UntagResourceOutput{} + out.Result = output + + return out, metadata, err } -func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InternalServerException{} +func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - err := awsRestjson1_deserializeDocumentInternalServerException(&output, shape) - + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5779,56 +5977,73 @@ func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.R } errorBody.Seek(0, io.SeekStart) - - if err := awsRestjson1_deserializeOpHttpBindingsInternalServerException(output, response); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response error with invalid HTTP bindings, %w", err)} + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message } - return output -} + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) -func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ResourceNotFoundException{} - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - err := awsRestjson1_deserializeDocumentResourceNotFoundException(&output, shape) +type awsRestjson1_deserializeOpUpdateConnection struct { +} + +func (*awsRestjson1_deserializeOpUpdateConnection) ID() string { + return "OperationDeserializer" +} +func (m *awsRestjson1_deserializeOpUpdateConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } - return output -} + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateConnection(response, &metadata) + } + output := &UpdateConnectionOutput{} + out.Result = output -func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ServiceQuotaExceededException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -5839,47 +6054,44 @@ func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithy Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - err := awsRestjson1_deserializeDocumentServiceQuotaExceededException(&output, shape) - + err = awsRestjson1_deserializeOpDocumentUpdateConnectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), Snapshot: snapshot.Bytes(), } - return err } - errorBody.Seek(0, io.SeekStart) - - return output + return out, metadata, err } -func awsRestjson1_deserializeErrorThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ThrottlingException{} +func awsRestjson1_deserializeOpErrorUpdateConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - err := awsRestjson1_deserializeDocumentThrottlingException(&output, shape) - + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5891,51 +6103,2578 @@ func awsRestjson1_deserializeErrorThrottlingException(response *smithyhttp.Respo } errorBody.Seek(0, io.SeekStart) - - if err := awsRestjson1_deserializeOpHttpBindingsThrottlingException(output, response); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response error with invalid HTTP bindings, %w", err)} + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message } - return output -} + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateConnectionOutput(v **UpdateConnectionOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateConnectionOutput + if *v == nil { + sv = &UpdateConnectionOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Connection": + if err := awsRestjson1_deserializeDocumentConnection(&sv.Connection, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpUpdateDevice struct { +} + +func (*awsRestjson1_deserializeOpUpdateDevice) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateDevice) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateDevice(response, &metadata) + } + output := &UpdateDeviceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateDeviceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateDevice(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateDeviceOutput(v **UpdateDeviceOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateDeviceOutput + if *v == nil { + sv = &UpdateDeviceOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Device": + if err := awsRestjson1_deserializeDocumentDevice(&sv.Device, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpUpdateGlobalNetwork struct { +} + +func (*awsRestjson1_deserializeOpUpdateGlobalNetwork) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateGlobalNetwork) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateGlobalNetwork(response, &metadata) + } + output := &UpdateGlobalNetworkOutput{} + out.Result = output -func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ValidationException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateGlobalNetworkOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateGlobalNetwork(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateGlobalNetworkOutput(v **UpdateGlobalNetworkOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateGlobalNetworkOutput + if *v == nil { + sv = &UpdateGlobalNetworkOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "GlobalNetwork": + if err := awsRestjson1_deserializeDocumentGlobalNetwork(&sv.GlobalNetwork, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpUpdateLink struct { +} + +func (*awsRestjson1_deserializeOpUpdateLink) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateLink) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateLink(response, &metadata) + } + output := &UpdateLinkOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateLinkOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateLink(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateLinkOutput(v **UpdateLinkOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateLinkOutput + if *v == nil { + sv = &UpdateLinkOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Link": + if err := awsRestjson1_deserializeDocumentLink(&sv.Link, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpUpdateNetworkResourceMetadata struct { +} + +func (*awsRestjson1_deserializeOpUpdateNetworkResourceMetadata) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateNetworkResourceMetadata) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateNetworkResourceMetadata(response, &metadata) + } + output := &UpdateNetworkResourceMetadataOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateNetworkResourceMetadataOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateNetworkResourceMetadata(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateNetworkResourceMetadataOutput(v **UpdateNetworkResourceMetadataOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateNetworkResourceMetadataOutput + if *v == nil { + sv = &UpdateNetworkResourceMetadataOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Metadata": + if err := awsRestjson1_deserializeDocumentNetworkResourceMetadataMap(&sv.Metadata, value); err != nil { + return err + } + + case "ResourceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpUpdateSite struct { +} + +func (*awsRestjson1_deserializeOpUpdateSite) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateSite) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateSite(response, &metadata) + } + output := &UpdateSiteOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentUpdateSiteOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateSite(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentUpdateSiteOutput(v **UpdateSiteOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateSiteOutput + if *v == nil { + sv = &UpdateSiteOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Site": + if err := awsRestjson1_deserializeDocumentSite(&sv.Site, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeOpHttpBindingsInternalServerException(v *types.InternalServerException, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("Retry-After"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseInt(headerValues[0], 0, 32) + if err != nil { + return err + } + v.RetryAfterSeconds = ptr.Int32(int32(vv)) + } + + return nil +} +func awsRestjson1_deserializeOpHttpBindingsThrottlingException(v *types.ThrottlingException, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("Retry-After"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + vv, err := strconv.ParseInt(headerValues[0], 0, 32) + if err != nil { + return err + } + v.RetryAfterSeconds = ptr.Int32(int32(vv)) + } + + return nil +} +func awsRestjson1_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.AccessDeniedException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentAccessDeniedException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorConflictException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ConflictException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentConflictException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InternalServerException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentInternalServerException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + if err := awsRestjson1_deserializeOpHttpBindingsInternalServerException(output, response); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response error with invalid HTTP bindings, %w", err)} + } + + return output +} + +func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ResourceNotFoundException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentResourceNotFoundException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ServiceQuotaExceededException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentServiceQuotaExceededException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ThrottlingException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentThrottlingException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + if err := awsRestjson1_deserializeOpHttpBindingsThrottlingException(output, response); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response error with invalid HTTP bindings, %w", err)} + } + + return output +} + +func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ValidationException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentValidationException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDeniedException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AccessDeniedException + if *v == nil { + sv = &types.AccessDeniedException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAWSLocation(v **types.AWSLocation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AWSLocation + if *v == nil { + sv = &types.AWSLocation{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "SubnetArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.SubnetArn = ptr.String(jtv) + } + + case "Zone": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Zone = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentBandwidth(v **types.Bandwidth, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Bandwidth + if *v == nil { + sv = &types.Bandwidth{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DownloadSpeed": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.DownloadSpeed = ptr.Int32(int32(i64)) + } + + case "UploadSpeed": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.UploadSpeed = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConflictException + if *v == nil { + sv = &types.ConflictException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + case "ResourceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceId = ptr.String(jtv) + } + + case "ResourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceType = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnection(v **types.Connection, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Connection + if *v == nil { + sv = &types.Connection{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ConnectedDeviceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ConnectedDeviceId = ptr.String(jtv) + } + + case "ConnectedLinkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ConnectedLinkId = ptr.String(jtv) + } + + case "ConnectionArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ConnectionArn = ptr.String(jtv) + } + + case "ConnectionId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ConnectionId = ptr.String(jtv) + } + + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "DeviceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.DeviceId = ptr.String(jtv) + } + + case "GlobalNetworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkId = ptr.String(jtv) + } + + case "LinkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.LinkId = ptr.String(jtv) + } + + case "State": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectionState to be of type string, got %T instead", value) + } + sv.State = types.ConnectionState(jtv) + } + + case "Tags": + if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectionHealth(v **types.ConnectionHealth, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectionHealth + if *v == nil { + sv = &types.ConnectionHealth{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectionStatus to be of type string, got %T instead", value) + } + sv.Status = types.ConnectionStatus(jtv) + } + + case "Timestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Timestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectionType to be of type string, got %T instead", value) + } + sv.Type = types.ConnectionType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectionList(v *[]types.Connection, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Connection + if *v == nil { + cv = []types.Connection{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Connection + destAddr := &col + if err := awsRestjson1_deserializeDocumentConnection(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentCustomerGatewayAssociation(v **types.CustomerGatewayAssociation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.CustomerGatewayAssociation + if *v == nil { + sv = &types.CustomerGatewayAssociation{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "CustomerGatewayArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.CustomerGatewayArn = ptr.String(jtv) + } + + case "DeviceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.DeviceId = ptr.String(jtv) + } + + case "GlobalNetworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkId = ptr.String(jtv) + } + + case "LinkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.LinkId = ptr.String(jtv) + } + + case "State": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CustomerGatewayAssociationState to be of type string, got %T instead", value) + } + sv.State = types.CustomerGatewayAssociationState(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentCustomerGatewayAssociationList(v *[]types.CustomerGatewayAssociation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.CustomerGatewayAssociation + if *v == nil { + cv = []types.CustomerGatewayAssociation{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.CustomerGatewayAssociation + destAddr := &col + if err := awsRestjson1_deserializeDocumentCustomerGatewayAssociation(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Device + if *v == nil { + sv = &types.Device{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AWSLocation": + if err := awsRestjson1_deserializeDocumentAWSLocation(&sv.AWSLocation, value); err != nil { + return err + } + + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "DeviceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.DeviceArn = ptr.String(jtv) + } + + case "DeviceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.DeviceId = ptr.String(jtv) + } + + case "GlobalNetworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkId = ptr.String(jtv) + } + + case "Location": + if err := awsRestjson1_deserializeDocumentLocation(&sv.Location, value); err != nil { + return err + } + + case "Model": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Model = ptr.String(jtv) + } + + case "SerialNumber": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.SerialNumber = ptr.String(jtv) + } + + case "SiteId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.SiteId = ptr.String(jtv) + } + + case "State": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeviceState to be of type string, got %T instead", value) + } + sv.State = types.DeviceState(jtv) + } + + case "Tags": + if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Type = ptr.String(jtv) + } + + case "Vendor": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Vendor = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentDeviceList(v *[]types.Device, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Device + if *v == nil { + cv = []types.Device{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Device + destAddr := &col + if err := awsRestjson1_deserializeDocumentDevice(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentExceptionContextMap(v *map[string]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExceptionContextValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsRestjson1_deserializeDocumentGlobalNetwork(v **types.GlobalNetwork, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.GlobalNetwork + if *v == nil { + sv = &types.GlobalNetwork{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "GlobalNetworkArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkArn = ptr.String(jtv) + } + + case "GlobalNetworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkId = ptr.String(jtv) + } + + case "State": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GlobalNetworkState to be of type string, got %T instead", value) + } + sv.State = types.GlobalNetworkState(jtv) + } + + case "Tags": + if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentGlobalNetworkList(v *[]types.GlobalNetwork, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.GlobalNetwork + if *v == nil { + cv = []types.GlobalNetwork{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.GlobalNetwork + destAddr := &col + if err := awsRestjson1_deserializeDocumentGlobalNetwork(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalServerException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.InternalServerException + if *v == nil { + sv = &types.InternalServerException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + case "RetryAfterSeconds": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected RetryAfterSeconds to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.RetryAfterSeconds = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentLink(v **types.Link, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Link + if *v == nil { + sv = &types.Link{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Bandwidth": + if err := awsRestjson1_deserializeDocumentBandwidth(&sv.Bandwidth, value); err != nil { + return err + } + + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "GlobalNetworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkId = ptr.String(jtv) + } + + case "LinkArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.LinkArn = ptr.String(jtv) + } + + case "LinkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.LinkId = ptr.String(jtv) + } + + case "Provider": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Provider = ptr.String(jtv) + } + + case "SiteId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.SiteId = ptr.String(jtv) + } + + case "State": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LinkState to be of type string, got %T instead", value) + } + sv.State = types.LinkState(jtv) + } + + case "Tags": + if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Type = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentLinkAssociation(v **types.LinkAssociation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.LinkAssociation + if *v == nil { + sv = &types.LinkAssociation{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DeviceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.DeviceId = ptr.String(jtv) + } + + case "GlobalNetworkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.GlobalNetworkId = ptr.String(jtv) + } + + case "LinkAssociationState": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LinkAssociationState to be of type string, got %T instead", value) + } + sv.LinkAssociationState = types.LinkAssociationState(jtv) + } + + case "LinkId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.LinkId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentLinkAssociationList(v *[]types.LinkAssociation, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.LinkAssociation + if *v == nil { + cv = []types.LinkAssociation{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.LinkAssociation + destAddr := &col + if err := awsRestjson1_deserializeDocumentLinkAssociation(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentLinkList(v *[]types.Link, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Link + if *v == nil { + cv = []types.Link{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Link + destAddr := &col + if err := awsRestjson1_deserializeDocumentLink(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentLocation(v **types.Location, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Location + if *v == nil { + sv = &types.Location{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Address": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Address = ptr.String(jtv) + } + + case "Latitude": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Latitude = ptr.String(jtv) + } + + case "Longitude": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Longitude = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentNetworkResource(v **types.NetworkResource, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.NetworkResource + if *v == nil { + sv = &types.NetworkResource{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AccountId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.AccountId = ptr.String(jtv) + } + + case "AwsRegion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.AwsRegion = ptr.String(jtv) + } + + case "Definition": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Definition = ptr.String(jtv) + } + + case "DefinitionTimestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.DefinitionTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + + } + } + + case "Metadata": + if err := awsRestjson1_deserializeDocumentNetworkResourceMetadataMap(&sv.Metadata, value); err != nil { + return err + } + + case "RegisteredGatewayArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.RegisteredGatewayArn = ptr.String(jtv) + } + + case "ResourceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceArn = ptr.String(jtv) + } + + case "ResourceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceId = ptr.String(jtv) + } + + case "ResourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceType = ptr.String(jtv) + } - err := awsRestjson1_deserializeDocumentValidationException(&output, shape) + case "Tags": + if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + default: + _, _ = key, value - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), } - return err } - - errorBody.Seek(0, io.SeekStart) - - return output + *v = sv + return nil } -func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDeniedException, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkResourceCount(v **types.NetworkResourceCount, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5948,22 +8687,35 @@ func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDenie return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AccessDeniedException + var sv *types.NetworkResourceCount if *v == nil { - sv = &types.AccessDeniedException{} + sv = &types.NetworkResourceCount{} } else { sv = *v } for key, value := range shape { switch key { - case "Message": + case "Count": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.Count = ptr.Int32(int32(i64)) + } + + case "ResourceType": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.ResourceType = ptr.String(jtv) } default: @@ -5975,7 +8727,7 @@ func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDenie return nil } -func awsRestjson1_deserializeDocumentAWSLocation(v **types.AWSLocation, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkResourceCountList(v *[]types.NetworkResourceCount, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -5983,48 +8735,67 @@ func awsRestjson1_deserializeDocumentAWSLocation(v **types.AWSLocation, value in return nil } - shape, ok := value.(map[string]interface{}) + shape, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AWSLocation + var cv []types.NetworkResourceCount if *v == nil { - sv = &types.AWSLocation{} + cv = []types.NetworkResourceCount{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "SubnetArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.SubnetArn = ptr.String(jtv) - } + for _, value := range shape { + var col types.NetworkResourceCount + destAddr := &col + if err := awsRestjson1_deserializeDocumentNetworkResourceCount(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) - case "Zone": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Zone = ptr.String(jtv) - } + } + *v = cv + return nil +} - default: - _, _ = key, value +func awsRestjson1_deserializeDocumentNetworkResourceList(v *[]types.NetworkResource, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.NetworkResource + if *v == nil { + cv = []types.NetworkResource{} + } else { + cv = *v + } + for _, value := range shape { + var col types.NetworkResource + destAddr := &col + if err := awsRestjson1_deserializeDocumentNetworkResource(&destAddr, value); err != nil { + return err } + col = *destAddr + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsRestjson1_deserializeDocumentBandwidth(v **types.Bandwidth, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkResourceMetadataMap(v *map[string]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6037,51 +8808,30 @@ func awsRestjson1_deserializeDocumentBandwidth(v **types.Bandwidth, value interf return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Bandwidth + var mv map[string]string if *v == nil { - sv = &types.Bandwidth{} + mv = map[string]string{} } else { - sv = *v + mv = *v } for key, value := range shape { - switch key { - case "DownloadSpeed": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.DownloadSpeed = ptr.Int32(int32(i64)) - } - - case "UploadSpeed": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.UploadSpeed = ptr.Int32(int32(i64)) + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NetworkResourceMetadataValue to be of type string, got %T instead", value) } - - default: - _, _ = key, value - + parsedVal = jtv } + mv[key] = parsedVal + } - *v = sv + *v = mv return nil } -func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictException, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkResourceSummary(v **types.NetworkResourceSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6094,31 +8844,58 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConflictException + var sv *types.NetworkResourceSummary if *v == nil { - sv = &types.ConflictException{} + sv = &types.NetworkResourceSummary{} } else { sv = *v } for key, value := range shape { switch key { - case "Message": + case "Definition": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.Definition = ptr.String(jtv) } - case "ResourceId": + case "IsMiddlebox": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsMiddlebox = jtv + } + + case "NameTag": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.ResourceId = ptr.String(jtv) + sv.NameTag = ptr.String(jtv) + } + + case "RegisteredGatewayArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.RegisteredGatewayArn = ptr.String(jtv) + } + + case "ResourceArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceArn = ptr.String(jtv) } case "ResourceType": @@ -6139,7 +8916,7 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti return nil } -func awsRestjson1_deserializeDocumentConnection(v **types.Connection, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkRoute(v **types.NetworkRoute, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6152,115 +8929,112 @@ func awsRestjson1_deserializeDocumentConnection(v **types.Connection, value inte return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Connection + var sv *types.NetworkRoute if *v == nil { - sv = &types.Connection{} + sv = &types.NetworkRoute{} } else { sv = *v } for key, value := range shape { switch key { - case "ConnectedDeviceId": + case "DestinationCidrBlock": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.ConnectedDeviceId = ptr.String(jtv) + sv.DestinationCidrBlock = ptr.String(jtv) } - case "ConnectedLinkId": + case "Destinations": + if err := awsRestjson1_deserializeDocumentNetworkRouteDestinationList(&sv.Destinations, value); err != nil { + return err + } + + case "PrefixListId": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.ConnectedLinkId = ptr.String(jtv) + sv.PrefixListId = ptr.String(jtv) } - case "ConnectionArn": + case "State": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected RouteState to be of type string, got %T instead", value) } - sv.ConnectionArn = ptr.String(jtv) + sv.State = types.RouteState(jtv) } - case "ConnectionId": + case "Type": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected RouteType to be of type string, got %T instead", value) } - sv.ConnectionId = ptr.String(jtv) + sv.Type = types.RouteType(jtv) } - case "CreatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + default: + _, _ = key, value - default: - return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + } + } + *v = sv + return nil +} - } - } +func awsRestjson1_deserializeDocumentNetworkRouteDestination(v **types.NetworkRouteDestination, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } - case "Description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } - case "DeviceId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.DeviceId = ptr.String(jtv) - } + var sv *types.NetworkRouteDestination + if *v == nil { + sv = &types.NetworkRouteDestination{} + } else { + sv = *v + } - case "GlobalNetworkId": + for key, value := range shape { + switch key { + case "ResourceId": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.GlobalNetworkId = ptr.String(jtv) + sv.ResourceId = ptr.String(jtv) } - case "LinkId": + case "ResourceType": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.LinkId = ptr.String(jtv) + sv.ResourceType = ptr.String(jtv) } - case "State": + case "TransitGatewayAttachmentId": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConnectionState to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.State = types.ConnectionState(jtv) - } - - case "Tags": - if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { - return err + sv.TransitGatewayAttachmentId = ptr.String(jtv) } default: @@ -6272,7 +9046,7 @@ func awsRestjson1_deserializeDocumentConnection(v **types.Connection, value inte return nil } -func awsRestjson1_deserializeDocumentConnectionList(v *[]types.Connection, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkRouteDestinationList(v *[]types.NetworkRouteDestination, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6285,17 +9059,17 @@ func awsRestjson1_deserializeDocumentConnectionList(v *[]types.Connection, value return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Connection + var cv []types.NetworkRouteDestination if *v == nil { - cv = []types.Connection{} + cv = []types.NetworkRouteDestination{} } else { cv = *v } for _, value := range shape { - var col types.Connection + var col types.NetworkRouteDestination destAddr := &col - if err := awsRestjson1_deserializeDocumentConnection(&destAddr, value); err != nil { + if err := awsRestjson1_deserializeDocumentNetworkRouteDestination(&destAddr, value); err != nil { return err } col = *destAddr @@ -6306,7 +9080,41 @@ func awsRestjson1_deserializeDocumentConnectionList(v *[]types.Connection, value return nil } -func awsRestjson1_deserializeDocumentCustomerGatewayAssociation(v **types.CustomerGatewayAssociation, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkRouteList(v *[]types.NetworkRoute, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.NetworkRoute + if *v == nil { + cv = []types.NetworkRoute{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.NetworkRoute + destAddr := &col + if err := awsRestjson1_deserializeDocumentNetworkRoute(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentNetworkTelemetry(v **types.NetworkTelemetry, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6319,58 +9127,81 @@ func awsRestjson1_deserializeDocumentCustomerGatewayAssociation(v **types.Custom return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.CustomerGatewayAssociation + var sv *types.NetworkTelemetry if *v == nil { - sv = &types.CustomerGatewayAssociation{} + sv = &types.NetworkTelemetry{} } else { sv = *v } for key, value := range shape { switch key { - case "CustomerGatewayArn": + case "AccountId": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.CustomerGatewayArn = ptr.String(jtv) + sv.AccountId = ptr.String(jtv) } - case "DeviceId": + case "Address": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.DeviceId = ptr.String(jtv) + sv.Address = ptr.String(jtv) } - case "GlobalNetworkId": + case "AwsRegion": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.GlobalNetworkId = ptr.String(jtv) + sv.AwsRegion = ptr.String(jtv) } - case "LinkId": + case "Health": + if err := awsRestjson1_deserializeDocumentConnectionHealth(&sv.Health, value); err != nil { + return err + } + + case "RegisteredGatewayArn": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.LinkId = ptr.String(jtv) + sv.RegisteredGatewayArn = ptr.String(jtv) } - case "State": + case "ResourceArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected CustomerGatewayAssociationState to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.State = types.CustomerGatewayAssociationState(jtv) + sv.ResourceArn = ptr.String(jtv) + } + + case "ResourceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceId = ptr.String(jtv) + } + + case "ResourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ResourceType = ptr.String(jtv) } default: @@ -6382,7 +9213,7 @@ func awsRestjson1_deserializeDocumentCustomerGatewayAssociation(v **types.Custom return nil } -func awsRestjson1_deserializeDocumentCustomerGatewayAssociationList(v *[]types.CustomerGatewayAssociation, value interface{}) error { +func awsRestjson1_deserializeDocumentNetworkTelemetryList(v *[]types.NetworkTelemetry, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6395,17 +9226,17 @@ func awsRestjson1_deserializeDocumentCustomerGatewayAssociationList(v *[]types.C return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.CustomerGatewayAssociation + var cv []types.NetworkTelemetry if *v == nil { - cv = []types.CustomerGatewayAssociation{} + cv = []types.NetworkTelemetry{} } else { cv = *v } for _, value := range shape { - var col types.CustomerGatewayAssociation + var col types.NetworkTelemetry destAddr := &col - if err := awsRestjson1_deserializeDocumentCustomerGatewayAssociation(&destAddr, value); err != nil { + if err := awsRestjson1_deserializeDocumentNetworkTelemetry(&destAddr, value); err != nil { return err } col = *destAddr @@ -6416,7 +9247,7 @@ func awsRestjson1_deserializeDocumentCustomerGatewayAssociationList(v *[]types.C return nil } -func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) error { +func awsRestjson1_deserializeDocumentPathComponent(v **types.PathComponent, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6429,134 +9260,40 @@ func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Device + var sv *types.PathComponent if *v == nil { - sv = &types.Device{} + sv = &types.PathComponent{} } else { sv = *v } for key, value := range shape { switch key { - case "AWSLocation": - if err := awsRestjson1_deserializeDocumentAWSLocation(&sv.AWSLocation, value); err != nil { - return err - } - - case "CreatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) - - } - } - - case "Description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } - - case "DeviceArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.DeviceArn = ptr.String(jtv) - } - - case "DeviceId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.DeviceId = ptr.String(jtv) - } - - case "GlobalNetworkId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.GlobalNetworkId = ptr.String(jtv) - } - - case "Location": - if err := awsRestjson1_deserializeDocumentLocation(&sv.Location, value); err != nil { - return err - } - - case "Model": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Model = ptr.String(jtv) - } - - case "SerialNumber": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.SerialNumber = ptr.String(jtv) - } - - case "SiteId": + case "DestinationCidrBlock": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.SiteId = ptr.String(jtv) - } - - case "State": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected DeviceState to be of type string, got %T instead", value) - } - sv.State = types.DeviceState(jtv) + sv.DestinationCidrBlock = ptr.String(jtv) } - case "Tags": - if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { + case "Resource": + if err := awsRestjson1_deserializeDocumentNetworkResourceSummary(&sv.Resource, value); err != nil { return err } - case "Type": + case "Sequence": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) } - sv.Type = ptr.String(jtv) - } - - case "Vendor": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + i64, err := jtv.Int64() + if err != nil { + return err } - sv.Vendor = ptr.String(jtv) + sv.Sequence = ptr.Int32(int32(i64)) } default: @@ -6568,7 +9305,7 @@ func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) return nil } -func awsRestjson1_deserializeDocumentDeviceList(v *[]types.Device, value interface{}) error { +func awsRestjson1_deserializeDocumentPathComponentList(v *[]types.PathComponent, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6581,17 +9318,17 @@ func awsRestjson1_deserializeDocumentDeviceList(v *[]types.Device, value interfa return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Device + var cv []types.PathComponent if *v == nil { - cv = []types.Device{} + cv = []types.PathComponent{} } else { cv = *v } for _, value := range shape { - var col types.Device + var col types.PathComponent destAddr := &col - if err := awsRestjson1_deserializeDocumentDevice(&destAddr, value); err != nil { + if err := awsRestjson1_deserializeDocumentPathComponent(&destAddr, value); err != nil { return err } col = *destAddr @@ -6602,7 +9339,7 @@ func awsRestjson1_deserializeDocumentDeviceList(v *[]types.Device, value interfa return nil } -func awsRestjson1_deserializeDocumentGlobalNetwork(v **types.GlobalNetwork, value interface{}) error { +func awsRestjson1_deserializeDocumentReasonContextMap(v *map[string]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6615,70 +9352,67 @@ func awsRestjson1_deserializeDocumentGlobalNetwork(v **types.GlobalNetwork, valu return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.GlobalNetwork + var mv map[string]string if *v == nil { - sv = &types.GlobalNetwork{} + mv = map[string]string{} } else { - sv = *v + mv = *v } for key, value := range shape { - switch key { - case "CreatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReasonContextValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal - default: - return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + } + *v = mv + return nil +} - } - } +func awsRestjson1_deserializeDocumentRelationship(v **types.Relationship, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } - case "Description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Relationship + if *v == nil { + sv = &types.Relationship{} + } else { + sv = *v + } - case "GlobalNetworkArn": + for key, value := range shape { + switch key { + case "From": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.GlobalNetworkArn = ptr.String(jtv) + sv.From = ptr.String(jtv) } - case "GlobalNetworkId": + case "To": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.GlobalNetworkId = ptr.String(jtv) - } - - case "State": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected GlobalNetworkState to be of type string, got %T instead", value) - } - sv.State = types.GlobalNetworkState(jtv) - } - - case "Tags": - if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { - return err + sv.To = ptr.String(jtv) } default: @@ -6690,7 +9424,7 @@ func awsRestjson1_deserializeDocumentGlobalNetwork(v **types.GlobalNetwork, valu return nil } -func awsRestjson1_deserializeDocumentGlobalNetworkList(v *[]types.GlobalNetwork, value interface{}) error { +func awsRestjson1_deserializeDocumentRelationshipList(v *[]types.Relationship, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6703,17 +9437,17 @@ func awsRestjson1_deserializeDocumentGlobalNetworkList(v *[]types.GlobalNetwork, return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.GlobalNetwork + var cv []types.Relationship if *v == nil { - cv = []types.GlobalNetwork{} + cv = []types.Relationship{} } else { cv = *v } for _, value := range shape { - var col types.GlobalNetwork + var col types.Relationship destAddr := &col - if err := awsRestjson1_deserializeDocumentGlobalNetwork(&destAddr, value); err != nil { + if err := awsRestjson1_deserializeDocumentRelationship(&destAddr, value); err != nil { return err } col = *destAddr @@ -6724,7 +9458,7 @@ func awsRestjson1_deserializeDocumentGlobalNetworkList(v *[]types.GlobalNetwork, return nil } -func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalServerException, value interface{}) error { +func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6737,15 +9471,20 @@ func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalS return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.InternalServerException + var sv *types.ResourceNotFoundException if *v == nil { - sv = &types.InternalServerException{} + sv = &types.ResourceNotFoundException{} } else { sv = *v } for key, value := range shape { switch key { + case "Context": + if err := awsRestjson1_deserializeDocumentExceptionContextMap(&sv.Context, value); err != nil { + return err + } + case "Message": if value != nil { jtv, ok := value.(string) @@ -6755,17 +9494,22 @@ func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalS sv.Message = ptr.String(jtv) } - case "RetryAfterSeconds": + case "ResourceId": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected RetryAfterSeconds to be json.Number, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } - i64, err := jtv.Int64() - if err != nil { - return err + sv.ResourceId = ptr.String(jtv) + } + + case "ResourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.RetryAfterSeconds = ptr.Int32(int32(i64)) + sv.ResourceType = ptr.String(jtv) } default: @@ -6777,7 +9521,7 @@ func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalS return nil } -func awsRestjson1_deserializeDocumentLink(v **types.Link, value interface{}) error { +func awsRestjson1_deserializeDocumentRouteAnalysis(v **types.RouteAnalysis, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6790,43 +9534,23 @@ func awsRestjson1_deserializeDocumentLink(v **types.Link, value interface{}) err return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Link + var sv *types.RouteAnalysis if *v == nil { - sv = &types.Link{} + sv = &types.RouteAnalysis{} } else { sv = *v } for key, value := range shape { switch key { - case "Bandwidth": - if err := awsRestjson1_deserializeDocumentBandwidth(&sv.Bandwidth, value); err != nil { + case "Destination": + if err := awsRestjson1_deserializeDocumentRouteAnalysisEndpointOptions(&sv.Destination, value); err != nil { return err } - case "CreatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) - - } - } - - case "Description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) + case "ForwardPath": + if err := awsRestjson1_deserializeDocumentRouteAnalysisPath(&sv.ForwardPath, value); err != nil { + return err } case "GlobalNetworkId": @@ -6838,63 +9562,75 @@ func awsRestjson1_deserializeDocumentLink(v **types.Link, value interface{}) err sv.GlobalNetworkId = ptr.String(jtv) } - case "LinkArn": + case "IncludeReturnPath": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(bool) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.LinkArn = ptr.String(jtv) + sv.IncludeReturnPath = jtv } - case "LinkId": + case "OwnerAccountId": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.LinkId = ptr.String(jtv) + sv.OwnerAccountId = ptr.String(jtv) } - case "Provider": + case "ReturnPath": + if err := awsRestjson1_deserializeDocumentRouteAnalysisPath(&sv.ReturnPath, value); err != nil { + return err + } + + case "RouteAnalysisId": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Provider = ptr.String(jtv) + sv.RouteAnalysisId = ptr.String(jtv) } - case "SiteId": + case "Source": + if err := awsRestjson1_deserializeDocumentRouteAnalysisEndpointOptions(&sv.Source, value); err != nil { + return err + } + + case "StartTimestamp": if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) + } - sv.SiteId = ptr.String(jtv) } - case "State": + case "Status": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected LinkState to be of type string, got %T instead", value) + return fmt.Errorf("expected RouteAnalysisStatus to be of type string, got %T instead", value) } - sv.State = types.LinkState(jtv) - } - - case "Tags": - if err := awsRestjson1_deserializeDocumentTagList(&sv.Tags, value); err != nil { - return err + sv.Status = types.RouteAnalysisStatus(jtv) } - case "Type": + case "UseMiddleboxes": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(bool) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.Type = ptr.String(jtv) + sv.UseMiddleboxes = jtv } default: @@ -6906,7 +9642,7 @@ func awsRestjson1_deserializeDocumentLink(v **types.Link, value interface{}) err return nil } -func awsRestjson1_deserializeDocumentLinkAssociation(v **types.LinkAssociation, value interface{}) error { +func awsRestjson1_deserializeDocumentRouteAnalysisCompletion(v **types.RouteAnalysisCompletion, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -6919,49 +9655,36 @@ func awsRestjson1_deserializeDocumentLinkAssociation(v **types.LinkAssociation, return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.LinkAssociation + var sv *types.RouteAnalysisCompletion if *v == nil { - sv = &types.LinkAssociation{} + sv = &types.RouteAnalysisCompletion{} } else { sv = *v } for key, value := range shape { switch key { - case "DeviceId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.DeviceId = ptr.String(jtv) - } - - case "GlobalNetworkId": + case "ReasonCode": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected RouteAnalysisCompletionReasonCode to be of type string, got %T instead", value) } - sv.GlobalNetworkId = ptr.String(jtv) + sv.ReasonCode = types.RouteAnalysisCompletionReasonCode(jtv) } - case "LinkAssociationState": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LinkAssociationState to be of type string, got %T instead", value) - } - sv.LinkAssociationState = types.LinkAssociationState(jtv) + case "ReasonContext": + if err := awsRestjson1_deserializeDocumentReasonContextMap(&sv.ReasonContext, value); err != nil { + return err } - case "LinkId": + case "ResultCode": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected RouteAnalysisCompletionResultCode to be of type string, got %T instead", value) } - sv.LinkId = ptr.String(jtv) + sv.ResultCode = types.RouteAnalysisCompletionResultCode(jtv) } default: @@ -6973,75 +9696,7 @@ func awsRestjson1_deserializeDocumentLinkAssociation(v **types.LinkAssociation, return nil } -func awsRestjson1_deserializeDocumentLinkAssociationList(v *[]types.LinkAssociation, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.LinkAssociation - if *v == nil { - cv = []types.LinkAssociation{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.LinkAssociation - destAddr := &col - if err := awsRestjson1_deserializeDocumentLinkAssociation(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsRestjson1_deserializeDocumentLinkList(v *[]types.Link, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Link - if *v == nil { - cv = []types.Link{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Link - destAddr := &col - if err := awsRestjson1_deserializeDocumentLink(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsRestjson1_deserializeDocumentLocation(v **types.Location, value interface{}) error { +func awsRestjson1_deserializeDocumentRouteAnalysisEndpointOptions(v **types.RouteAnalysisEndpointOptions, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7054,40 +9709,40 @@ func awsRestjson1_deserializeDocumentLocation(v **types.Location, value interfac return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Location + var sv *types.RouteAnalysisEndpointOptions if *v == nil { - sv = &types.Location{} + sv = &types.RouteAnalysisEndpointOptions{} } else { sv = *v } for key, value := range shape { switch key { - case "Address": + case "IpAddress": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Address = ptr.String(jtv) + sv.IpAddress = ptr.String(jtv) } - case "Latitude": + case "TransitGatewayArn": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Latitude = ptr.String(jtv) + sv.TransitGatewayArn = ptr.String(jtv) } - case "Longitude": + case "TransitGatewayAttachmentArn": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Longitude = ptr.String(jtv) + sv.TransitGatewayAttachmentArn = ptr.String(jtv) } default: @@ -7099,7 +9754,7 @@ func awsRestjson1_deserializeDocumentLocation(v **types.Location, value interfac return nil } -func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error { +func awsRestjson1_deserializeDocumentRouteAnalysisPath(v **types.RouteAnalysisPath, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7112,40 +9767,23 @@ func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.Resourc return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ResourceNotFoundException + var sv *types.RouteAnalysisPath if *v == nil { - sv = &types.ResourceNotFoundException{} + sv = &types.RouteAnalysisPath{} } else { sv = *v } for key, value := range shape { switch key { - case "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - case "ResourceId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.ResourceId = ptr.String(jtv) + case "CompletionStatus": + if err := awsRestjson1_deserializeDocumentRouteAnalysisCompletion(&sv.CompletionStatus, value); err != nil { + return err } - case "ResourceType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.ResourceType = ptr.String(jtv) + case "Path": + if err := awsRestjson1_deserializeDocumentPathComponentList(&sv.Path, value); err != nil { + return err } default: diff --git a/service/networkmanager/doc.go b/service/networkmanager/doc.go index 7352772c0ec..1d1bf57de89 100644 --- a/service/networkmanager/doc.go +++ b/service/networkmanager/doc.go @@ -4,8 +4,6 @@ // for AWS Network Manager. // // Transit Gateway Network Manager (Network Manager) enables you to create a global -// network, in which you can monitor your AWS and on-premises networks that are -// built around transit gateways. The Network Manager APIs are supported in the US -// West (Oregon) Region only. You must specify the us-west-2 Region in all requests -// made to Network Manager. +// network, in which you can monitor your Amazon Web Services and on-premises +// networks that are built around transit gateways. package networkmanager diff --git a/service/networkmanager/generated.json b/service/networkmanager/generated.json index dc387c1c24f..575da86a4c5 100644 --- a/service/networkmanager/generated.json +++ b/service/networkmanager/generated.json @@ -28,17 +28,25 @@ "api_op_GetDevices.go", "api_op_GetLinkAssociations.go", "api_op_GetLinks.go", + "api_op_GetNetworkResourceCounts.go", + "api_op_GetNetworkResourceRelationships.go", + "api_op_GetNetworkResources.go", + "api_op_GetNetworkRoutes.go", + "api_op_GetNetworkTelemetry.go", + "api_op_GetRouteAnalysis.go", "api_op_GetSites.go", "api_op_GetTransitGatewayConnectPeerAssociations.go", "api_op_GetTransitGatewayRegistrations.go", "api_op_ListTagsForResource.go", "api_op_RegisterTransitGateway.go", + "api_op_StartRouteAnalysis.go", "api_op_TagResource.go", "api_op_UntagResource.go", "api_op_UpdateConnection.go", "api_op_UpdateDevice.go", "api_op_UpdateGlobalNetwork.go", "api_op_UpdateLink.go", + "api_op_UpdateNetworkResourceMetadata.go", "api_op_UpdateSite.go", "deserializers.go", "doc.go", diff --git a/service/networkmanager/internal/endpoints/endpoints.go b/service/networkmanager/internal/endpoints/endpoints.go index 8adc41a8e6e..09580599b71 100644 --- a/service/networkmanager/internal/endpoints/endpoints.go +++ b/service/networkmanager/internal/endpoints/endpoints.go @@ -60,8 +60,17 @@ var defaultPartitions = endpoints.Partitions{ Protocols: []string{"https"}, SignatureVersions: []string{"v4"}, }, - RegionRegex: partitionRegexp.Aws, - IsRegionalized: true, + RegionRegex: partitionRegexp.Aws, + IsRegionalized: false, + PartitionEndpoint: "aws-global", + Endpoints: endpoints.Endpoints{ + "aws-global": endpoints.Endpoint{ + Hostname: "networkmanager.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, + }, }, { ID: "aws-cn", @@ -100,7 +109,16 @@ var defaultPartitions = endpoints.Partitions{ Protocols: []string{"https"}, SignatureVersions: []string{"v4"}, }, - RegionRegex: partitionRegexp.AwsUsGov, - IsRegionalized: true, + RegionRegex: partitionRegexp.AwsUsGov, + IsRegionalized: false, + PartitionEndpoint: "aws-us-gov-global", + Endpoints: endpoints.Endpoints{ + "aws-us-gov-global": endpoints.Endpoint{ + Hostname: "networkmanager.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, + }, }, } diff --git a/service/networkmanager/serializers.go b/service/networkmanager/serializers.go index 9f1e274c35a..6a64163f591 100644 --- a/service/networkmanager/serializers.go +++ b/service/networkmanager/serializers.go @@ -1835,6 +1835,540 @@ func awsRestjson1_serializeOpHttpBindingsGetLinksInput(v *GetLinksInput, encoder return nil } +type awsRestjson1_serializeOpGetNetworkResourceCounts struct { +} + +func (*awsRestjson1_serializeOpGetNetworkResourceCounts) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetNetworkResourceCounts) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetNetworkResourceCountsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/network-resource-count") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetNetworkResourceCountsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetNetworkResourceCountsInput(v *GetNetworkResourceCountsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("maxResults").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("nextToken").String(*v.NextToken) + } + + if v.ResourceType != nil { + encoder.SetQuery("resourceType").String(*v.ResourceType) + } + + return nil +} + +type awsRestjson1_serializeOpGetNetworkResourceRelationships struct { +} + +func (*awsRestjson1_serializeOpGetNetworkResourceRelationships) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetNetworkResourceRelationships) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetNetworkResourceRelationshipsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/network-resource-relationships") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetNetworkResourceRelationshipsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetNetworkResourceRelationshipsInput(v *GetNetworkResourceRelationshipsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AccountId != nil { + encoder.SetQuery("accountId").String(*v.AccountId) + } + + if v.AwsRegion != nil { + encoder.SetQuery("awsRegion").String(*v.AwsRegion) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("maxResults").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("nextToken").String(*v.NextToken) + } + + if v.RegisteredGatewayArn != nil { + encoder.SetQuery("registeredGatewayArn").String(*v.RegisteredGatewayArn) + } + + if v.ResourceArn != nil { + encoder.SetQuery("resourceArn").String(*v.ResourceArn) + } + + if v.ResourceType != nil { + encoder.SetQuery("resourceType").String(*v.ResourceType) + } + + return nil +} + +type awsRestjson1_serializeOpGetNetworkResources struct { +} + +func (*awsRestjson1_serializeOpGetNetworkResources) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetNetworkResources) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetNetworkResourcesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/network-resources") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetNetworkResourcesInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetNetworkResourcesInput(v *GetNetworkResourcesInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AccountId != nil { + encoder.SetQuery("accountId").String(*v.AccountId) + } + + if v.AwsRegion != nil { + encoder.SetQuery("awsRegion").String(*v.AwsRegion) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("maxResults").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("nextToken").String(*v.NextToken) + } + + if v.RegisteredGatewayArn != nil { + encoder.SetQuery("registeredGatewayArn").String(*v.RegisteredGatewayArn) + } + + if v.ResourceArn != nil { + encoder.SetQuery("resourceArn").String(*v.ResourceArn) + } + + if v.ResourceType != nil { + encoder.SetQuery("resourceType").String(*v.ResourceType) + } + + return nil +} + +type awsRestjson1_serializeOpGetNetworkRoutes struct { +} + +func (*awsRestjson1_serializeOpGetNetworkRoutes) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetNetworkRoutes) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetNetworkRoutesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/network-routes") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetNetworkRoutesInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentGetNetworkRoutesInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetNetworkRoutesInput(v *GetNetworkRoutesInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentGetNetworkRoutesInput(v *GetNetworkRoutesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DestinationFilters != nil { + ok := object.Key("DestinationFilters") + if err := awsRestjson1_serializeDocumentFilterMap(v.DestinationFilters, ok); err != nil { + return err + } + } + + if v.ExactCidrMatches != nil { + ok := object.Key("ExactCidrMatches") + if err := awsRestjson1_serializeDocumentStringList(v.ExactCidrMatches, ok); err != nil { + return err + } + } + + if v.LongestPrefixMatches != nil { + ok := object.Key("LongestPrefixMatches") + if err := awsRestjson1_serializeDocumentStringList(v.LongestPrefixMatches, ok); err != nil { + return err + } + } + + if v.PrefixListIds != nil { + ok := object.Key("PrefixListIds") + if err := awsRestjson1_serializeDocumentStringList(v.PrefixListIds, ok); err != nil { + return err + } + } + + if v.RouteTableIdentifier != nil { + ok := object.Key("RouteTableIdentifier") + if err := awsRestjson1_serializeDocumentRouteTableIdentifier(v.RouteTableIdentifier, ok); err != nil { + return err + } + } + + if v.States != nil { + ok := object.Key("States") + if err := awsRestjson1_serializeDocumentRouteStateList(v.States, ok); err != nil { + return err + } + } + + if v.SubnetOfMatches != nil { + ok := object.Key("SubnetOfMatches") + if err := awsRestjson1_serializeDocumentStringList(v.SubnetOfMatches, ok); err != nil { + return err + } + } + + if v.SupernetOfMatches != nil { + ok := object.Key("SupernetOfMatches") + if err := awsRestjson1_serializeDocumentStringList(v.SupernetOfMatches, ok); err != nil { + return err + } + } + + if v.Types != nil { + ok := object.Key("Types") + if err := awsRestjson1_serializeDocumentRouteTypeList(v.Types, ok); err != nil { + return err + } + } + + return nil +} + +type awsRestjson1_serializeOpGetNetworkTelemetry struct { +} + +func (*awsRestjson1_serializeOpGetNetworkTelemetry) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetNetworkTelemetry) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetNetworkTelemetryInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/network-telemetry") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetNetworkTelemetryInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetNetworkTelemetryInput(v *GetNetworkTelemetryInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.AccountId != nil { + encoder.SetQuery("accountId").String(*v.AccountId) + } + + if v.AwsRegion != nil { + encoder.SetQuery("awsRegion").String(*v.AwsRegion) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("maxResults").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("nextToken").String(*v.NextToken) + } + + if v.RegisteredGatewayArn != nil { + encoder.SetQuery("registeredGatewayArn").String(*v.RegisteredGatewayArn) + } + + if v.ResourceArn != nil { + encoder.SetQuery("resourceArn").String(*v.ResourceArn) + } + + if v.ResourceType != nil { + encoder.SetQuery("resourceType").String(*v.ResourceType) + } + + return nil +} + +type awsRestjson1_serializeOpGetRouteAnalysis struct { +} + +func (*awsRestjson1_serializeOpGetRouteAnalysis) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetRouteAnalysis) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetRouteAnalysisInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/route-analyses/{RouteAnalysisId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetRouteAnalysisInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetRouteAnalysisInput(v *GetRouteAnalysisInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + if v.RouteAnalysisId == nil || len(*v.RouteAnalysisId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member RouteAnalysisId must not be empty")} + } + if v.RouteAnalysisId != nil { + if err := encoder.SetURI("RouteAnalysisId").String(*v.RouteAnalysisId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpGetSites struct { } @@ -2190,6 +2724,106 @@ func awsRestjson1_serializeOpDocumentRegisterTransitGatewayInput(v *RegisterTran return nil } +type awsRestjson1_serializeOpStartRouteAnalysis struct { +} + +func (*awsRestjson1_serializeOpStartRouteAnalysis) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStartRouteAnalysis) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StartRouteAnalysisInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/route-analyses") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsStartRouteAnalysisInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentStartRouteAnalysisInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsStartRouteAnalysisInput(v *StartRouteAnalysisInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentStartRouteAnalysisInput(v *StartRouteAnalysisInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Destination != nil { + ok := object.Key("Destination") + if err := awsRestjson1_serializeDocumentRouteAnalysisEndpointOptionsSpecification(v.Destination, ok); err != nil { + return err + } + } + + if v.IncludeReturnPath { + ok := object.Key("IncludeReturnPath") + ok.Boolean(v.IncludeReturnPath) + } + + if v.Source != nil { + ok := object.Key("Source") + if err := awsRestjson1_serializeDocumentRouteAnalysisEndpointOptionsSpecification(v.Source, ok); err != nil { + return err + } + } + + if v.UseMiddleboxes { + ok := object.Key("UseMiddleboxes") + ok.Boolean(v.UseMiddleboxes) + } + + return nil +} + type awsRestjson1_serializeOpTagResource struct { } @@ -2754,6 +3388,98 @@ func awsRestjson1_serializeOpDocumentUpdateLinkInput(v *UpdateLinkInput, value s return nil } +type awsRestjson1_serializeOpUpdateNetworkResourceMetadata struct { +} + +func (*awsRestjson1_serializeOpUpdateNetworkResourceMetadata) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUpdateNetworkResourceMetadata) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateNetworkResourceMetadataInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/global-networks/{GlobalNetworkId}/network-resources/{ResourceArn}/metadata") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "PATCH" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsUpdateNetworkResourceMetadataInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUpdateNetworkResourceMetadataInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUpdateNetworkResourceMetadataInput(v *UpdateNetworkResourceMetadataInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.GlobalNetworkId == nil || len(*v.GlobalNetworkId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member GlobalNetworkId must not be empty")} + } + if v.GlobalNetworkId != nil { + if err := encoder.SetURI("GlobalNetworkId").String(*v.GlobalNetworkId); err != nil { + return err + } + } + + if v.ResourceArn == nil || len(*v.ResourceArn) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member ResourceArn must not be empty")} + } + if v.ResourceArn != nil { + if err := encoder.SetURI("ResourceArn").String(*v.ResourceArn); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUpdateNetworkResourceMetadataInput(v *UpdateNetworkResourceMetadataInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Metadata != nil { + ok := object.Key("Metadata") + if err := awsRestjson1_serializeDocumentNetworkResourceMetadataMap(v.Metadata, ok); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpUpdateSite struct { } @@ -2885,6 +3611,33 @@ func awsRestjson1_serializeDocumentBandwidth(v *types.Bandwidth, value smithyjso return nil } +func awsRestjson1_serializeDocumentFilterMap(v map[string][]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + if vv := v[key]; vv == nil { + continue + } + if err := awsRestjson1_serializeDocumentFilterValues(v[key], om); err != nil { + return err + } + } + return nil +} + +func awsRestjson1_serializeDocumentFilterValues(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentLocation(v *types.Location, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2907,6 +3660,79 @@ func awsRestjson1_serializeDocumentLocation(v *types.Location, value smithyjson. return nil } +func awsRestjson1_serializeDocumentNetworkResourceMetadataMap(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) + } + return nil +} + +func awsRestjson1_serializeDocumentRouteAnalysisEndpointOptionsSpecification(v *types.RouteAnalysisEndpointOptionsSpecification, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.IpAddress != nil { + ok := object.Key("IpAddress") + ok.String(*v.IpAddress) + } + + if v.TransitGatewayAttachmentArn != nil { + ok := object.Key("TransitGatewayAttachmentArn") + ok.String(*v.TransitGatewayAttachmentArn) + } + + return nil +} + +func awsRestjson1_serializeDocumentRouteStateList(v []types.RouteState, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsRestjson1_serializeDocumentRouteTableIdentifier(v *types.RouteTableIdentifier, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.TransitGatewayRouteTableArn != nil { + ok := object.Key("TransitGatewayRouteTableArn") + ok.String(*v.TransitGatewayRouteTableArn) + } + + return nil +} + +func awsRestjson1_serializeDocumentRouteTypeList(v []types.RouteType, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsRestjson1_serializeDocumentStringList(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/networkmanager/types/enums.go b/service/networkmanager/types/enums.go index 00cf098ecf4..a7acaf43d72 100644 --- a/service/networkmanager/types/enums.go +++ b/service/networkmanager/types/enums.go @@ -24,6 +24,42 @@ func (ConnectionState) Values() []ConnectionState { } } +type ConnectionStatus string + +// Enum values for ConnectionStatus +const ( + ConnectionStatusUp ConnectionStatus = "UP" + ConnectionStatusDown ConnectionStatus = "DOWN" +) + +// Values returns all known values for ConnectionStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ConnectionStatus) Values() []ConnectionStatus { + return []ConnectionStatus{ + "UP", + "DOWN", + } +} + +type ConnectionType string + +// Enum values for ConnectionType +const ( + ConnectionTypeBgp ConnectionType = "BGP" + ConnectionTypeIpsec ConnectionType = "IPSEC" +) + +// Values returns all known values for ConnectionType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ConnectionType) Values() []ConnectionType { + return []ConnectionType{ + "BGP", + "IPSEC", + } +} + type CustomerGatewayAssociationState string // Enum values for CustomerGatewayAssociationState @@ -135,6 +171,134 @@ func (LinkState) Values() []LinkState { } } +type RouteAnalysisCompletionReasonCode string + +// Enum values for RouteAnalysisCompletionReasonCode +const ( + RouteAnalysisCompletionReasonCodeTransitGatewayAttachmentNotFound RouteAnalysisCompletionReasonCode = "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND" + RouteAnalysisCompletionReasonCodeTransitGatewayAttachmentNotInTransitGateway RouteAnalysisCompletionReasonCode = "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY" + RouteAnalysisCompletionReasonCodeCyclicPathDetected RouteAnalysisCompletionReasonCode = "CYCLIC_PATH_DETECTED" + RouteAnalysisCompletionReasonCodeTransitGatewayAttachmentStableRouteTableNotFound RouteAnalysisCompletionReasonCode = "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND" + RouteAnalysisCompletionReasonCodeRouteNotFound RouteAnalysisCompletionReasonCode = "ROUTE_NOT_FOUND" + RouteAnalysisCompletionReasonCodeBlackholeRouteForDestinationFound RouteAnalysisCompletionReasonCode = "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND" + RouteAnalysisCompletionReasonCodeInactiveRouteForDestinationFound RouteAnalysisCompletionReasonCode = "INACTIVE_ROUTE_FOR_DESTINATION_FOUND" + RouteAnalysisCompletionReasonCodeTransitGatewayAttachment RouteAnalysisCompletionReasonCode = "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH" + RouteAnalysisCompletionReasonCodeMaxHopsExceeded RouteAnalysisCompletionReasonCode = "MAX_HOPS_EXCEEDED" + RouteAnalysisCompletionReasonCodePossibleMiddlebox RouteAnalysisCompletionReasonCode = "POSSIBLE_MIDDLEBOX" + RouteAnalysisCompletionReasonCodeNoDestinationArnProvided RouteAnalysisCompletionReasonCode = "NO_DESTINATION_ARN_PROVIDED" +) + +// Values returns all known values for RouteAnalysisCompletionReasonCode. Note that +// this can be expanded in the future, and so it is only as up to date as the +// client. The ordering of this slice is not guaranteed to be stable across +// updates. +func (RouteAnalysisCompletionReasonCode) Values() []RouteAnalysisCompletionReasonCode { + return []RouteAnalysisCompletionReasonCode{ + "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND", + "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY", + "CYCLIC_PATH_DETECTED", + "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND", + "ROUTE_NOT_FOUND", + "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND", + "INACTIVE_ROUTE_FOR_DESTINATION_FOUND", + "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH", + "MAX_HOPS_EXCEEDED", + "POSSIBLE_MIDDLEBOX", + "NO_DESTINATION_ARN_PROVIDED", + } +} + +type RouteAnalysisCompletionResultCode string + +// Enum values for RouteAnalysisCompletionResultCode +const ( + RouteAnalysisCompletionResultCodeConnected RouteAnalysisCompletionResultCode = "CONNECTED" + RouteAnalysisCompletionResultCodeNotConnected RouteAnalysisCompletionResultCode = "NOT_CONNECTED" +) + +// Values returns all known values for RouteAnalysisCompletionResultCode. Note that +// this can be expanded in the future, and so it is only as up to date as the +// client. The ordering of this slice is not guaranteed to be stable across +// updates. +func (RouteAnalysisCompletionResultCode) Values() []RouteAnalysisCompletionResultCode { + return []RouteAnalysisCompletionResultCode{ + "CONNECTED", + "NOT_CONNECTED", + } +} + +type RouteAnalysisStatus string + +// Enum values for RouteAnalysisStatus +const ( + RouteAnalysisStatusRunning RouteAnalysisStatus = "RUNNING" + RouteAnalysisStatusCompleted RouteAnalysisStatus = "COMPLETED" + RouteAnalysisStatusFailed RouteAnalysisStatus = "FAILED" +) + +// Values returns all known values for RouteAnalysisStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (RouteAnalysisStatus) Values() []RouteAnalysisStatus { + return []RouteAnalysisStatus{ + "RUNNING", + "COMPLETED", + "FAILED", + } +} + +type RouteState string + +// Enum values for RouteState +const ( + RouteStateActive RouteState = "ACTIVE" + RouteStateBlackhole RouteState = "BLACKHOLE" +) + +// Values returns all known values for RouteState. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (RouteState) Values() []RouteState { + return []RouteState{ + "ACTIVE", + "BLACKHOLE", + } +} + +type RouteTableType string + +// Enum values for RouteTableType +const ( + RouteTableTypeTransitGatewayRouteTable RouteTableType = "TRANSIT_GATEWAY_ROUTE_TABLE" +) + +// Values returns all known values for RouteTableType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (RouteTableType) Values() []RouteTableType { + return []RouteTableType{ + "TRANSIT_GATEWAY_ROUTE_TABLE", + } +} + +type RouteType string + +// Enum values for RouteType +const ( + RouteTypePropagated RouteType = "PROPAGATED" + RouteTypeStatic RouteType = "STATIC" +) + +// Values returns all known values for RouteType. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (RouteType) Values() []RouteType { + return []RouteType{ + "PROPAGATED", + "STATIC", + } +} + type SiteState string // Enum values for SiteState diff --git a/service/networkmanager/types/errors.go b/service/networkmanager/types/errors.go index 5ba44d31f6e..ff86fd988fd 100644 --- a/service/networkmanager/types/errors.go +++ b/service/networkmanager/types/errors.go @@ -76,6 +76,7 @@ type ResourceNotFoundException struct { ResourceId *string ResourceType *string + Context map[string]string noSmithyDocumentSerde } diff --git a/service/networkmanager/types/types.go b/service/networkmanager/types/types.go index b3cd4218d03..9a92a09f42f 100644 --- a/service/networkmanager/types/types.go +++ b/service/networkmanager/types/types.go @@ -7,13 +7,13 @@ import ( "time" ) -// Specifies a location in AWS. +// Specifies a location in Amazon Web Services. type AWSLocation struct { - // The Amazon Resource Name (ARN) of the subnet the device is located in. + // The Amazon Resource Name (ARN) of the subnet that the device is located in. SubnetArn *string - // The Zone the device is located in. This can be the ID of an Availability Zone, + // The Zone that the device is located in. Specify the ID of an Availability Zone, // Local Zone, Wavelength Zone, or an Outpost. Zone *string @@ -71,6 +71,21 @@ type Connection struct { noSmithyDocumentSerde } +// Describes connection health. +type ConnectionHealth struct { + + // The connection status. + Status ConnectionStatus + + // The time the status was last updated. + Timestamp *time.Time + + // The connection type. + Type ConnectionType + + noSmithyDocumentSerde +} + // Describes the association between a customer gateway, a device, and a link. type CustomerGatewayAssociation struct { @@ -95,7 +110,7 @@ type CustomerGatewayAssociation struct { // Describes a device. type Device struct { - // The AWS location of the device. + // The Amazon Web Services location of the device. AWSLocation *AWSLocation // The date and time that the site was created. @@ -236,6 +251,343 @@ type Location struct { noSmithyDocumentSerde } +// Describes a network resource. +type NetworkResource struct { + + // The Amazon Web Services account ID. + AccountId *string + + // The Amazon Web Services Region. + AwsRegion *string + + // Information about the resource, in JSON format. Network Manager gets this + // information by describing the resource using its Describe API call. + Definition *string + + // The time that the resource definition was retrieved. + DefinitionTimestamp *time.Time + + // The resource metadata. + Metadata map[string]string + + // The ARN of the gateway. + RegisteredGatewayArn *string + + // The ARN of the resource. + ResourceArn *string + + // The ID of the resource. + ResourceId *string + + // The resource type. The following are the supported resource types for Direct + // Connect: + // + // * dxcon + // + // * dx-gateway + // + // * dx-vif + // + // The following are the supported + // resource types for Network Manager: + // + // * connection + // + // * device + // + // * link + // + // * site + // + // The + // following are the supported resource types for Amazon VPC: + // + // * + // customer-gateway + // + // * transit-gateway + // + // * transit-gateway-attachment + // + // * + // transit-gateway-connect-peer + // + // * transit-gateway-route-table + // + // * vpn-connection + ResourceType *string + + // The tags. + Tags []Tag + + noSmithyDocumentSerde +} + +// Describes a resource count. +type NetworkResourceCount struct { + + // The resource count. + Count *int32 + + // The resource type. + ResourceType *string + + noSmithyDocumentSerde +} + +// Describes a network resource. +type NetworkResourceSummary struct { + + // Information about the resource, in JSON format. Network Manager gets this + // information by describing the resource using its Describe API call. + Definition *string + + // Indicates whether this is a middlebox appliance. + IsMiddlebox bool + + // The value for the Name tag. + NameTag *string + + // The ARN of the gateway. + RegisteredGatewayArn *string + + // The ARN of the resource. + ResourceArn *string + + // The resource type. + ResourceType *string + + noSmithyDocumentSerde +} + +// Describes a network route. +type NetworkRoute struct { + + // A unique identifier for the route, such as a CIDR block. + DestinationCidrBlock *string + + // The destinations. + Destinations []NetworkRouteDestination + + // The ID of the prefix list. + PrefixListId *string + + // The route state. The possible values are active and blackhole. + State RouteState + + // The route type. The possible values are propagated and static. + Type RouteType + + noSmithyDocumentSerde +} + +// Describes the destination of a network route. +type NetworkRouteDestination struct { + + // The ID of the resource. + ResourceId *string + + // The resource type. + ResourceType *string + + // The ID of the transit gateway attachment. + TransitGatewayAttachmentId *string + + noSmithyDocumentSerde +} + +// Describes the telemetry information for a resource. +type NetworkTelemetry struct { + + // The Amazon Web Services account ID. + AccountId *string + + // The address. + Address *string + + // The Amazon Web Services Region. + AwsRegion *string + + // The connection health. + Health *ConnectionHealth + + // The ARN of the gateway. + RegisteredGatewayArn *string + + // The ARN of the resource. + ResourceArn *string + + // The ID of the resource. + ResourceId *string + + // The resource type. + ResourceType *string + + noSmithyDocumentSerde +} + +// Describes a path component. +type PathComponent struct { + + // The destination CIDR block in the route table. + DestinationCidrBlock *string + + // The resource. + Resource *NetworkResourceSummary + + // The sequence number in the path. The destination is 0. + Sequence *int32 + + noSmithyDocumentSerde +} + +// Describes a resource relationship. +type Relationship struct { + + // The ARN of the resource. + From *string + + // The ARN of the resource. + To *string + + noSmithyDocumentSerde +} + +// Describes a route analysis. +type RouteAnalysis struct { + + // The destination. + Destination *RouteAnalysisEndpointOptions + + // The forward path. + ForwardPath *RouteAnalysisPath + + // The ID of the global network. + GlobalNetworkId *string + + // Indicates whether to analyze the return path. The return path is not analyzed if + // the forward path analysis does not succeed. + IncludeReturnPath bool + + // The ID of the AWS account that created the route analysis. + OwnerAccountId *string + + // The return path. + ReturnPath *RouteAnalysisPath + + // The ID of the route analysis. + RouteAnalysisId *string + + // The source. + Source *RouteAnalysisEndpointOptions + + // The time that the analysis started. + StartTimestamp *time.Time + + // The status of the route analysis. + Status RouteAnalysisStatus + + // Indicates whether to include the location of middlebox appliances in the route + // analysis. + UseMiddleboxes bool + + noSmithyDocumentSerde +} + +// Describes the status of an analysis at completion. +type RouteAnalysisCompletion struct { + + // The reason code. Available only if a connection is not found. + // + // * + // BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole route with the + // destination CIDR block. + // + // * CYCLIC_PATH_DETECTED - Found the same resource + // multiple times while traversing the path. + // + // * + // INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with the + // destination CIDR block. + // + // * MAX_HOPS_EXCEEDED - Analysis exceeded 64 hops without + // finding the destination. + // + // * ROUTE_NOT_FOUND - Cannot find a route table with the + // destination CIDR block. + // + // * TGW_ATTACH_ARN_NO_MATCH - Found an attachment, but + // not with the correct destination ARN. + // + // * TGW_ATTACH_NOT_FOUND - Cannot find an + // attachment. + // + // * TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the + // correct transit gateway. + // + // * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state + // of the route table association is not associated. + ReasonCode RouteAnalysisCompletionReasonCode + + // Additional information about the path. Available only if a connection is not + // found. + ReasonContext map[string]string + + // The result of the analysis. If the status is NOT_CONNECTED, check the reason + // code. + ResultCode RouteAnalysisCompletionResultCode + + noSmithyDocumentSerde +} + +// Describes a source or a destination. +type RouteAnalysisEndpointOptions struct { + + // The IP address. + IpAddress *string + + // The ARN of the transit gateway. + TransitGatewayArn *string + + // The ARN of the transit gateway attachment. + TransitGatewayAttachmentArn *string + + noSmithyDocumentSerde +} + +// Describes a source or a destination. +type RouteAnalysisEndpointOptionsSpecification struct { + + // The IP address. + IpAddress *string + + // The ARN of the transit gateway attachment. + TransitGatewayAttachmentArn *string + + noSmithyDocumentSerde +} + +// Describes a route analysis path. +type RouteAnalysisPath struct { + + // The status of the analysis at completion. + CompletionStatus *RouteAnalysisCompletion + + // The route analysis path. + Path []PathComponent + + noSmithyDocumentSerde +} + +// Describes a route table. +type RouteTableIdentifier struct { + + // The ARN of the transit gateway route table. + TransitGatewayRouteTableArn *string + + noSmithyDocumentSerde +} + // Describes a site. type Site struct { @@ -269,10 +621,10 @@ type Site struct { // Describes a tag. type Tag struct { - // The tag key. Length Constraints: Maximum length of 128 characters. + // The tag key. Constraints: Maximum length of 128 characters. Key *string - // The tag value. Length Constraints: Maximum length of 256 characters. + // The tag value. Constraints: Maximum length of 256 characters. Value *string noSmithyDocumentSerde diff --git a/service/networkmanager/validators.go b/service/networkmanager/validators.go index 0b39c2e1e22..f9cc27c2265 100644 --- a/service/networkmanager/validators.go +++ b/service/networkmanager/validators.go @@ -429,6 +429,126 @@ func (m *validateOpGetLinks) HandleInitialize(ctx context.Context, in middleware return next.HandleInitialize(ctx, in) } +type validateOpGetNetworkResourceCounts struct { +} + +func (*validateOpGetNetworkResourceCounts) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetNetworkResourceCounts) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetNetworkResourceCountsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetNetworkResourceCountsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetNetworkResourceRelationships struct { +} + +func (*validateOpGetNetworkResourceRelationships) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetNetworkResourceRelationships) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetNetworkResourceRelationshipsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetNetworkResourceRelationshipsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetNetworkResources struct { +} + +func (*validateOpGetNetworkResources) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetNetworkResources) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetNetworkResourcesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetNetworkResourcesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetNetworkRoutes struct { +} + +func (*validateOpGetNetworkRoutes) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetNetworkRoutes) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetNetworkRoutesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetNetworkRoutesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetNetworkTelemetry struct { +} + +func (*validateOpGetNetworkTelemetry) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetNetworkTelemetry) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetNetworkTelemetryInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetNetworkTelemetryInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetRouteAnalysis struct { +} + +func (*validateOpGetRouteAnalysis) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetRouteAnalysis) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetRouteAnalysisInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetRouteAnalysisInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetSites struct { } @@ -529,6 +649,26 @@ func (m *validateOpRegisterTransitGateway) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpStartRouteAnalysis struct { +} + +func (*validateOpStartRouteAnalysis) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartRouteAnalysis) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartRouteAnalysisInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartRouteAnalysisInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpTagResource struct { } @@ -649,6 +789,26 @@ func (m *validateOpUpdateLink) HandleInitialize(ctx context.Context, in middlewa return next.HandleInitialize(ctx, in) } +type validateOpUpdateNetworkResourceMetadata struct { +} + +func (*validateOpUpdateNetworkResourceMetadata) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateNetworkResourceMetadata) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateNetworkResourceMetadataInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateNetworkResourceMetadataInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateSite struct { } @@ -753,6 +913,30 @@ func addOpGetLinksValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetLinks{}, middleware.After) } +func addOpGetNetworkResourceCountsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetNetworkResourceCounts{}, middleware.After) +} + +func addOpGetNetworkResourceRelationshipsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetNetworkResourceRelationships{}, middleware.After) +} + +func addOpGetNetworkResourcesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetNetworkResources{}, middleware.After) +} + +func addOpGetNetworkRoutesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetNetworkRoutes{}, middleware.After) +} + +func addOpGetNetworkTelemetryValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetNetworkTelemetry{}, middleware.After) +} + +func addOpGetRouteAnalysisValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetRouteAnalysis{}, middleware.After) +} + func addOpGetSitesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetSites{}, middleware.After) } @@ -773,6 +957,10 @@ func addOpRegisterTransitGatewayValidationMiddleware(stack *middleware.Stack) er return stack.Initialize.Add(&validateOpRegisterTransitGateway{}, middleware.After) } +func addOpStartRouteAnalysisValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartRouteAnalysis{}, middleware.After) +} + func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpTagResource{}, middleware.After) } @@ -797,6 +985,10 @@ func addOpUpdateLinkValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateLink{}, middleware.After) } +func addOpUpdateNetworkResourceMetadataValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateNetworkResourceMetadata{}, middleware.After) +} + func addOpUpdateSiteValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateSite{}, middleware.After) } @@ -1173,6 +1365,102 @@ func validateOpGetLinksInput(v *GetLinksInput) error { } } +func validateOpGetNetworkResourceCountsInput(v *GetNetworkResourceCountsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetNetworkResourceCountsInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetNetworkResourceRelationshipsInput(v *GetNetworkResourceRelationshipsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetNetworkResourceRelationshipsInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetNetworkResourcesInput(v *GetNetworkResourcesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetNetworkResourcesInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetNetworkRoutesInput(v *GetNetworkRoutesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetNetworkRoutesInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if v.RouteTableIdentifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("RouteTableIdentifier")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetNetworkTelemetryInput(v *GetNetworkTelemetryInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetNetworkTelemetryInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetRouteAnalysisInput(v *GetRouteAnalysisInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetRouteAnalysisInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if v.RouteAnalysisId == nil { + invalidParams.Add(smithy.NewErrParamRequired("RouteAnalysisId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetSitesInput(v *GetSitesInput) error { if v == nil { return nil @@ -1251,6 +1539,27 @@ func validateOpRegisterTransitGatewayInput(v *RegisterTransitGatewayInput) error } } +func validateOpStartRouteAnalysisInput(v *StartRouteAnalysisInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartRouteAnalysisInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if v.Source == nil { + invalidParams.Add(smithy.NewErrParamRequired("Source")) + } + if v.Destination == nil { + invalidParams.Add(smithy.NewErrParamRequired("Destination")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpTagResourceInput(v *TagResourceInput) error { if v == nil { return nil @@ -1356,6 +1665,27 @@ func validateOpUpdateLinkInput(v *UpdateLinkInput) error { } } +func validateOpUpdateNetworkResourceMetadataInput(v *UpdateNetworkResourceMetadataInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateNetworkResourceMetadataInput"} + if v.GlobalNetworkId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GlobalNetworkId")) + } + if v.ResourceArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceArn")) + } + if v.Metadata == nil { + invalidParams.Add(smithy.NewErrParamRequired("Metadata")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateSiteInput(v *UpdateSiteInput) error { if v == nil { return nil diff --git a/service/nimble/api_client.go b/service/nimble/api_client.go index 1f9087155ea..bf4cbc79d80 100644 --- a/service/nimble/api_client.go +++ b/service/nimble/api_client.go @@ -4,7 +4,6 @@ package nimble import ( "context" - cryptorand "crypto/rand" "github.com/aws/aws-sdk-go-v2/aws" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/retry" @@ -14,7 +13,6 @@ import ( smithydocument "github.com/aws/smithy-go/document" "github.com/aws/smithy-go/logging" "github.com/aws/smithy-go/middleware" - smithyrand "github.com/aws/smithy-go/rand" smithyhttp "github.com/aws/smithy-go/transport/http" "net/http" "time" @@ -44,8 +42,6 @@ func New(options Options, optFns ...func(*Options)) *Client { resolveDefaultEndpointConfiguration(&options) - resolveIdempotencyTokenProvider(&options) - for _, fn := range optFns { fn(&options) } @@ -78,10 +74,6 @@ type Options struct { // Signature Version 4 (SigV4) Signer HTTPSignerV4 HTTPSignerV4 - // Provides idempotency tokens values that will be automatically populated into - // idempotent API operations. - IdempotencyTokenProvider IdempotencyTokenProvider - // The logger writer interface to write logging messages to. Logger logging.Logger @@ -243,13 +235,6 @@ func newDefaultV4Signer(o Options) *v4.Signer { }) } -func resolveIdempotencyTokenProvider(o *Options) { - if o.IdempotencyTokenProvider != nil { - return - } - o.IdempotencyTokenProvider = smithyrand.NewUUIDIdempotencyToken(cryptorand.Reader) -} - func addRetryMiddlewares(stack *middleware.Stack, o Options) error { mo := retry.AddRetryMiddlewaresOptions{ Retryer: o.Retryer, @@ -258,11 +243,6 @@ func addRetryMiddlewares(stack *middleware.Stack, o Options) error { return retry.AddRetryMiddlewares(stack, mo) } -// IdempotencyTokenProvider interface for providing idempotency token -type IdempotencyTokenProvider interface { - GetIdempotencyToken() (string, error) -} - func addRequestIDRetrieverMiddleware(stack *middleware.Stack) error { return awsmiddleware.AddRequestIDRetrieverMiddleware(stack) } diff --git a/service/nimble/api_op_AcceptEulas.go b/service/nimble/api_op_AcceptEulas.go index 343f3ee6c56..cb4eebef600 100644 --- a/service/nimble/api_op_AcceptEulas.go +++ b/service/nimble/api_op_AcceptEulas.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,21 +27,17 @@ func (c *Client) AcceptEulas(ctx context.Context, params *AcceptEulasInput, optF return out, nil } -// A collection of EULA acceptances. +// type AcceptEulasInput struct { - // The studio ID. + // A collection of EULA IDs. // // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The EULA ID. @@ -51,6 +46,7 @@ type AcceptEulasInput struct { noSmithyDocumentSerde } +// type AcceptEulasOutput struct { // A collection of EULA acceptances. @@ -107,9 +103,6 @@ func (c *Client) addOperationAcceptEulasMiddlewares(stack *middleware.Stack, opt if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opAcceptEulasMiddleware(stack, options); err != nil { - return err - } if err = addOpAcceptEulasValidationMiddleware(stack); err != nil { return err } @@ -128,39 +121,6 @@ func (c *Client) addOperationAcceptEulasMiddlewares(stack *middleware.Stack, opt return nil } -type idempotencyToken_initializeOpAcceptEulas struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpAcceptEulas) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpAcceptEulas) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*AcceptEulasInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *AcceptEulasInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opAcceptEulasMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpAcceptEulas{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opAcceptEulas(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_CreateLaunchProfile.go b/service/nimble/api_op_CreateLaunchProfile.go index d235f482505..d448256ce72 100644 --- a/service/nimble/api_op_CreateLaunchProfile.go +++ b/service/nimble/api_op_CreateLaunchProfile.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,9 +27,12 @@ func (c *Client) CreateLaunchProfile(ctx context.Context, params *CreateLaunchPr return out, nil } -// A collection of launch profiles. +// type CreateLaunchProfileInput struct { + // Specifies the IDs of the EC2 subnets where streaming sessions will be accessible + // from. These subnets must support the specified instance types. + // // This member is required. Ec2SubnetIds []string @@ -61,13 +63,9 @@ type CreateLaunchProfileInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The description. @@ -80,6 +78,7 @@ type CreateLaunchProfileInput struct { noSmithyDocumentSerde } +// type CreateLaunchProfileOutput struct { // The launch profile. @@ -136,9 +135,6 @@ func (c *Client) addOperationCreateLaunchProfileMiddlewares(stack *middleware.St if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opCreateLaunchProfileMiddleware(stack, options); err != nil { - return err - } if err = addOpCreateLaunchProfileValidationMiddleware(stack); err != nil { return err } @@ -157,39 +153,6 @@ func (c *Client) addOperationCreateLaunchProfileMiddlewares(stack *middleware.St return nil } -type idempotencyToken_initializeOpCreateLaunchProfile struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpCreateLaunchProfile) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpCreateLaunchProfile) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*CreateLaunchProfileInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateLaunchProfileInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opCreateLaunchProfileMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpCreateLaunchProfile{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opCreateLaunchProfile(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_CreateStreamingImage.go b/service/nimble/api_op_CreateStreamingImage.go index 62e5b73c59f..af272f1778d 100644 --- a/service/nimble/api_op_CreateStreamingImage.go +++ b/service/nimble/api_op_CreateStreamingImage.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,7 +27,7 @@ func (c *Client) CreateStreamingImage(ctx context.Context, params *CreateStreami return out, nil } -// A collection of streaming images. +// type CreateStreamingImageInput struct { // The ID of an EC2 machine image with which to create this streaming image. @@ -46,13 +45,9 @@ type CreateStreamingImageInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // A human-readable description of the streaming image. @@ -65,7 +60,10 @@ type CreateStreamingImageInput struct { noSmithyDocumentSerde } +// type CreateStreamingImageOutput struct { + + // The streaming image. StreamingImage *types.StreamingImage // Metadata pertaining to the operation's result. @@ -119,9 +117,6 @@ func (c *Client) addOperationCreateStreamingImageMiddlewares(stack *middleware.S if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opCreateStreamingImageMiddleware(stack, options); err != nil { - return err - } if err = addOpCreateStreamingImageValidationMiddleware(stack); err != nil { return err } @@ -140,39 +135,6 @@ func (c *Client) addOperationCreateStreamingImageMiddlewares(stack *middleware.S return nil } -type idempotencyToken_initializeOpCreateStreamingImage struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpCreateStreamingImage) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpCreateStreamingImage) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*CreateStreamingImageInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateStreamingImageInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opCreateStreamingImageMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpCreateStreamingImage{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opCreateStreamingImage(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_CreateStreamingSession.go b/service/nimble/api_op_CreateStreamingSession.go index b3f41608bea..c86146abf6c 100644 --- a/service/nimble/api_op_CreateStreamingSession.go +++ b/service/nimble/api_op_CreateStreamingSession.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -29,7 +28,7 @@ func (c *Client) CreateStreamingSession(ctx context.Context, params *CreateStrea return out, nil } -// A collection of streaming sessions. +// type CreateStreamingSessionInput struct { // The studio ID. @@ -37,13 +36,9 @@ type CreateStreamingSessionInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The EC2 Instance type used for the streaming session. @@ -65,6 +60,7 @@ type CreateStreamingSessionInput struct { noSmithyDocumentSerde } +// type CreateStreamingSessionOutput struct { // The session. @@ -121,9 +117,6 @@ func (c *Client) addOperationCreateStreamingSessionMiddlewares(stack *middleware if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opCreateStreamingSessionMiddleware(stack, options); err != nil { - return err - } if err = addOpCreateStreamingSessionValidationMiddleware(stack); err != nil { return err } @@ -142,39 +135,6 @@ func (c *Client) addOperationCreateStreamingSessionMiddlewares(stack *middleware return nil } -type idempotencyToken_initializeOpCreateStreamingSession struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpCreateStreamingSession) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpCreateStreamingSession) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*CreateStreamingSessionInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateStreamingSessionInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opCreateStreamingSessionMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpCreateStreamingSession{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opCreateStreamingSession(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_CreateStreamingSessionStream.go b/service/nimble/api_op_CreateStreamingSessionStream.go index 1806e94dec2..ddc455eb987 100644 --- a/service/nimble/api_op_CreateStreamingSessionStream.go +++ b/service/nimble/api_op_CreateStreamingSessionStream.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -30,10 +29,10 @@ func (c *Client) CreateStreamingSessionStream(ctx context.Context, params *Creat return out, nil } -// A list collection streams. +// type CreateStreamingSessionStreamInput struct { - // The session ID. + // The streaming session ID. // // This member is required. SessionId *string @@ -43,13 +42,9 @@ type CreateStreamingSessionStreamInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The expiration time in seconds. @@ -58,6 +53,7 @@ type CreateStreamingSessionStreamInput struct { noSmithyDocumentSerde } +// type CreateStreamingSessionStreamOutput struct { // The stream. @@ -114,9 +110,6 @@ func (c *Client) addOperationCreateStreamingSessionStreamMiddlewares(stack *midd if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opCreateStreamingSessionStreamMiddleware(stack, options); err != nil { - return err - } if err = addOpCreateStreamingSessionStreamValidationMiddleware(stack); err != nil { return err } @@ -135,39 +128,6 @@ func (c *Client) addOperationCreateStreamingSessionStreamMiddlewares(stack *midd return nil } -type idempotencyToken_initializeOpCreateStreamingSessionStream struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpCreateStreamingSessionStream) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpCreateStreamingSessionStream) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*CreateStreamingSessionStreamInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateStreamingSessionStreamInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opCreateStreamingSessionStreamMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpCreateStreamingSessionStream{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opCreateStreamingSessionStream(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_CreateStudio.go b/service/nimble/api_op_CreateStudio.go index e73e7569eb3..302e35c3b89 100644 --- a/service/nimble/api_op_CreateStudio.go +++ b/service/nimble/api_op_CreateStudio.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -43,7 +42,7 @@ func (c *Client) CreateStudio(ctx context.Context, params *CreateStudioInput, op return out, nil } -// A collection of studio resources. +// type CreateStudioInput struct { // The IAM role that Studio Admins will assume when logging in to the Nimble Studio @@ -69,13 +68,9 @@ type CreateStudioInput struct { // This member is required. UserRoleArn *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The studio encryption configuration. @@ -88,6 +83,7 @@ type CreateStudioInput struct { noSmithyDocumentSerde } +// type CreateStudioOutput struct { // Information about a studio. @@ -144,9 +140,6 @@ func (c *Client) addOperationCreateStudioMiddlewares(stack *middleware.Stack, op if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opCreateStudioMiddleware(stack, options); err != nil { - return err - } if err = addOpCreateStudioValidationMiddleware(stack); err != nil { return err } @@ -165,39 +158,6 @@ func (c *Client) addOperationCreateStudioMiddlewares(stack *middleware.Stack, op return nil } -type idempotencyToken_initializeOpCreateStudio struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpCreateStudio) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpCreateStudio) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*CreateStudioInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateStudioInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opCreateStudioMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpCreateStudio{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opCreateStudio(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_CreateStudioComponent.go b/service/nimble/api_op_CreateStudioComponent.go index ddb6f0de7f4..c121e67a661 100644 --- a/service/nimble/api_op_CreateStudioComponent.go +++ b/service/nimble/api_op_CreateStudioComponent.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,7 +27,7 @@ func (c *Client) CreateStudioComponent(ctx context.Context, params *CreateStudio return out, nil } -// The studio components. +// type CreateStudioComponentInput struct { // The name for the studio component. @@ -46,13 +45,9 @@ type CreateStudioComponentInput struct { // This member is required. Type types.StudioComponentType - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The configuration of the studio component, based on component type. @@ -80,6 +75,7 @@ type CreateStudioComponentInput struct { noSmithyDocumentSerde } +// type CreateStudioComponentOutput struct { // Information about the studio component. @@ -136,9 +132,6 @@ func (c *Client) addOperationCreateStudioComponentMiddlewares(stack *middleware. if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opCreateStudioComponentMiddleware(stack, options); err != nil { - return err - } if err = addOpCreateStudioComponentValidationMiddleware(stack); err != nil { return err } @@ -157,39 +150,6 @@ func (c *Client) addOperationCreateStudioComponentMiddlewares(stack *middleware. return nil } -type idempotencyToken_initializeOpCreateStudioComponent struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpCreateStudioComponent) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpCreateStudioComponent) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*CreateStudioComponentInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateStudioComponentInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opCreateStudioComponentMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpCreateStudioComponent{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opCreateStudioComponent(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteLaunchProfile.go b/service/nimble/api_op_DeleteLaunchProfile.go index 18629d8e55d..d689a163c26 100644 --- a/service/nimble/api_op_DeleteLaunchProfile.go +++ b/service/nimble/api_op_DeleteLaunchProfile.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -30,7 +29,7 @@ func (c *Client) DeleteLaunchProfile(ctx context.Context, params *DeleteLaunchPr type DeleteLaunchProfileInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -40,18 +39,15 @@ type DeleteLaunchProfileInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteLaunchProfileOutput struct { // The launch profile. @@ -108,9 +104,6 @@ func (c *Client) addOperationDeleteLaunchProfileMiddlewares(stack *middleware.St if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteLaunchProfileMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteLaunchProfileValidationMiddleware(stack); err != nil { return err } @@ -129,39 +122,6 @@ func (c *Client) addOperationDeleteLaunchProfileMiddlewares(stack *middleware.St return nil } -type idempotencyToken_initializeOpDeleteLaunchProfile struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteLaunchProfile) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteLaunchProfile) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteLaunchProfileInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteLaunchProfileInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteLaunchProfileMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteLaunchProfile{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteLaunchProfile(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteLaunchProfileMember.go b/service/nimble/api_op_DeleteLaunchProfileMember.go index c2ddaff0ee3..ea834670719 100644 --- a/service/nimble/api_op_DeleteLaunchProfileMember.go +++ b/service/nimble/api_op_DeleteLaunchProfileMember.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/smithy-go/middleware" @@ -29,12 +28,12 @@ func (c *Client) DeleteLaunchProfileMember(ctx context.Context, params *DeleteLa type DeleteLaunchProfileMemberInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string - // The principal ID. + // The principal ID. This currently supports a Amazon Web Services SSO UserId. // // This member is required. PrincipalId *string @@ -44,18 +43,15 @@ type DeleteLaunchProfileMemberInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteLaunchProfileMemberOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -108,9 +104,6 @@ func (c *Client) addOperationDeleteLaunchProfileMemberMiddlewares(stack *middlew if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteLaunchProfileMemberMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteLaunchProfileMemberValidationMiddleware(stack); err != nil { return err } @@ -129,39 +122,6 @@ func (c *Client) addOperationDeleteLaunchProfileMemberMiddlewares(stack *middlew return nil } -type idempotencyToken_initializeOpDeleteLaunchProfileMember struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteLaunchProfileMember) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteLaunchProfileMember) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteLaunchProfileMemberInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteLaunchProfileMemberInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteLaunchProfileMemberMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteLaunchProfileMember{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteLaunchProfileMember(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteStreamingImage.go b/service/nimble/api_op_DeleteStreamingImage.go index b7143d4ac8e..40665e4c72a 100644 --- a/service/nimble/api_op_DeleteStreamingImage.go +++ b/service/nimble/api_op_DeleteStreamingImage.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -40,18 +39,15 @@ type DeleteStreamingImageInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteStreamingImageOutput struct { // The streaming image. @@ -108,9 +104,6 @@ func (c *Client) addOperationDeleteStreamingImageMiddlewares(stack *middleware.S if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteStreamingImageMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteStreamingImageValidationMiddleware(stack); err != nil { return err } @@ -129,39 +122,6 @@ func (c *Client) addOperationDeleteStreamingImageMiddlewares(stack *middleware.S return nil } -type idempotencyToken_initializeOpDeleteStreamingImage struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteStreamingImage) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteStreamingImage) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteStreamingImageInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteStreamingImageInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteStreamingImageMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteStreamingImage{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteStreamingImage(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteStreamingSession.go b/service/nimble/api_op_DeleteStreamingSession.go index c2e0f4c8f11..029c0004b55 100644 --- a/service/nimble/api_op_DeleteStreamingSession.go +++ b/service/nimble/api_op_DeleteStreamingSession.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -33,7 +32,7 @@ func (c *Client) DeleteStreamingSession(ctx context.Context, params *DeleteStrea type DeleteStreamingSessionInput struct { - // The session ID. + // The streaming session ID. // // This member is required. SessionId *string @@ -43,18 +42,15 @@ type DeleteStreamingSessionInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteStreamingSessionOutput struct { // The session. @@ -111,9 +107,6 @@ func (c *Client) addOperationDeleteStreamingSessionMiddlewares(stack *middleware if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteStreamingSessionMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteStreamingSessionValidationMiddleware(stack); err != nil { return err } @@ -132,39 +125,6 @@ func (c *Client) addOperationDeleteStreamingSessionMiddlewares(stack *middleware return nil } -type idempotencyToken_initializeOpDeleteStreamingSession struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteStreamingSession) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteStreamingSession) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteStreamingSessionInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteStreamingSessionInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteStreamingSessionMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteStreamingSession{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteStreamingSession(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteStudio.go b/service/nimble/api_op_DeleteStudio.go index b99449ce892..43047af5e4f 100644 --- a/service/nimble/api_op_DeleteStudio.go +++ b/service/nimble/api_op_DeleteStudio.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -35,21 +34,20 @@ type DeleteStudioInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteStudioOutput struct { // Information about a studio. + // + // This member is required. Studio *types.Studio // Metadata pertaining to the operation's result. @@ -103,9 +101,6 @@ func (c *Client) addOperationDeleteStudioMiddlewares(stack *middleware.Stack, op if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteStudioMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteStudioValidationMiddleware(stack); err != nil { return err } @@ -124,39 +119,6 @@ func (c *Client) addOperationDeleteStudioMiddlewares(stack *middleware.Stack, op return nil } -type idempotencyToken_initializeOpDeleteStudio struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteStudio) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteStudio) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteStudioInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteStudioInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteStudioMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteStudio{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteStudio(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteStudioComponent.go b/service/nimble/api_op_DeleteStudioComponent.go index b3a4c94a59a..f5ebbbef84d 100644 --- a/service/nimble/api_op_DeleteStudioComponent.go +++ b/service/nimble/api_op_DeleteStudioComponent.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -40,18 +39,15 @@ type DeleteStudioComponentInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteStudioComponentOutput struct { // Information about the studio component. @@ -108,9 +104,6 @@ func (c *Client) addOperationDeleteStudioComponentMiddlewares(stack *middleware. if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteStudioComponentMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteStudioComponentValidationMiddleware(stack); err != nil { return err } @@ -129,39 +122,6 @@ func (c *Client) addOperationDeleteStudioComponentMiddlewares(stack *middleware. return nil } -type idempotencyToken_initializeOpDeleteStudioComponent struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteStudioComponent) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteStudioComponent) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteStudioComponentInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteStudioComponentInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteStudioComponentMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteStudioComponent{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteStudioComponent(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_DeleteStudioMember.go b/service/nimble/api_op_DeleteStudioMember.go index 6edf21967c6..bbd8e881ed8 100644 --- a/service/nimble/api_op_DeleteStudioMember.go +++ b/service/nimble/api_op_DeleteStudioMember.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/smithy-go/middleware" @@ -29,7 +28,7 @@ func (c *Client) DeleteStudioMember(ctx context.Context, params *DeleteStudioMem type DeleteStudioMemberInput struct { - // The principal ID. + // The principal ID. This currently supports a Amazon Web Services SSO UserId. // // This member is required. PrincipalId *string @@ -39,18 +38,15 @@ type DeleteStudioMemberInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type DeleteStudioMemberOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -103,9 +99,6 @@ func (c *Client) addOperationDeleteStudioMemberMiddlewares(stack *middleware.Sta if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opDeleteStudioMemberMiddleware(stack, options); err != nil { - return err - } if err = addOpDeleteStudioMemberValidationMiddleware(stack); err != nil { return err } @@ -124,39 +117,6 @@ func (c *Client) addOperationDeleteStudioMemberMiddlewares(stack *middleware.Sta return nil } -type idempotencyToken_initializeOpDeleteStudioMember struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpDeleteStudioMember) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpDeleteStudioMember) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*DeleteStudioMemberInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *DeleteStudioMemberInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opDeleteStudioMemberMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpDeleteStudioMember{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opDeleteStudioMember(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetEula.go b/service/nimble/api_op_GetEula.go index 5f23f0bc89f..fd42fe35f83 100644 --- a/service/nimble/api_op_GetEula.go +++ b/service/nimble/api_op_GetEula.go @@ -37,6 +37,7 @@ type GetEulaInput struct { noSmithyDocumentSerde } +// type GetEulaOutput struct { // The EULA. diff --git a/service/nimble/api_op_GetLaunchProfile.go b/service/nimble/api_op_GetLaunchProfile.go index 4a95f5e6b79..339b51cb195 100644 --- a/service/nimble/api_op_GetLaunchProfile.go +++ b/service/nimble/api_op_GetLaunchProfile.go @@ -4,11 +4,16 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" "github.com/aws/smithy-go/middleware" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" + "time" ) // Get a launch profile. @@ -29,7 +34,7 @@ func (c *Client) GetLaunchProfile(ctx context.Context, params *GetLaunchProfileI type GetLaunchProfileInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -42,6 +47,7 @@ type GetLaunchProfileInput struct { noSmithyDocumentSerde } +// type GetLaunchProfileOutput struct { // The launch profile. @@ -116,6 +122,368 @@ func (c *Client) addOperationGetLaunchProfileMiddlewares(stack *middleware.Stack return nil } +// GetLaunchProfileAPIClient is a client that implements the GetLaunchProfile +// operation. +type GetLaunchProfileAPIClient interface { + GetLaunchProfile(context.Context, *GetLaunchProfileInput, ...func(*Options)) (*GetLaunchProfileOutput, error) +} + +var _ GetLaunchProfileAPIClient = (*Client)(nil) + +// LaunchProfileReadyWaiterOptions are waiter options for LaunchProfileReadyWaiter +type LaunchProfileReadyWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // LaunchProfileReadyWaiter will use default minimum delay of 5 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, LaunchProfileReadyWaiter will use default max delay of 750 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetLaunchProfileInput, *GetLaunchProfileOutput, error) (bool, error) +} + +// LaunchProfileReadyWaiter defines the waiters for LaunchProfileReady +type LaunchProfileReadyWaiter struct { + client GetLaunchProfileAPIClient + + options LaunchProfileReadyWaiterOptions +} + +// NewLaunchProfileReadyWaiter constructs a LaunchProfileReadyWaiter. +func NewLaunchProfileReadyWaiter(client GetLaunchProfileAPIClient, optFns ...func(*LaunchProfileReadyWaiterOptions)) *LaunchProfileReadyWaiter { + options := LaunchProfileReadyWaiterOptions{} + options.MinDelay = 5 * time.Second + options.MaxDelay = 750 * time.Second + options.Retryable = launchProfileReadyStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &LaunchProfileReadyWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for LaunchProfileReady waiter. The maxWaitDur is +// the maximum wait duration the waiter will wait. The maxWaitDur is required and +// must be greater than zero. +func (w *LaunchProfileReadyWaiter) Wait(ctx context.Context, params *GetLaunchProfileInput, maxWaitDur time.Duration, optFns ...func(*LaunchProfileReadyWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 750 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetLaunchProfile(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for LaunchProfileReady waiter") +} + +func launchProfileReadyStateRetryable(ctx context.Context, input *GetLaunchProfileInput, output *GetLaunchProfileOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("launchProfile.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "READY" + value, ok := pathValue.(types.LaunchProfileState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LaunchProfileState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("launchProfile.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "CREATE_FAILED" + value, ok := pathValue.(types.LaunchProfileState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LaunchProfileState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("launchProfile.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "UPDATE_FAILED" + value, ok := pathValue.(types.LaunchProfileState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LaunchProfileState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + +// LaunchProfileDeletedWaiterOptions are waiter options for +// LaunchProfileDeletedWaiter +type LaunchProfileDeletedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // LaunchProfileDeletedWaiter will use default minimum delay of 5 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, LaunchProfileDeletedWaiter will use default max delay of 750 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetLaunchProfileInput, *GetLaunchProfileOutput, error) (bool, error) +} + +// LaunchProfileDeletedWaiter defines the waiters for LaunchProfileDeleted +type LaunchProfileDeletedWaiter struct { + client GetLaunchProfileAPIClient + + options LaunchProfileDeletedWaiterOptions +} + +// NewLaunchProfileDeletedWaiter constructs a LaunchProfileDeletedWaiter. +func NewLaunchProfileDeletedWaiter(client GetLaunchProfileAPIClient, optFns ...func(*LaunchProfileDeletedWaiterOptions)) *LaunchProfileDeletedWaiter { + options := LaunchProfileDeletedWaiterOptions{} + options.MinDelay = 5 * time.Second + options.MaxDelay = 750 * time.Second + options.Retryable = launchProfileDeletedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &LaunchProfileDeletedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for LaunchProfileDeleted waiter. The maxWaitDur +// is the maximum wait duration the waiter will wait. The maxWaitDur is required +// and must be greater than zero. +func (w *LaunchProfileDeletedWaiter) Wait(ctx context.Context, params *GetLaunchProfileInput, maxWaitDur time.Duration, optFns ...func(*LaunchProfileDeletedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 750 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetLaunchProfile(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for LaunchProfileDeleted waiter") +} + +func launchProfileDeletedStateRetryable(ctx context.Context, input *GetLaunchProfileInput, output *GetLaunchProfileOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("launchProfile.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETED" + value, ok := pathValue.(types.LaunchProfileState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LaunchProfileState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("launchProfile.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETE_FAILED" + value, ok := pathValue.(types.LaunchProfileState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LaunchProfileState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetLaunchProfile(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetLaunchProfileDetails.go b/service/nimble/api_op_GetLaunchProfileDetails.go index a6b49d9126d..2db856f42be 100644 --- a/service/nimble/api_op_GetLaunchProfileDetails.go +++ b/service/nimble/api_op_GetLaunchProfileDetails.go @@ -33,7 +33,7 @@ func (c *Client) GetLaunchProfileDetails(ctx context.Context, params *GetLaunchP type GetLaunchProfileDetailsInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -46,6 +46,7 @@ type GetLaunchProfileDetailsInput struct { noSmithyDocumentSerde } +// type GetLaunchProfileDetailsOutput struct { // The launch profile. diff --git a/service/nimble/api_op_GetLaunchProfileInitialization.go b/service/nimble/api_op_GetLaunchProfileInitialization.go index 4e5576b6260..5f8b2e764b3 100644 --- a/service/nimble/api_op_GetLaunchProfileInitialization.go +++ b/service/nimble/api_op_GetLaunchProfileInitialization.go @@ -29,12 +29,12 @@ func (c *Client) GetLaunchProfileInitialization(ctx context.Context, params *Get type GetLaunchProfileInitializationInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string - // A collection of launch profile protocol versions. + // The launch profile protocol versions supported by the client. // // This member is required. LaunchProfileProtocolVersions []string @@ -44,7 +44,7 @@ type GetLaunchProfileInitializationInput struct { // This member is required. LaunchPurpose *string - // The platform. + // The platform where this Launch Profile will be used, either WINDOWS or LINUX. // // This member is required. Platform *string @@ -57,6 +57,7 @@ type GetLaunchProfileInitializationInput struct { noSmithyDocumentSerde } +// type GetLaunchProfileInitializationOutput struct { // The launch profile initialization. diff --git a/service/nimble/api_op_GetLaunchProfileMember.go b/service/nimble/api_op_GetLaunchProfileMember.go index 0844eb0ceea..7c5e5a1369a 100644 --- a/service/nimble/api_op_GetLaunchProfileMember.go +++ b/service/nimble/api_op_GetLaunchProfileMember.go @@ -29,12 +29,12 @@ func (c *Client) GetLaunchProfileMember(ctx context.Context, params *GetLaunchPr type GetLaunchProfileMemberInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string - // The principal ID. + // The principal ID. This currently supports a Amazon Web Services SSO UserId. // // This member is required. PrincipalId *string @@ -47,6 +47,7 @@ type GetLaunchProfileMemberInput struct { noSmithyDocumentSerde } +// type GetLaunchProfileMemberOutput struct { // The member. diff --git a/service/nimble/api_op_GetStreamingImage.go b/service/nimble/api_op_GetStreamingImage.go index 91705faf5db..347c671160b 100644 --- a/service/nimble/api_op_GetStreamingImage.go +++ b/service/nimble/api_op_GetStreamingImage.go @@ -4,11 +4,16 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" "github.com/aws/smithy-go/middleware" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" + "time" ) // Get streaming image. @@ -42,6 +47,7 @@ type GetStreamingImageInput struct { noSmithyDocumentSerde } +// type GetStreamingImageOutput struct { // The streaming image. @@ -116,6 +122,369 @@ func (c *Client) addOperationGetStreamingImageMiddlewares(stack *middleware.Stac return nil } +// GetStreamingImageAPIClient is a client that implements the GetStreamingImage +// operation. +type GetStreamingImageAPIClient interface { + GetStreamingImage(context.Context, *GetStreamingImageInput, ...func(*Options)) (*GetStreamingImageOutput, error) +} + +var _ GetStreamingImageAPIClient = (*Client)(nil) + +// StreamingImageReadyWaiterOptions are waiter options for +// StreamingImageReadyWaiter +type StreamingImageReadyWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StreamingImageReadyWaiter will use default minimum delay of 2 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StreamingImageReadyWaiter will use default max delay of 120 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStreamingImageInput, *GetStreamingImageOutput, error) (bool, error) +} + +// StreamingImageReadyWaiter defines the waiters for StreamingImageReady +type StreamingImageReadyWaiter struct { + client GetStreamingImageAPIClient + + options StreamingImageReadyWaiterOptions +} + +// NewStreamingImageReadyWaiter constructs a StreamingImageReadyWaiter. +func NewStreamingImageReadyWaiter(client GetStreamingImageAPIClient, optFns ...func(*StreamingImageReadyWaiterOptions)) *StreamingImageReadyWaiter { + options := StreamingImageReadyWaiterOptions{} + options.MinDelay = 2 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = streamingImageReadyStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StreamingImageReadyWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StreamingImageReady waiter. The maxWaitDur is +// the maximum wait duration the waiter will wait. The maxWaitDur is required and +// must be greater than zero. +func (w *StreamingImageReadyWaiter) Wait(ctx context.Context, params *GetStreamingImageInput, maxWaitDur time.Duration, optFns ...func(*StreamingImageReadyWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStreamingImage(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StreamingImageReady waiter") +} + +func streamingImageReadyStateRetryable(ctx context.Context, input *GetStreamingImageInput, output *GetStreamingImageOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("streamingImage.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "READY" + value, ok := pathValue.(types.StreamingImageState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingImageState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("streamingImage.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "CREATE_FAILED" + value, ok := pathValue.(types.StreamingImageState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingImageState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("streamingImage.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "UPDATE_FAILED" + value, ok := pathValue.(types.StreamingImageState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingImageState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + +// StreamingImageDeletedWaiterOptions are waiter options for +// StreamingImageDeletedWaiter +type StreamingImageDeletedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StreamingImageDeletedWaiter will use default minimum delay of 2 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StreamingImageDeletedWaiter will use default max delay of 120 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStreamingImageInput, *GetStreamingImageOutput, error) (bool, error) +} + +// StreamingImageDeletedWaiter defines the waiters for StreamingImageDeleted +type StreamingImageDeletedWaiter struct { + client GetStreamingImageAPIClient + + options StreamingImageDeletedWaiterOptions +} + +// NewStreamingImageDeletedWaiter constructs a StreamingImageDeletedWaiter. +func NewStreamingImageDeletedWaiter(client GetStreamingImageAPIClient, optFns ...func(*StreamingImageDeletedWaiterOptions)) *StreamingImageDeletedWaiter { + options := StreamingImageDeletedWaiterOptions{} + options.MinDelay = 2 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = streamingImageDeletedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StreamingImageDeletedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StreamingImageDeleted waiter. The maxWaitDur +// is the maximum wait duration the waiter will wait. The maxWaitDur is required +// and must be greater than zero. +func (w *StreamingImageDeletedWaiter) Wait(ctx context.Context, params *GetStreamingImageInput, maxWaitDur time.Duration, optFns ...func(*StreamingImageDeletedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStreamingImage(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StreamingImageDeleted waiter") +} + +func streamingImageDeletedStateRetryable(ctx context.Context, input *GetStreamingImageInput, output *GetStreamingImageOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("streamingImage.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETED" + value, ok := pathValue.(types.StreamingImageState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingImageState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("streamingImage.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETE_FAILED" + value, ok := pathValue.(types.StreamingImageState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingImageState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetStreamingImage(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetStreamingSession.go b/service/nimble/api_op_GetStreamingSession.go index 89b8821b7c9..a11eb5bf26e 100644 --- a/service/nimble/api_op_GetStreamingSession.go +++ b/service/nimble/api_op_GetStreamingSession.go @@ -4,14 +4,19 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" "github.com/aws/smithy-go/middleware" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" + "time" ) -// Gets StreamingSession resource. Invoke this operation to poll for a streaming +// Gets StreamingSession resource. anvoke this operation to poll for a streaming // session state while creating or deleting a session. func (c *Client) GetStreamingSession(ctx context.Context, params *GetStreamingSessionInput, optFns ...func(*Options)) (*GetStreamingSessionOutput, error) { if params == nil { @@ -30,7 +35,7 @@ func (c *Client) GetStreamingSession(ctx context.Context, params *GetStreamingSe type GetStreamingSessionInput struct { - // The session ID. + // The streaming session ID. // // This member is required. SessionId *string @@ -43,6 +48,7 @@ type GetStreamingSessionInput struct { noSmithyDocumentSerde } +// type GetStreamingSessionOutput struct { // The session. @@ -117,6 +123,540 @@ func (c *Client) addOperationGetStreamingSessionMiddlewares(stack *middleware.St return nil } +// GetStreamingSessionAPIClient is a client that implements the GetStreamingSession +// operation. +type GetStreamingSessionAPIClient interface { + GetStreamingSession(context.Context, *GetStreamingSessionInput, ...func(*Options)) (*GetStreamingSessionOutput, error) +} + +var _ GetStreamingSessionAPIClient = (*Client)(nil) + +// StreamingSessionReadyWaiterOptions are waiter options for +// StreamingSessionReadyWaiter +type StreamingSessionReadyWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StreamingSessionReadyWaiter will use default minimum delay of 10 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StreamingSessionReadyWaiter will use default max delay of 1800 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStreamingSessionInput, *GetStreamingSessionOutput, error) (bool, error) +} + +// StreamingSessionReadyWaiter defines the waiters for StreamingSessionReady +type StreamingSessionReadyWaiter struct { + client GetStreamingSessionAPIClient + + options StreamingSessionReadyWaiterOptions +} + +// NewStreamingSessionReadyWaiter constructs a StreamingSessionReadyWaiter. +func NewStreamingSessionReadyWaiter(client GetStreamingSessionAPIClient, optFns ...func(*StreamingSessionReadyWaiterOptions)) *StreamingSessionReadyWaiter { + options := StreamingSessionReadyWaiterOptions{} + options.MinDelay = 10 * time.Second + options.MaxDelay = 1800 * time.Second + options.Retryable = streamingSessionReadyStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StreamingSessionReadyWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StreamingSessionReady waiter. The maxWaitDur +// is the maximum wait duration the waiter will wait. The maxWaitDur is required +// and must be greater than zero. +func (w *StreamingSessionReadyWaiter) Wait(ctx context.Context, params *GetStreamingSessionInput, maxWaitDur time.Duration, optFns ...func(*StreamingSessionReadyWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 1800 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStreamingSession(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StreamingSessionReady waiter") +} + +func streamingSessionReadyStateRetryable(ctx context.Context, input *GetStreamingSessionInput, output *GetStreamingSessionOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "READY" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "CREATE_FAILED" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "START_FAILED" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + +// StreamingSessionStoppedWaiterOptions are waiter options for +// StreamingSessionStoppedWaiter +type StreamingSessionStoppedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StreamingSessionStoppedWaiter will use default minimum delay of 5 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StreamingSessionStoppedWaiter will use default max delay of 900 + // seconds. Note that MaxDelay must resolve to value greater than or equal to the + // MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStreamingSessionInput, *GetStreamingSessionOutput, error) (bool, error) +} + +// StreamingSessionStoppedWaiter defines the waiters for StreamingSessionStopped +type StreamingSessionStoppedWaiter struct { + client GetStreamingSessionAPIClient + + options StreamingSessionStoppedWaiterOptions +} + +// NewStreamingSessionStoppedWaiter constructs a StreamingSessionStoppedWaiter. +func NewStreamingSessionStoppedWaiter(client GetStreamingSessionAPIClient, optFns ...func(*StreamingSessionStoppedWaiterOptions)) *StreamingSessionStoppedWaiter { + options := StreamingSessionStoppedWaiterOptions{} + options.MinDelay = 5 * time.Second + options.MaxDelay = 900 * time.Second + options.Retryable = streamingSessionStoppedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StreamingSessionStoppedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StreamingSessionStopped waiter. The +// maxWaitDur is the maximum wait duration the waiter will wait. The maxWaitDur is +// required and must be greater than zero. +func (w *StreamingSessionStoppedWaiter) Wait(ctx context.Context, params *GetStreamingSessionInput, maxWaitDur time.Duration, optFns ...func(*StreamingSessionStoppedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 900 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStreamingSession(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StreamingSessionStopped waiter") +} + +func streamingSessionStoppedStateRetryable(ctx context.Context, input *GetStreamingSessionInput, output *GetStreamingSessionOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "STOPPED" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "STOP_FAILED" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + +// StreamingSessionDeletedWaiterOptions are waiter options for +// StreamingSessionDeletedWaiter +type StreamingSessionDeletedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StreamingSessionDeletedWaiter will use default minimum delay of 5 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StreamingSessionDeletedWaiter will use default max delay of 900 + // seconds. Note that MaxDelay must resolve to value greater than or equal to the + // MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStreamingSessionInput, *GetStreamingSessionOutput, error) (bool, error) +} + +// StreamingSessionDeletedWaiter defines the waiters for StreamingSessionDeleted +type StreamingSessionDeletedWaiter struct { + client GetStreamingSessionAPIClient + + options StreamingSessionDeletedWaiterOptions +} + +// NewStreamingSessionDeletedWaiter constructs a StreamingSessionDeletedWaiter. +func NewStreamingSessionDeletedWaiter(client GetStreamingSessionAPIClient, optFns ...func(*StreamingSessionDeletedWaiterOptions)) *StreamingSessionDeletedWaiter { + options := StreamingSessionDeletedWaiterOptions{} + options.MinDelay = 5 * time.Second + options.MaxDelay = 900 * time.Second + options.Retryable = streamingSessionDeletedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StreamingSessionDeletedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StreamingSessionDeleted waiter. The +// maxWaitDur is the maximum wait duration the waiter will wait. The maxWaitDur is +// required and must be greater than zero. +func (w *StreamingSessionDeletedWaiter) Wait(ctx context.Context, params *GetStreamingSessionInput, maxWaitDur time.Duration, optFns ...func(*StreamingSessionDeletedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 900 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStreamingSession(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StreamingSessionDeleted waiter") +} + +func streamingSessionDeletedStateRetryable(ctx context.Context, input *GetStreamingSessionInput, output *GetStreamingSessionOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETED" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("session.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETE_FAILED" + value, ok := pathValue.(types.StreamingSessionState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetStreamingSession(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetStreamingSessionStream.go b/service/nimble/api_op_GetStreamingSessionStream.go index 71dcc64b382..c0d828df3a1 100644 --- a/service/nimble/api_op_GetStreamingSessionStream.go +++ b/service/nimble/api_op_GetStreamingSessionStream.go @@ -4,11 +4,16 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" "github.com/aws/smithy-go/middleware" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" + "time" ) // Gets a StreamingSessionStream for a streaming session. Invoke this operation to @@ -32,12 +37,12 @@ func (c *Client) GetStreamingSessionStream(ctx context.Context, params *GetStrea type GetStreamingSessionStreamInput struct { - // The session ID. + // The streaming session ID. // // This member is required. SessionId *string - // The stream ID. + // The streaming session stream ID. // // This member is required. StreamId *string @@ -50,6 +55,7 @@ type GetStreamingSessionStreamInput struct { noSmithyDocumentSerde } +// type GetStreamingSessionStreamOutput struct { // The stream. @@ -124,6 +130,186 @@ func (c *Client) addOperationGetStreamingSessionStreamMiddlewares(stack *middlew return nil } +// GetStreamingSessionStreamAPIClient is a client that implements the +// GetStreamingSessionStream operation. +type GetStreamingSessionStreamAPIClient interface { + GetStreamingSessionStream(context.Context, *GetStreamingSessionStreamInput, ...func(*Options)) (*GetStreamingSessionStreamOutput, error) +} + +var _ GetStreamingSessionStreamAPIClient = (*Client)(nil) + +// StreamingSessionStreamReadyWaiterOptions are waiter options for +// StreamingSessionStreamReadyWaiter +type StreamingSessionStreamReadyWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StreamingSessionStreamReadyWaiter will use default minimum delay of 5 seconds. + // Note that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StreamingSessionStreamReadyWaiter will use default max delay of 150 + // seconds. Note that MaxDelay must resolve to value greater than or equal to the + // MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStreamingSessionStreamInput, *GetStreamingSessionStreamOutput, error) (bool, error) +} + +// StreamingSessionStreamReadyWaiter defines the waiters for +// StreamingSessionStreamReady +type StreamingSessionStreamReadyWaiter struct { + client GetStreamingSessionStreamAPIClient + + options StreamingSessionStreamReadyWaiterOptions +} + +// NewStreamingSessionStreamReadyWaiter constructs a +// StreamingSessionStreamReadyWaiter. +func NewStreamingSessionStreamReadyWaiter(client GetStreamingSessionStreamAPIClient, optFns ...func(*StreamingSessionStreamReadyWaiterOptions)) *StreamingSessionStreamReadyWaiter { + options := StreamingSessionStreamReadyWaiterOptions{} + options.MinDelay = 5 * time.Second + options.MaxDelay = 150 * time.Second + options.Retryable = streamingSessionStreamReadyStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StreamingSessionStreamReadyWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StreamingSessionStreamReady waiter. The +// maxWaitDur is the maximum wait duration the waiter will wait. The maxWaitDur is +// required and must be greater than zero. +func (w *StreamingSessionStreamReadyWaiter) Wait(ctx context.Context, params *GetStreamingSessionStreamInput, maxWaitDur time.Duration, optFns ...func(*StreamingSessionStreamReadyWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 150 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStreamingSessionStream(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StreamingSessionStreamReady waiter") +} + +func streamingSessionStreamReadyStateRetryable(ctx context.Context, input *GetStreamingSessionStreamInput, output *GetStreamingSessionStreamOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("stream.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "READY" + value, ok := pathValue.(types.StreamingSessionStreamState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionStreamState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("stream.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "CREATE_FAILED" + value, ok := pathValue.(types.StreamingSessionStreamState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StreamingSessionStreamState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetStreamingSessionStream(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetStudio.go b/service/nimble/api_op_GetStudio.go index 3a34fc66263..1030616ab83 100644 --- a/service/nimble/api_op_GetStudio.go +++ b/service/nimble/api_op_GetStudio.go @@ -4,11 +4,16 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" "github.com/aws/smithy-go/middleware" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" + "time" ) // Get a Studio resource. @@ -37,9 +42,12 @@ type GetStudioInput struct { noSmithyDocumentSerde } +// type GetStudioOutput struct { // Information about a studio. + // + // This member is required. Studio *types.Studio // Metadata pertaining to the operation's result. @@ -111,6 +119,366 @@ func (c *Client) addOperationGetStudioMiddlewares(stack *middleware.Stack, optio return nil } +// GetStudioAPIClient is a client that implements the GetStudio operation. +type GetStudioAPIClient interface { + GetStudio(context.Context, *GetStudioInput, ...func(*Options)) (*GetStudioOutput, error) +} + +var _ GetStudioAPIClient = (*Client)(nil) + +// StudioReadyWaiterOptions are waiter options for StudioReadyWaiter +type StudioReadyWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StudioReadyWaiter will use default minimum delay of 2 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StudioReadyWaiter will use default max delay of 120 seconds. Note that + // MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStudioInput, *GetStudioOutput, error) (bool, error) +} + +// StudioReadyWaiter defines the waiters for StudioReady +type StudioReadyWaiter struct { + client GetStudioAPIClient + + options StudioReadyWaiterOptions +} + +// NewStudioReadyWaiter constructs a StudioReadyWaiter. +func NewStudioReadyWaiter(client GetStudioAPIClient, optFns ...func(*StudioReadyWaiterOptions)) *StudioReadyWaiter { + options := StudioReadyWaiterOptions{} + options.MinDelay = 2 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = studioReadyStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StudioReadyWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StudioReady waiter. The maxWaitDur is the +// maximum wait duration the waiter will wait. The maxWaitDur is required and must +// be greater than zero. +func (w *StudioReadyWaiter) Wait(ctx context.Context, params *GetStudioInput, maxWaitDur time.Duration, optFns ...func(*StudioReadyWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStudio(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StudioReady waiter") +} + +func studioReadyStateRetryable(ctx context.Context, input *GetStudioInput, output *GetStudioOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("studio.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "READY" + value, ok := pathValue.(types.StudioState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("studio.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "CREATE_FAILED" + value, ok := pathValue.(types.StudioState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("studio.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "UPDATE_FAILED" + value, ok := pathValue.(types.StudioState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + +// StudioDeletedWaiterOptions are waiter options for StudioDeletedWaiter +type StudioDeletedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StudioDeletedWaiter will use default minimum delay of 2 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StudioDeletedWaiter will use default max delay of 120 seconds. Note + // that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStudioInput, *GetStudioOutput, error) (bool, error) +} + +// StudioDeletedWaiter defines the waiters for StudioDeleted +type StudioDeletedWaiter struct { + client GetStudioAPIClient + + options StudioDeletedWaiterOptions +} + +// NewStudioDeletedWaiter constructs a StudioDeletedWaiter. +func NewStudioDeletedWaiter(client GetStudioAPIClient, optFns ...func(*StudioDeletedWaiterOptions)) *StudioDeletedWaiter { + options := StudioDeletedWaiterOptions{} + options.MinDelay = 2 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = studioDeletedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StudioDeletedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StudioDeleted waiter. The maxWaitDur is the +// maximum wait duration the waiter will wait. The maxWaitDur is required and must +// be greater than zero. +func (w *StudioDeletedWaiter) Wait(ctx context.Context, params *GetStudioInput, maxWaitDur time.Duration, optFns ...func(*StudioDeletedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStudio(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StudioDeleted waiter") +} + +func studioDeletedStateRetryable(ctx context.Context, input *GetStudioInput, output *GetStudioOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("studio.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETED" + value, ok := pathValue.(types.StudioState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("studio.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETE_FAILED" + value, ok := pathValue.(types.StudioState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetStudio(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetStudioComponent.go b/service/nimble/api_op_GetStudioComponent.go index b61599db90c..fe154a9472c 100644 --- a/service/nimble/api_op_GetStudioComponent.go +++ b/service/nimble/api_op_GetStudioComponent.go @@ -4,11 +4,16 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" "github.com/aws/smithy-go/middleware" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" + "time" ) // Gets a studio component resource. @@ -42,6 +47,7 @@ type GetStudioComponentInput struct { noSmithyDocumentSerde } +// type GetStudioComponentOutput struct { // Information about the studio component. @@ -116,6 +122,369 @@ func (c *Client) addOperationGetStudioComponentMiddlewares(stack *middleware.Sta return nil } +// GetStudioComponentAPIClient is a client that implements the GetStudioComponent +// operation. +type GetStudioComponentAPIClient interface { + GetStudioComponent(context.Context, *GetStudioComponentInput, ...func(*Options)) (*GetStudioComponentOutput, error) +} + +var _ GetStudioComponentAPIClient = (*Client)(nil) + +// StudioComponentReadyWaiterOptions are waiter options for +// StudioComponentReadyWaiter +type StudioComponentReadyWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StudioComponentReadyWaiter will use default minimum delay of 2 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StudioComponentReadyWaiter will use default max delay of 120 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStudioComponentInput, *GetStudioComponentOutput, error) (bool, error) +} + +// StudioComponentReadyWaiter defines the waiters for StudioComponentReady +type StudioComponentReadyWaiter struct { + client GetStudioComponentAPIClient + + options StudioComponentReadyWaiterOptions +} + +// NewStudioComponentReadyWaiter constructs a StudioComponentReadyWaiter. +func NewStudioComponentReadyWaiter(client GetStudioComponentAPIClient, optFns ...func(*StudioComponentReadyWaiterOptions)) *StudioComponentReadyWaiter { + options := StudioComponentReadyWaiterOptions{} + options.MinDelay = 2 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = studioComponentReadyStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StudioComponentReadyWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StudioComponentReady waiter. The maxWaitDur +// is the maximum wait duration the waiter will wait. The maxWaitDur is required +// and must be greater than zero. +func (w *StudioComponentReadyWaiter) Wait(ctx context.Context, params *GetStudioComponentInput, maxWaitDur time.Duration, optFns ...func(*StudioComponentReadyWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStudioComponent(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StudioComponentReady waiter") +} + +func studioComponentReadyStateRetryable(ctx context.Context, input *GetStudioComponentInput, output *GetStudioComponentOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("studioComponent.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "READY" + value, ok := pathValue.(types.StudioComponentState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioComponentState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("studioComponent.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "CREATE_FAILED" + value, ok := pathValue.(types.StudioComponentState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioComponentState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("studioComponent.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "UPDATE_FAILED" + value, ok := pathValue.(types.StudioComponentState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioComponentState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + +// StudioComponentDeletedWaiterOptions are waiter options for +// StudioComponentDeletedWaiter +type StudioComponentDeletedWaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // StudioComponentDeletedWaiter will use default minimum delay of 1 seconds. Note + // that MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, StudioComponentDeletedWaiter will use default max delay of 120 seconds. + // Note that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetStudioComponentInput, *GetStudioComponentOutput, error) (bool, error) +} + +// StudioComponentDeletedWaiter defines the waiters for StudioComponentDeleted +type StudioComponentDeletedWaiter struct { + client GetStudioComponentAPIClient + + options StudioComponentDeletedWaiterOptions +} + +// NewStudioComponentDeletedWaiter constructs a StudioComponentDeletedWaiter. +func NewStudioComponentDeletedWaiter(client GetStudioComponentAPIClient, optFns ...func(*StudioComponentDeletedWaiterOptions)) *StudioComponentDeletedWaiter { + options := StudioComponentDeletedWaiterOptions{} + options.MinDelay = 1 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = studioComponentDeletedStateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &StudioComponentDeletedWaiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for StudioComponentDeleted waiter. The maxWaitDur +// is the maximum wait duration the waiter will wait. The maxWaitDur is required +// and must be greater than zero. +func (w *StudioComponentDeletedWaiter) Wait(ctx context.Context, params *GetStudioComponentInput, maxWaitDur time.Duration, optFns ...func(*StudioComponentDeletedWaiterOptions)) error { + if maxWaitDur <= 0 { + return fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetStudioComponent(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return err + } + if !retryable { + return nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return fmt.Errorf("exceeded max wait time for StudioComponentDeleted waiter") +} + +func studioComponentDeletedStateRetryable(ctx context.Context, input *GetStudioComponentInput, output *GetStudioComponentOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("studioComponent.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETED" + value, ok := pathValue.(types.StudioComponentState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioComponentState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("studioComponent.state", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "DELETE_FAILED" + value, ok := pathValue.(types.StudioComponentState) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.StudioComponentState value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetStudioComponent(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_GetStudioMember.go b/service/nimble/api_op_GetStudioMember.go index fc4a313d717..75710d71fb3 100644 --- a/service/nimble/api_op_GetStudioMember.go +++ b/service/nimble/api_op_GetStudioMember.go @@ -29,7 +29,7 @@ func (c *Client) GetStudioMember(ctx context.Context, params *GetStudioMemberInp type GetStudioMemberInput struct { - // The principal ID. + // The principal ID. This currently supports a Amazon Web Services SSO UserId. // // This member is required. PrincipalId *string @@ -42,6 +42,7 @@ type GetStudioMemberInput struct { noSmithyDocumentSerde } +// type GetStudioMemberOutput struct { // The member. diff --git a/service/nimble/api_op_ListEulaAcceptances.go b/service/nimble/api_op_ListEulaAcceptances.go index 5830804e050..d32d60ac6ce 100644 --- a/service/nimble/api_op_ListEulaAcceptances.go +++ b/service/nimble/api_op_ListEulaAcceptances.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -34,15 +35,16 @@ type ListEulaAcceptancesInput struct { // This member is required. StudioId *string - // A collection of EULA IDs. + // The list of EULA IDs that have been previously accepted. EulaIds []string - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string noSmithyDocumentSerde } +// type ListEulaAcceptancesOutput struct { // A collection of EULA acceptances. @@ -120,6 +122,81 @@ func (c *Client) addOperationListEulaAcceptancesMiddlewares(stack *middleware.St return nil } +// ListEulaAcceptancesAPIClient is a client that implements the ListEulaAcceptances +// operation. +type ListEulaAcceptancesAPIClient interface { + ListEulaAcceptances(context.Context, *ListEulaAcceptancesInput, ...func(*Options)) (*ListEulaAcceptancesOutput, error) +} + +var _ ListEulaAcceptancesAPIClient = (*Client)(nil) + +// ListEulaAcceptancesPaginatorOptions is the paginator options for +// ListEulaAcceptances +type ListEulaAcceptancesPaginatorOptions struct { + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListEulaAcceptancesPaginator is a paginator for ListEulaAcceptances +type ListEulaAcceptancesPaginator struct { + options ListEulaAcceptancesPaginatorOptions + client ListEulaAcceptancesAPIClient + params *ListEulaAcceptancesInput + nextToken *string + firstPage bool +} + +// NewListEulaAcceptancesPaginator returns a new ListEulaAcceptancesPaginator +func NewListEulaAcceptancesPaginator(client ListEulaAcceptancesAPIClient, params *ListEulaAcceptancesInput, optFns ...func(*ListEulaAcceptancesPaginatorOptions)) *ListEulaAcceptancesPaginator { + if params == nil { + params = &ListEulaAcceptancesInput{} + } + + options := ListEulaAcceptancesPaginatorOptions{} + + for _, fn := range optFns { + fn(&options) + } + + return &ListEulaAcceptancesPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListEulaAcceptancesPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListEulaAcceptances page. +func (p *ListEulaAcceptancesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListEulaAcceptancesOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + result, err := p.client.ListEulaAcceptances(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListEulaAcceptances(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListEulas.go b/service/nimble/api_op_ListEulas.go index d76730f6699..34d804cf796 100644 --- a/service/nimble/api_op_ListEulas.go +++ b/service/nimble/api_op_ListEulas.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -29,15 +30,16 @@ func (c *Client) ListEulas(ctx context.Context, params *ListEulasInput, optFns . type ListEulasInput struct { - // A collection of EULA IDs. + // The list of EULA IDs that should be returned EulaIds []string - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string noSmithyDocumentSerde } +// type ListEulasOutput struct { // A collection of EULA resources. @@ -112,6 +114,79 @@ func (c *Client) addOperationListEulasMiddlewares(stack *middleware.Stack, optio return nil } +// ListEulasAPIClient is a client that implements the ListEulas operation. +type ListEulasAPIClient interface { + ListEulas(context.Context, *ListEulasInput, ...func(*Options)) (*ListEulasOutput, error) +} + +var _ ListEulasAPIClient = (*Client)(nil) + +// ListEulasPaginatorOptions is the paginator options for ListEulas +type ListEulasPaginatorOptions struct { + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListEulasPaginator is a paginator for ListEulas +type ListEulasPaginator struct { + options ListEulasPaginatorOptions + client ListEulasAPIClient + params *ListEulasInput + nextToken *string + firstPage bool +} + +// NewListEulasPaginator returns a new ListEulasPaginator +func NewListEulasPaginator(client ListEulasAPIClient, params *ListEulasInput, optFns ...func(*ListEulasPaginatorOptions)) *ListEulasPaginator { + if params == nil { + params = &ListEulasInput{} + } + + options := ListEulasPaginatorOptions{} + + for _, fn := range optFns { + fn(&options) + } + + return &ListEulasPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListEulasPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListEulas page. +func (p *ListEulasPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListEulasOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + result, err := p.client.ListEulas(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListEulas(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListLaunchProfileMembers.go b/service/nimble/api_op_ListLaunchProfileMembers.go index e8a2bfe1a1b..d229a5338aa 100644 --- a/service/nimble/api_op_ListLaunchProfileMembers.go +++ b/service/nimble/api_op_ListLaunchProfileMembers.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -29,7 +30,7 @@ func (c *Client) ListLaunchProfileMembers(ctx context.Context, params *ListLaunc type ListLaunchProfileMembersInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -39,15 +40,16 @@ type ListLaunchProfileMembersInput struct { // This member is required. StudioId *string - // The maximum number of results to be returned per request. + // The max number of results to return in the response. MaxResults int32 - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string noSmithyDocumentSerde } +// type ListLaunchProfileMembersOutput struct { // A list of members. @@ -125,6 +127,90 @@ func (c *Client) addOperationListLaunchProfileMembersMiddlewares(stack *middlewa return nil } +// ListLaunchProfileMembersAPIClient is a client that implements the +// ListLaunchProfileMembers operation. +type ListLaunchProfileMembersAPIClient interface { + ListLaunchProfileMembers(context.Context, *ListLaunchProfileMembersInput, ...func(*Options)) (*ListLaunchProfileMembersOutput, error) +} + +var _ ListLaunchProfileMembersAPIClient = (*Client)(nil) + +// ListLaunchProfileMembersPaginatorOptions is the paginator options for +// ListLaunchProfileMembers +type ListLaunchProfileMembersPaginatorOptions struct { + // The max number of results to return in the response. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListLaunchProfileMembersPaginator is a paginator for ListLaunchProfileMembers +type ListLaunchProfileMembersPaginator struct { + options ListLaunchProfileMembersPaginatorOptions + client ListLaunchProfileMembersAPIClient + params *ListLaunchProfileMembersInput + nextToken *string + firstPage bool +} + +// NewListLaunchProfileMembersPaginator returns a new +// ListLaunchProfileMembersPaginator +func NewListLaunchProfileMembersPaginator(client ListLaunchProfileMembersAPIClient, params *ListLaunchProfileMembersInput, optFns ...func(*ListLaunchProfileMembersPaginatorOptions)) *ListLaunchProfileMembersPaginator { + if params == nil { + params = &ListLaunchProfileMembersInput{} + } + + options := ListLaunchProfileMembersPaginatorOptions{} + if params.MaxResults != 0 { + options.Limit = params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListLaunchProfileMembersPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListLaunchProfileMembersPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListLaunchProfileMembers page. +func (p *ListLaunchProfileMembersPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListLaunchProfileMembersOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + params.MaxResults = p.options.Limit + + result, err := p.client.ListLaunchProfileMembers(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListLaunchProfileMembers(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListLaunchProfiles.go b/service/nimble/api_op_ListLaunchProfiles.go index addfbca3653..719361bb021 100644 --- a/service/nimble/api_op_ListLaunchProfiles.go +++ b/service/nimble/api_op_ListLaunchProfiles.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -34,21 +35,22 @@ type ListLaunchProfilesInput struct { // This member is required. StudioId *string - // The maximum number of results to be returned per request. + // The max number of results to return in the response. MaxResults int32 - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string - // The principal ID. + // The principal ID. This currently supports a Amazon Web Services SSO UserId. PrincipalId *string - // A list of states. + // Filter this request to launch profiles in any of the given states. States []string noSmithyDocumentSerde } +// type ListLaunchProfilesOutput struct { // A collection of launch profiles. @@ -126,6 +128,89 @@ func (c *Client) addOperationListLaunchProfilesMiddlewares(stack *middleware.Sta return nil } +// ListLaunchProfilesAPIClient is a client that implements the ListLaunchProfiles +// operation. +type ListLaunchProfilesAPIClient interface { + ListLaunchProfiles(context.Context, *ListLaunchProfilesInput, ...func(*Options)) (*ListLaunchProfilesOutput, error) +} + +var _ ListLaunchProfilesAPIClient = (*Client)(nil) + +// ListLaunchProfilesPaginatorOptions is the paginator options for +// ListLaunchProfiles +type ListLaunchProfilesPaginatorOptions struct { + // The max number of results to return in the response. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListLaunchProfilesPaginator is a paginator for ListLaunchProfiles +type ListLaunchProfilesPaginator struct { + options ListLaunchProfilesPaginatorOptions + client ListLaunchProfilesAPIClient + params *ListLaunchProfilesInput + nextToken *string + firstPage bool +} + +// NewListLaunchProfilesPaginator returns a new ListLaunchProfilesPaginator +func NewListLaunchProfilesPaginator(client ListLaunchProfilesAPIClient, params *ListLaunchProfilesInput, optFns ...func(*ListLaunchProfilesPaginatorOptions)) *ListLaunchProfilesPaginator { + if params == nil { + params = &ListLaunchProfilesInput{} + } + + options := ListLaunchProfilesPaginatorOptions{} + if params.MaxResults != 0 { + options.Limit = params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListLaunchProfilesPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListLaunchProfilesPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListLaunchProfiles page. +func (p *ListLaunchProfilesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListLaunchProfilesOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + params.MaxResults = p.options.Limit + + result, err := p.client.ListLaunchProfiles(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListLaunchProfiles(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListStreamingImages.go b/service/nimble/api_op_ListStreamingImages.go index 1636f410122..9b990323424 100644 --- a/service/nimble/api_op_ListStreamingImages.go +++ b/service/nimble/api_op_ListStreamingImages.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -36,15 +37,16 @@ type ListStreamingImagesInput struct { // This member is required. StudioId *string - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string - // The owner. + // Filter this request to streaming images with the given owner Owner *string noSmithyDocumentSerde } +// type ListStreamingImagesOutput struct { // The token for the next set of results, or null if there are no more results. @@ -122,6 +124,81 @@ func (c *Client) addOperationListStreamingImagesMiddlewares(stack *middleware.St return nil } +// ListStreamingImagesAPIClient is a client that implements the ListStreamingImages +// operation. +type ListStreamingImagesAPIClient interface { + ListStreamingImages(context.Context, *ListStreamingImagesInput, ...func(*Options)) (*ListStreamingImagesOutput, error) +} + +var _ ListStreamingImagesAPIClient = (*Client)(nil) + +// ListStreamingImagesPaginatorOptions is the paginator options for +// ListStreamingImages +type ListStreamingImagesPaginatorOptions struct { + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListStreamingImagesPaginator is a paginator for ListStreamingImages +type ListStreamingImagesPaginator struct { + options ListStreamingImagesPaginatorOptions + client ListStreamingImagesAPIClient + params *ListStreamingImagesInput + nextToken *string + firstPage bool +} + +// NewListStreamingImagesPaginator returns a new ListStreamingImagesPaginator +func NewListStreamingImagesPaginator(client ListStreamingImagesAPIClient, params *ListStreamingImagesInput, optFns ...func(*ListStreamingImagesPaginatorOptions)) *ListStreamingImagesPaginator { + if params == nil { + params = &ListStreamingImagesInput{} + } + + options := ListStreamingImagesPaginatorOptions{} + + for _, fn := range optFns { + fn(&options) + } + + return &ListStreamingImagesPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListStreamingImagesPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListStreamingImages page. +func (p *ListStreamingImagesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListStreamingImagesOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + result, err := p.client.ListStreamingImages(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListStreamingImages(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListStreamingSessions.go b/service/nimble/api_op_ListStreamingSessions.go index 75988da612e..9b47b0bda13 100644 --- a/service/nimble/api_op_ListStreamingSessions.go +++ b/service/nimble/api_op_ListStreamingSessions.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -34,21 +35,22 @@ type ListStreamingSessionsInput struct { // This member is required. StudioId *string - // The user ID of the user that created the streaming session. + // Filters the request to streaming sessions created by the given user. CreatedBy *string - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string - // The user ID of the user that owns the streaming session. + // Filters the request to streaming session owned by the given user OwnedBy *string - // A collection of session IDs. + // Filters the request to only the provided session IDs. SessionIds *string noSmithyDocumentSerde } +// type ListStreamingSessionsOutput struct { // The token for the next set of results, or null if there are no more results. @@ -126,6 +128,81 @@ func (c *Client) addOperationListStreamingSessionsMiddlewares(stack *middleware. return nil } +// ListStreamingSessionsAPIClient is a client that implements the +// ListStreamingSessions operation. +type ListStreamingSessionsAPIClient interface { + ListStreamingSessions(context.Context, *ListStreamingSessionsInput, ...func(*Options)) (*ListStreamingSessionsOutput, error) +} + +var _ ListStreamingSessionsAPIClient = (*Client)(nil) + +// ListStreamingSessionsPaginatorOptions is the paginator options for +// ListStreamingSessions +type ListStreamingSessionsPaginatorOptions struct { + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListStreamingSessionsPaginator is a paginator for ListStreamingSessions +type ListStreamingSessionsPaginator struct { + options ListStreamingSessionsPaginatorOptions + client ListStreamingSessionsAPIClient + params *ListStreamingSessionsInput + nextToken *string + firstPage bool +} + +// NewListStreamingSessionsPaginator returns a new ListStreamingSessionsPaginator +func NewListStreamingSessionsPaginator(client ListStreamingSessionsAPIClient, params *ListStreamingSessionsInput, optFns ...func(*ListStreamingSessionsPaginatorOptions)) *ListStreamingSessionsPaginator { + if params == nil { + params = &ListStreamingSessionsInput{} + } + + options := ListStreamingSessionsPaginatorOptions{} + + for _, fn := range optFns { + fn(&options) + } + + return &ListStreamingSessionsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListStreamingSessionsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListStreamingSessions page. +func (p *ListStreamingSessionsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListStreamingSessionsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + result, err := p.client.ListStreamingSessions(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListStreamingSessions(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListStudioComponents.go b/service/nimble/api_op_ListStudioComponents.go index b62050e4a81..3060f0a16fb 100644 --- a/service/nimble/api_op_ListStudioComponents.go +++ b/service/nimble/api_op_ListStudioComponents.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -34,21 +35,22 @@ type ListStudioComponentsInput struct { // This member is required. StudioId *string - // The maximum number of results to be returned per request. + // The max number of results to return in the response. MaxResults int32 - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string - // A list of states. + // Filters the request to studio components that are in one of the given states. States []string - // The types. + // Filters the request to studio components that are of one of the given types. Types []string noSmithyDocumentSerde } +// type ListStudioComponentsOutput struct { // The token for the next set of results, or null if there are no more results. @@ -126,6 +128,89 @@ func (c *Client) addOperationListStudioComponentsMiddlewares(stack *middleware.S return nil } +// ListStudioComponentsAPIClient is a client that implements the +// ListStudioComponents operation. +type ListStudioComponentsAPIClient interface { + ListStudioComponents(context.Context, *ListStudioComponentsInput, ...func(*Options)) (*ListStudioComponentsOutput, error) +} + +var _ ListStudioComponentsAPIClient = (*Client)(nil) + +// ListStudioComponentsPaginatorOptions is the paginator options for +// ListStudioComponents +type ListStudioComponentsPaginatorOptions struct { + // The max number of results to return in the response. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListStudioComponentsPaginator is a paginator for ListStudioComponents +type ListStudioComponentsPaginator struct { + options ListStudioComponentsPaginatorOptions + client ListStudioComponentsAPIClient + params *ListStudioComponentsInput + nextToken *string + firstPage bool +} + +// NewListStudioComponentsPaginator returns a new ListStudioComponentsPaginator +func NewListStudioComponentsPaginator(client ListStudioComponentsAPIClient, params *ListStudioComponentsInput, optFns ...func(*ListStudioComponentsPaginatorOptions)) *ListStudioComponentsPaginator { + if params == nil { + params = &ListStudioComponentsInput{} + } + + options := ListStudioComponentsPaginatorOptions{} + if params.MaxResults != 0 { + options.Limit = params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListStudioComponentsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListStudioComponentsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListStudioComponents page. +func (p *ListStudioComponentsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListStudioComponentsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + params.MaxResults = p.options.Limit + + result, err := p.client.ListStudioComponents(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListStudioComponents(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListStudioMembers.go b/service/nimble/api_op_ListStudioMembers.go index 7880ff959c1..9d8bd389c8d 100644 --- a/service/nimble/api_op_ListStudioMembers.go +++ b/service/nimble/api_op_ListStudioMembers.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -34,15 +35,16 @@ type ListStudioMembersInput struct { // This member is required. StudioId *string - // The maximum number of results to be returned per request. + // The max number of results to return in the response. MaxResults int32 - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string noSmithyDocumentSerde } +// type ListStudioMembersOutput struct { // A list of members. @@ -120,6 +122,88 @@ func (c *Client) addOperationListStudioMembersMiddlewares(stack *middleware.Stac return nil } +// ListStudioMembersAPIClient is a client that implements the ListStudioMembers +// operation. +type ListStudioMembersAPIClient interface { + ListStudioMembers(context.Context, *ListStudioMembersInput, ...func(*Options)) (*ListStudioMembersOutput, error) +} + +var _ ListStudioMembersAPIClient = (*Client)(nil) + +// ListStudioMembersPaginatorOptions is the paginator options for ListStudioMembers +type ListStudioMembersPaginatorOptions struct { + // The max number of results to return in the response. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListStudioMembersPaginator is a paginator for ListStudioMembers +type ListStudioMembersPaginator struct { + options ListStudioMembersPaginatorOptions + client ListStudioMembersAPIClient + params *ListStudioMembersInput + nextToken *string + firstPage bool +} + +// NewListStudioMembersPaginator returns a new ListStudioMembersPaginator +func NewListStudioMembersPaginator(client ListStudioMembersAPIClient, params *ListStudioMembersInput, optFns ...func(*ListStudioMembersPaginatorOptions)) *ListStudioMembersPaginator { + if params == nil { + params = &ListStudioMembersInput{} + } + + options := ListStudioMembersPaginatorOptions{} + if params.MaxResults != 0 { + options.Limit = params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListStudioMembersPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListStudioMembersPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListStudioMembers page. +func (p *ListStudioMembersPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListStudioMembersOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + params.MaxResults = p.options.Limit + + result, err := p.client.ListStudioMembers(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListStudioMembers(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListStudios.go b/service/nimble/api_op_ListStudios.go index 1b77df52216..6ef8dbfa00a 100644 --- a/service/nimble/api_op_ListStudios.go +++ b/service/nimble/api_op_ListStudios.go @@ -4,6 +4,7 @@ package nimble import ( "context" + "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -30,20 +31,23 @@ func (c *Client) ListStudios(ctx context.Context, params *ListStudiosInput, optF type ListStudiosInput struct { - // The token for the next set of results, or null if there are no more results. + // The token to request the next page of results. NextToken *string noSmithyDocumentSerde } +// type ListStudiosOutput struct { - // The token for the next set of results, or null if there are no more results. - NextToken *string - // A collection of studios. + // + // This member is required. Studios []types.Studio + // The token for the next set of results, or null if there are no more results. + NextToken *string + // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -110,6 +114,79 @@ func (c *Client) addOperationListStudiosMiddlewares(stack *middleware.Stack, opt return nil } +// ListStudiosAPIClient is a client that implements the ListStudios operation. +type ListStudiosAPIClient interface { + ListStudios(context.Context, *ListStudiosInput, ...func(*Options)) (*ListStudiosOutput, error) +} + +var _ ListStudiosAPIClient = (*Client)(nil) + +// ListStudiosPaginatorOptions is the paginator options for ListStudios +type ListStudiosPaginatorOptions struct { + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListStudiosPaginator is a paginator for ListStudios +type ListStudiosPaginator struct { + options ListStudiosPaginatorOptions + client ListStudiosAPIClient + params *ListStudiosInput + nextToken *string + firstPage bool +} + +// NewListStudiosPaginator returns a new ListStudiosPaginator +func NewListStudiosPaginator(client ListStudiosAPIClient, params *ListStudiosInput, optFns ...func(*ListStudiosPaginatorOptions)) *ListStudiosPaginator { + if params == nil { + params = &ListStudiosInput{} + } + + options := ListStudiosPaginatorOptions{} + + for _, fn := range optFns { + fn(&options) + } + + return &ListStudiosPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListStudiosPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListStudios page. +func (p *ListStudiosPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListStudiosOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + result, err := p.client.ListStudios(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + func newServiceMetadataMiddleware_opListStudios(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_ListTagsForResource.go b/service/nimble/api_op_ListTagsForResource.go index f9d0e620fc1..77dcdf67405 100644 --- a/service/nimble/api_op_ListTagsForResource.go +++ b/service/nimble/api_op_ListTagsForResource.go @@ -32,7 +32,7 @@ func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForRes type ListTagsForResourceInput struct { - // The ARN of the target resource for tagging operations. + // The Amazon Resource Name (ARN) of the resource for which you want to list tags. // // This member is required. ResourceArn *string @@ -40,6 +40,7 @@ type ListTagsForResourceInput struct { noSmithyDocumentSerde } +// type ListTagsForResourceOutput struct { // A collection of labels, in the form of key:value pairs, that apply to this diff --git a/service/nimble/api_op_PutLaunchProfileMembers.go b/service/nimble/api_op_PutLaunchProfileMembers.go index 9dae8b66c7e..bdb934be597 100644 --- a/service/nimble/api_op_PutLaunchProfileMembers.go +++ b/service/nimble/api_op_PutLaunchProfileMembers.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,7 +27,7 @@ func (c *Client) PutLaunchProfileMembers(ctx context.Context, params *PutLaunchP return out, nil } -// Information about a launch profile membership. +// type PutLaunchProfileMembersInput struct { // The ID of the identity store. @@ -36,7 +35,7 @@ type PutLaunchProfileMembersInput struct { // This member is required. IdentityStoreId *string - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -51,13 +50,9 @@ type PutLaunchProfileMembersInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde @@ -115,9 +110,6 @@ func (c *Client) addOperationPutLaunchProfileMembersMiddlewares(stack *middlewar if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opPutLaunchProfileMembersMiddleware(stack, options); err != nil { - return err - } if err = addOpPutLaunchProfileMembersValidationMiddleware(stack); err != nil { return err } @@ -136,39 +128,6 @@ func (c *Client) addOperationPutLaunchProfileMembersMiddlewares(stack *middlewar return nil } -type idempotencyToken_initializeOpPutLaunchProfileMembers struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpPutLaunchProfileMembers) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpPutLaunchProfileMembers) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*PutLaunchProfileMembersInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *PutLaunchProfileMembersInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opPutLaunchProfileMembersMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpPutLaunchProfileMembers{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opPutLaunchProfileMembers(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_PutStudioMembers.go b/service/nimble/api_op_PutStudioMembers.go index 825d0a79bff..bbfb1cd5de1 100644 --- a/service/nimble/api_op_PutStudioMembers.go +++ b/service/nimble/api_op_PutStudioMembers.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,7 +27,7 @@ func (c *Client) PutStudioMembers(ctx context.Context, params *PutStudioMembersI return out, nil } -// A launch profile membership collection. +// type PutStudioMembersInput struct { // The ID of the identity store. @@ -46,18 +45,15 @@ type PutStudioMembersInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type PutStudioMembersOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -110,9 +106,6 @@ func (c *Client) addOperationPutStudioMembersMiddlewares(stack *middleware.Stack if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opPutStudioMembersMiddleware(stack, options); err != nil { - return err - } if err = addOpPutStudioMembersValidationMiddleware(stack); err != nil { return err } @@ -131,39 +124,6 @@ func (c *Client) addOperationPutStudioMembersMiddlewares(stack *middleware.Stack return nil } -type idempotencyToken_initializeOpPutStudioMembers struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpPutStudioMembers) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpPutStudioMembers) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*PutStudioMembersInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *PutStudioMembersInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opPutStudioMembersMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpPutStudioMembers{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opPutStudioMembers(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_StartStreamingSession.go b/service/nimble/api_op_StartStreamingSession.go new file mode 100644 index 00000000000..5ddb13b9c82 --- /dev/null +++ b/service/nimble/api_op_StartStreamingSession.go @@ -0,0 +1,134 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package nimble + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/nimble/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Transitions sessions from the STOPPED state into the READY state. The +// START_IN_PROGRESS state is the intermediate state between the STOPPED and READY +// states. +func (c *Client) StartStreamingSession(ctx context.Context, params *StartStreamingSessionInput, optFns ...func(*Options)) (*StartStreamingSessionOutput, error) { + if params == nil { + params = &StartStreamingSessionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartStreamingSession", params, optFns, c.addOperationStartStreamingSessionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartStreamingSessionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartStreamingSessionInput struct { + + // The streaming session ID for the StartStreamingSessionRequest. + // + // This member is required. + SessionId *string + + // The studio ID for the StartStreamingSessionRequest. + // + // This member is required. + StudioId *string + + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. + ClientToken *string + + noSmithyDocumentSerde +} + +type StartStreamingSessionOutput struct { + + // A streaming session is a virtual workstation created using a particular launch + // profile. + Session *types.StreamingSession + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStartStreamingSessionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStartStreamingSession{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartStreamingSession{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpStartStreamingSessionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartStreamingSession(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opStartStreamingSession(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "nimble", + OperationName: "StartStreamingSession", + } +} diff --git a/service/nimble/api_op_StartStudioSSOConfigurationRepair.go b/service/nimble/api_op_StartStudioSSOConfigurationRepair.go index 33589028cf0..22d94e3ba95 100644 --- a/service/nimble/api_op_StartStudioSSOConfigurationRepair.go +++ b/service/nimble/api_op_StartStudioSSOConfigurationRepair.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -12,14 +11,14 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Repairs the SSO configuration for a given studio. If the studio has a valid -// Amazon Web Services SSO configuration currently associated with it, this -// operation will fail with a validation error. If the studio does not have a valid -// Amazon Web Services SSO configuration currently associated with it, then a new -// Amazon Web Services SSO application is created for the studio and the studio is -// changed to the READY state. After the Amazon Web Services SSO application is -// repaired, you must use the Amazon Nimble Studio console to add administrators -// and users to your studio. +// Repairs the Amazon Web Services SSO configuration for a given studio. If the +// studio has a valid Amazon Web Services SSO configuration currently associated +// with it, this operation will fail with a validation error. If the studio does +// not have a valid Amazon Web Services SSO configuration currently associated with +// it, then a new Amazon Web Services SSO application is created for the studio and +// the studio is changed to the READY state. After the Amazon Web Services SSO +// application is repaired, you must use the Amazon Nimble Studio console to add +// administrators and users to your studio. func (c *Client) StartStudioSSOConfigurationRepair(ctx context.Context, params *StartStudioSSOConfigurationRepairInput, optFns ...func(*Options)) (*StartStudioSSOConfigurationRepairOutput, error) { if params == nil { params = &StartStudioSSOConfigurationRepairInput{} @@ -42,21 +41,20 @@ type StartStudioSSOConfigurationRepairInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde } +// type StartStudioSSOConfigurationRepairOutput struct { // Information about a studio. + // + // This member is required. Studio *types.Studio // Metadata pertaining to the operation's result. @@ -110,9 +108,6 @@ func (c *Client) addOperationStartStudioSSOConfigurationRepairMiddlewares(stack if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opStartStudioSSOConfigurationRepairMiddleware(stack, options); err != nil { - return err - } if err = addOpStartStudioSSOConfigurationRepairValidationMiddleware(stack); err != nil { return err } @@ -131,39 +126,6 @@ func (c *Client) addOperationStartStudioSSOConfigurationRepairMiddlewares(stack return nil } -type idempotencyToken_initializeOpStartStudioSSOConfigurationRepair struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpStartStudioSSOConfigurationRepair) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpStartStudioSSOConfigurationRepair) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*StartStudioSSOConfigurationRepairInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *StartStudioSSOConfigurationRepairInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opStartStudioSSOConfigurationRepairMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpStartStudioSSOConfigurationRepair{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opStartStudioSSOConfigurationRepair(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_StopStreamingSession.go b/service/nimble/api_op_StopStreamingSession.go new file mode 100644 index 00000000000..f666a0b917d --- /dev/null +++ b/service/nimble/api_op_StopStreamingSession.go @@ -0,0 +1,134 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package nimble + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/nimble/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Transitions sessions from the READY state into the STOPPED state. The +// STOP_IN_PROGRESS state is the intermediate state between the READY and STOPPED +// states. +func (c *Client) StopStreamingSession(ctx context.Context, params *StopStreamingSessionInput, optFns ...func(*Options)) (*StopStreamingSessionOutput, error) { + if params == nil { + params = &StopStreamingSessionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StopStreamingSession", params, optFns, c.addOperationStopStreamingSessionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StopStreamingSessionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StopStreamingSessionInput struct { + + // The streaming session ID for the StopStreamingSessionRequest. + // + // This member is required. + SessionId *string + + // The studioId for the StopStreamingSessionRequest. + // + // This member is required. + StudioId *string + + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. + ClientToken *string + + noSmithyDocumentSerde +} + +type StopStreamingSessionOutput struct { + + // A streaming session is a virtual workstation created using a particular launch + // profile. + Session *types.StreamingSession + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStopStreamingSessionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpStopStreamingSession{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStopStreamingSession{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpStopStreamingSessionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStopStreamingSession(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opStopStreamingSession(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "nimble", + OperationName: "StopStreamingSession", + } +} diff --git a/service/nimble/api_op_TagResource.go b/service/nimble/api_op_TagResource.go index 1bb00874954..b16947972e8 100644 --- a/service/nimble/api_op_TagResource.go +++ b/service/nimble/api_op_TagResource.go @@ -26,10 +26,10 @@ func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optF return out, nil } -// The ARN for the role that manages access. +// type TagResourceInput struct { - // The ARN of the target resource for tagging operations. + // The Amazon Resource Name (ARN) of the resource you want to add tags to. // // This member is required. ResourceArn *string diff --git a/service/nimble/api_op_UntagResource.go b/service/nimble/api_op_UntagResource.go index a2a3cca2d30..b1e55b3fed5 100644 --- a/service/nimble/api_op_UntagResource.go +++ b/service/nimble/api_op_UntagResource.go @@ -28,12 +28,12 @@ func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, type UntagResourceInput struct { - // The ARN of the target resource for tagging operations. + // Identifies the Amazon Resource Name(ARN) key from which you are removing tags. // // This member is required. ResourceArn *string - // An array of tag keys to delete. + // One or more tag keys. Specify only the tag keys, not the tag values. // // This member is required. TagKeys []string diff --git a/service/nimble/api_op_UpdateLaunchProfile.go b/service/nimble/api_op_UpdateLaunchProfile.go index 6682c2df0ef..35aa6399ddc 100644 --- a/service/nimble/api_op_UpdateLaunchProfile.go +++ b/service/nimble/api_op_UpdateLaunchProfile.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,10 +27,10 @@ func (c *Client) UpdateLaunchProfile(ctx context.Context, params *UpdateLaunchPr return out, nil } -// The launch profile ID. +// type UpdateLaunchProfileInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -41,13 +40,9 @@ type UpdateLaunchProfileInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The description. @@ -70,6 +65,7 @@ type UpdateLaunchProfileInput struct { noSmithyDocumentSerde } +// type UpdateLaunchProfileOutput struct { // The launch profile. @@ -126,9 +122,6 @@ func (c *Client) addOperationUpdateLaunchProfileMiddlewares(stack *middleware.St if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opUpdateLaunchProfileMiddleware(stack, options); err != nil { - return err - } if err = addOpUpdateLaunchProfileValidationMiddleware(stack); err != nil { return err } @@ -147,39 +140,6 @@ func (c *Client) addOperationUpdateLaunchProfileMiddlewares(stack *middleware.St return nil } -type idempotencyToken_initializeOpUpdateLaunchProfile struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpUpdateLaunchProfile) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpUpdateLaunchProfile) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*UpdateLaunchProfileInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *UpdateLaunchProfileInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opUpdateLaunchProfileMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpUpdateLaunchProfile{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opUpdateLaunchProfile(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_UpdateLaunchProfileMember.go b/service/nimble/api_op_UpdateLaunchProfileMember.go index 2a99fd05a86..e952dfc64a9 100644 --- a/service/nimble/api_op_UpdateLaunchProfileMember.go +++ b/service/nimble/api_op_UpdateLaunchProfileMember.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,10 +27,10 @@ func (c *Client) UpdateLaunchProfileMember(ctx context.Context, params *UpdateLa return out, nil } -// The principal ID. +// type UpdateLaunchProfileMemberInput struct { - // The launch profile ID. + // The Launch Profile ID. // // This member is required. LaunchProfileId *string @@ -41,7 +40,7 @@ type UpdateLaunchProfileMemberInput struct { // This member is required. Persona types.LaunchProfilePersona - // The principal ID. + // The principal ID. This currently supports a Amazon Web Services SSO UserId. // // This member is required. PrincipalId *string @@ -51,13 +50,9 @@ type UpdateLaunchProfileMemberInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string noSmithyDocumentSerde @@ -65,7 +60,7 @@ type UpdateLaunchProfileMemberInput struct { type UpdateLaunchProfileMemberOutput struct { - // The member. + // The updated member. Member *types.LaunchProfileMembership // Metadata pertaining to the operation's result. @@ -119,9 +114,6 @@ func (c *Client) addOperationUpdateLaunchProfileMemberMiddlewares(stack *middlew if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opUpdateLaunchProfileMemberMiddleware(stack, options); err != nil { - return err - } if err = addOpUpdateLaunchProfileMemberValidationMiddleware(stack); err != nil { return err } @@ -140,39 +132,6 @@ func (c *Client) addOperationUpdateLaunchProfileMemberMiddlewares(stack *middlew return nil } -type idempotencyToken_initializeOpUpdateLaunchProfileMember struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpUpdateLaunchProfileMember) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpUpdateLaunchProfileMember) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*UpdateLaunchProfileMemberInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *UpdateLaunchProfileMemberInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opUpdateLaunchProfileMemberMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpUpdateLaunchProfileMember{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opUpdateLaunchProfileMember(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_UpdateStreamingImage.go b/service/nimble/api_op_UpdateStreamingImage.go index 64c097313ef..81788b07120 100644 --- a/service/nimble/api_op_UpdateStreamingImage.go +++ b/service/nimble/api_op_UpdateStreamingImage.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,7 +27,7 @@ func (c *Client) UpdateStreamingImage(ctx context.Context, params *UpdateStreami return out, nil } -// The streaming image ID. +// type UpdateStreamingImageInput struct { // The streaming image ID. @@ -41,13 +40,9 @@ type UpdateStreamingImageInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The description. @@ -59,6 +54,7 @@ type UpdateStreamingImageInput struct { noSmithyDocumentSerde } +// type UpdateStreamingImageOutput struct { // @@ -115,9 +111,6 @@ func (c *Client) addOperationUpdateStreamingImageMiddlewares(stack *middleware.S if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opUpdateStreamingImageMiddleware(stack, options); err != nil { - return err - } if err = addOpUpdateStreamingImageValidationMiddleware(stack); err != nil { return err } @@ -136,39 +129,6 @@ func (c *Client) addOperationUpdateStreamingImageMiddlewares(stack *middleware.S return nil } -type idempotencyToken_initializeOpUpdateStreamingImage struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpUpdateStreamingImage) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpUpdateStreamingImage) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*UpdateStreamingImageInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *UpdateStreamingImageInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opUpdateStreamingImageMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpUpdateStreamingImage{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opUpdateStreamingImage(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_UpdateStudio.go b/service/nimble/api_op_UpdateStudio.go index 48f50bc17f1..07c6649d5f7 100644 --- a/service/nimble/api_op_UpdateStudio.go +++ b/service/nimble/api_op_UpdateStudio.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -29,7 +28,7 @@ func (c *Client) UpdateStudio(ctx context.Context, params *UpdateStudioInput, op return out, nil } -// The studio ID. +// type UpdateStudioInput struct { // The studio ID. @@ -41,13 +40,9 @@ type UpdateStudioInput struct { // portal. AdminRoleArn *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // A friendly name for the studio. @@ -60,9 +55,12 @@ type UpdateStudioInput struct { noSmithyDocumentSerde } +// type UpdateStudioOutput struct { // Information about a studio. + // + // This member is required. Studio *types.Studio // Metadata pertaining to the operation's result. @@ -116,9 +114,6 @@ func (c *Client) addOperationUpdateStudioMiddlewares(stack *middleware.Stack, op if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opUpdateStudioMiddleware(stack, options); err != nil { - return err - } if err = addOpUpdateStudioValidationMiddleware(stack); err != nil { return err } @@ -137,39 +132,6 @@ func (c *Client) addOperationUpdateStudioMiddlewares(stack *middleware.Stack, op return nil } -type idempotencyToken_initializeOpUpdateStudio struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpUpdateStudio) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpUpdateStudio) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*UpdateStudioInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *UpdateStudioInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opUpdateStudioMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpUpdateStudio{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opUpdateStudio(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/api_op_UpdateStudioComponent.go b/service/nimble/api_op_UpdateStudioComponent.go index 4f0b43c8488..424568ae411 100644 --- a/service/nimble/api_op_UpdateStudioComponent.go +++ b/service/nimble/api_op_UpdateStudioComponent.go @@ -4,7 +4,6 @@ package nimble import ( "context" - "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/nimble/types" @@ -28,7 +27,7 @@ func (c *Client) UpdateStudioComponent(ctx context.Context, params *UpdateStudio return out, nil } -// The studio component ID. +// type UpdateStudioComponentInput struct { // The studio component ID. @@ -41,13 +40,9 @@ type UpdateStudioComponentInput struct { // This member is required. StudioId *string - // To make an idempotent API request using one of these actions, specify a client - // token in the request. You should not reuse the same client token for other API - // requests. If you retry a request that completed successfully using the same - // client token and the same parameters, the retry succeeds without performing any - // further actions. If you retry a successful request using the same client token, - // but one or more of the parameters are different, the retry fails with a - // ValidationException error. + // Unique, case-sensitive identifier that you provide to ensure the idempotency of + // the request. If you don’t specify a client token, the AWS SDK automatically + // generates a client token and uses it for the request to ensure idempotency. ClientToken *string // The configuration of the studio component, based on component type. @@ -77,6 +72,7 @@ type UpdateStudioComponentInput struct { noSmithyDocumentSerde } +// type UpdateStudioComponentOutput struct { // Information about the studio component. @@ -133,9 +129,6 @@ func (c *Client) addOperationUpdateStudioComponentMiddlewares(stack *middleware. if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } - if err = addIdempotencyToken_opUpdateStudioComponentMiddleware(stack, options); err != nil { - return err - } if err = addOpUpdateStudioComponentValidationMiddleware(stack); err != nil { return err } @@ -154,39 +147,6 @@ func (c *Client) addOperationUpdateStudioComponentMiddlewares(stack *middleware. return nil } -type idempotencyToken_initializeOpUpdateStudioComponent struct { - tokenProvider IdempotencyTokenProvider -} - -func (*idempotencyToken_initializeOpUpdateStudioComponent) ID() string { - return "OperationIdempotencyTokenAutoFill" -} - -func (m *idempotencyToken_initializeOpUpdateStudioComponent) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, -) { - if m.tokenProvider == nil { - return next.HandleInitialize(ctx, in) - } - - input, ok := in.Parameters.(*UpdateStudioComponentInput) - if !ok { - return out, metadata, fmt.Errorf("expected middleware input to be of type *UpdateStudioComponentInput ") - } - - if input.ClientToken == nil { - t, err := m.tokenProvider.GetIdempotencyToken() - if err != nil { - return out, metadata, err - } - input.ClientToken = &t - } - return next.HandleInitialize(ctx, in) -} -func addIdempotencyToken_opUpdateStudioComponentMiddleware(stack *middleware.Stack, cfg Options) error { - return stack.Initialize.Add(&idempotencyToken_initializeOpUpdateStudioComponent{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) -} - func newServiceMetadataMiddleware_opUpdateStudioComponent(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/nimble/deserializers.go b/service/nimble/deserializers.go index 617881f5561..55bab5a24f8 100644 --- a/service/nimble/deserializers.go +++ b/service/nimble/deserializers.go @@ -4186,7 +4186,7 @@ func awsRestjson1_deserializeOpDocumentListEulaAcceptancesOutput(v **ListEulaAcc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -4360,7 +4360,7 @@ func awsRestjson1_deserializeOpDocumentListEulasOutput(v **ListEulasOutput, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -4534,7 +4534,7 @@ func awsRestjson1_deserializeOpDocumentListLaunchProfileMembersOutput(v **ListLa if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -4708,7 +4708,7 @@ func awsRestjson1_deserializeOpDocumentListLaunchProfilesOutput(v **ListLaunchPr if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -4877,7 +4877,7 @@ func awsRestjson1_deserializeOpDocumentListStreamingImagesOutput(v **ListStreami if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -5051,7 +5051,7 @@ func awsRestjson1_deserializeOpDocumentListStreamingSessionsOutput(v **ListStrea if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -5225,7 +5225,7 @@ func awsRestjson1_deserializeOpDocumentListStudioComponentsOutput(v **ListStudio if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -5404,7 +5404,7 @@ func awsRestjson1_deserializeOpDocumentListStudioMembersOutput(v **ListStudioMem if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -5573,7 +5573,7 @@ func awsRestjson1_deserializeOpDocumentListStudiosOutput(v **ListStudiosOutput, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.NextToken = ptr.String(jtv) } @@ -5959,6 +5959,171 @@ func awsRestjson1_deserializeOpErrorPutStudioMembers(response *smithyhttp.Respon } } +type awsRestjson1_deserializeOpStartStreamingSession struct { +} + +func (*awsRestjson1_deserializeOpStartStreamingSession) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpStartStreamingSession) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorStartStreamingSession(response, &metadata) + } + output := &StartStreamingSessionOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentStartStreamingSessionOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStartStreamingSession(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerErrorException", errorCode): + return awsRestjson1_deserializeErrorInternalServerErrorException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentStartStreamingSessionOutput(v **StartStreamingSessionOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StartStreamingSessionOutput + if *v == nil { + sv = &StartStreamingSessionOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "session": + if err := awsRestjson1_deserializeDocumentStreamingSession(&sv.Session, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpStartStudioSSOConfigurationRepair struct { } @@ -6124,6 +6289,171 @@ func awsRestjson1_deserializeOpDocumentStartStudioSSOConfigurationRepairOutput(v return nil } +type awsRestjson1_deserializeOpStopStreamingSession struct { +} + +func (*awsRestjson1_deserializeOpStopStreamingSession) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpStopStreamingSession) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorStopStreamingSession(response, &metadata) + } + output := &StopStreamingSessionOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentStopStreamingSessionOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorStopStreamingSession(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerErrorException", errorCode): + return awsRestjson1_deserializeErrorInternalServerErrorException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentStopStreamingSessionOutput(v **StopStreamingSessionOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StopStreamingSessionOutput + if *v == nil { + sv = &StopStreamingSessionOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "session": + if err := awsRestjson1_deserializeDocumentStreamingSession(&sv.Session, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpTagResource struct { } @@ -7429,7 +7759,7 @@ func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDenie if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -7443,7 +7773,7 @@ func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDenie if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } @@ -7656,7 +7986,7 @@ func awsRestjson1_deserializeDocumentComputeFarmConfiguration(v **types.ComputeF if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.ActiveDirectoryUser = ptr.String(jtv) } @@ -7665,7 +7995,7 @@ func awsRestjson1_deserializeDocumentComputeFarmConfiguration(v **types.ComputeF if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Endpoint = ptr.String(jtv) } @@ -7705,7 +8035,7 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -7719,7 +8049,7 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } @@ -7795,7 +8125,7 @@ func awsRestjson1_deserializeDocumentEula(v **types.Eula, value interface{}) err if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Content = ptr.String(jtv) } @@ -7892,7 +8222,7 @@ func awsRestjson1_deserializeDocumentEulaAcceptance(v **types.EulaAcceptance, va if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.AcceptedBy = ptr.String(jtv) } @@ -7901,7 +8231,7 @@ func awsRestjson1_deserializeDocumentEulaAcceptance(v **types.EulaAcceptance, va if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.AccepteeId = ptr.String(jtv) } @@ -7992,7 +8322,7 @@ func awsRestjson1_deserializeDocumentEulaIdList(v *[]string, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } col = jtv } @@ -8062,7 +8392,7 @@ func awsRestjson1_deserializeDocumentExceptionContext(v *map[string]string, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } parsedVal = jtv } @@ -8099,7 +8429,7 @@ func awsRestjson1_deserializeDocumentInternalServerErrorException(v **types.Inte if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -8113,7 +8443,7 @@ func awsRestjson1_deserializeDocumentInternalServerErrorException(v **types.Inte if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } @@ -8153,7 +8483,7 @@ func awsRestjson1_deserializeDocumentLaunchProfile(v **types.LaunchProfile, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Arn = ptr.String(jtv) } @@ -8175,7 +8505,7 @@ func awsRestjson1_deserializeDocumentLaunchProfile(v **types.LaunchProfile, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.CreatedBy = ptr.String(jtv) } @@ -8239,7 +8569,7 @@ func awsRestjson1_deserializeDocumentLaunchProfile(v **types.LaunchProfile, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StatusMessage = ptr.String(jtv) } @@ -8276,7 +8606,7 @@ func awsRestjson1_deserializeDocumentLaunchProfile(v **types.LaunchProfile, valu if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.UpdatedBy = ptr.String(jtv) } @@ -8426,7 +8756,7 @@ func awsRestjson1_deserializeDocumentLaunchProfileInitializationActiveDirectory( if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.DirectoryName = ptr.String(jtv) } @@ -8624,7 +8954,7 @@ func awsRestjson1_deserializeDocumentLaunchProfileMembership(v **types.LaunchPro if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.IdentityStoreId = ptr.String(jtv) } @@ -8642,11 +8972,20 @@ func awsRestjson1_deserializeDocumentLaunchProfileMembership(v **types.LaunchPro if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.PrincipalId = ptr.String(jtv) } + case "sid": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Sid = ptr.String(jtv) + } + default: _, _ = key, value @@ -8787,7 +9126,7 @@ func awsRestjson1_deserializeDocumentLaunchProfileStudioComponentIdList(v *[]str if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } col = jtv } @@ -8824,7 +9163,7 @@ func awsRestjson1_deserializeDocumentLicenseServiceConfiguration(v **types.Licen if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Endpoint = ptr.String(jtv) } @@ -8864,7 +9203,7 @@ func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.Resourc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -8878,7 +9217,7 @@ func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.Resourc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } @@ -8967,7 +9306,7 @@ func awsRestjson1_deserializeDocumentServiceQuotaExceededException(v **types.Ser if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -8981,7 +9320,7 @@ func awsRestjson1_deserializeDocumentServiceQuotaExceededException(v **types.Ser if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } @@ -9021,7 +9360,7 @@ func awsRestjson1_deserializeDocumentSharedFileSystemConfiguration(v **types.Sha if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Endpoint = ptr.String(jtv) } @@ -9030,7 +9369,7 @@ func awsRestjson1_deserializeDocumentSharedFileSystemConfiguration(v **types.Sha if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.FileSystemId = ptr.String(jtv) } @@ -9048,7 +9387,7 @@ func awsRestjson1_deserializeDocumentSharedFileSystemConfiguration(v **types.Sha if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.ShareName = ptr.String(jtv) } @@ -9120,6 +9459,19 @@ func awsRestjson1_deserializeDocumentStreamConfiguration(v **types.StreamConfigu sv.MaxSessionLengthInMinutes = int32(i64) } + case "maxStoppedSessionLengthInMinutes": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected StreamConfigurationMaxStoppedSessionLengthInMinutes to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MaxStoppedSessionLengthInMinutes = int32(i64) + } + case "streamingImageIds": if err := awsRestjson1_deserializeDocumentStreamingImageIdList(&sv.StreamingImageIds, value); err != nil { return err @@ -9160,7 +9512,7 @@ func awsRestjson1_deserializeDocumentStreamingImage(v **types.StreamingImage, va if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Arn = ptr.String(jtv) } @@ -9242,7 +9594,7 @@ func awsRestjson1_deserializeDocumentStreamingImage(v **types.StreamingImage, va if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StatusMessage = ptr.String(jtv) } @@ -9451,7 +9803,7 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Arn = ptr.String(jtv) } @@ -9473,7 +9825,7 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.CreatedBy = ptr.String(jtv) } @@ -9482,7 +9834,7 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Ec2InstanceType = ptr.String(jtv) } @@ -9491,7 +9843,7 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.LaunchProfileId = ptr.String(jtv) } @@ -9500,7 +9852,7 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.OwnedBy = ptr.String(jtv) } @@ -9514,6 +9866,28 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession sv.SessionId = ptr.String(jtv) } + case "startedAt": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value) + } + t, err := smithytime.ParseDateTime(jtv) + if err != nil { + return err + } + sv.StartedAt = ptr.Time(t) + } + + case "startedBy": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.StartedBy = ptr.String(jtv) + } + case "state": if value != nil { jtv, ok := value.(string) @@ -9536,11 +9910,46 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StatusMessage = ptr.String(jtv) } + case "stopAt": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value) + } + t, err := smithytime.ParseDateTime(jtv) + if err != nil { + return err + } + sv.StopAt = ptr.Time(t) + } + + case "stoppedAt": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Timestamp to be of type string, got %T instead", value) + } + t, err := smithytime.ParseDateTime(jtv) + if err != nil { + return err + } + sv.StoppedAt = ptr.Time(t) + } + + case "stoppedBy": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.StoppedBy = ptr.String(jtv) + } + case "streamingImageId": if value != nil { jtv, ok := value.(string) @@ -9585,7 +9994,7 @@ func awsRestjson1_deserializeDocumentStreamingSession(v **types.StreamingSession if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.UpdatedBy = ptr.String(jtv) } @@ -9672,7 +10081,7 @@ func awsRestjson1_deserializeDocumentStreamingSessionStream(v **types.StreamingS if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.CreatedBy = ptr.String(jtv) } @@ -9694,7 +10103,7 @@ func awsRestjson1_deserializeDocumentStreamingSessionStream(v **types.StreamingS if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.OwnedBy = ptr.String(jtv) } @@ -9721,7 +10130,7 @@ func awsRestjson1_deserializeDocumentStreamingSessionStream(v **types.StreamingS if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StreamId = ptr.String(jtv) } @@ -9730,7 +10139,7 @@ func awsRestjson1_deserializeDocumentStreamingSessionStream(v **types.StreamingS if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Url = ptr.String(jtv) } @@ -9770,7 +10179,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.AdminRoleArn = ptr.String(jtv) } @@ -9779,7 +10188,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Arn = ptr.String(jtv) } @@ -9819,7 +10228,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.SsoClientId = ptr.String(jtv) } @@ -9846,7 +10255,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StatusMessage = ptr.String(jtv) } @@ -9860,7 +10269,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StudioId = ptr.String(jtv) } @@ -9878,7 +10287,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StudioUrl = ptr.String(jtv) } @@ -9905,7 +10314,7 @@ func awsRestjson1_deserializeDocumentStudio(v **types.Studio, value interface{}) if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.UserRoleArn = ptr.String(jtv) } @@ -9945,7 +10354,7 @@ func awsRestjson1_deserializeDocumentStudioComponent(v **types.StudioComponent, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Arn = ptr.String(jtv) } @@ -9972,7 +10381,7 @@ func awsRestjson1_deserializeDocumentStudioComponent(v **types.StudioComponent, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.CreatedBy = ptr.String(jtv) } @@ -10032,7 +10441,7 @@ func awsRestjson1_deserializeDocumentStudioComponent(v **types.StudioComponent, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.StatusMessage = ptr.String(jtv) } @@ -10086,7 +10495,7 @@ func awsRestjson1_deserializeDocumentStudioComponent(v **types.StudioComponent, if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.UpdatedBy = ptr.String(jtv) } @@ -10395,7 +10804,7 @@ func awsRestjson1_deserializeDocumentStudioComponentSummary(v **types.StudioComp if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.CreatedBy = ptr.String(jtv) } @@ -10462,7 +10871,7 @@ func awsRestjson1_deserializeDocumentStudioComponentSummary(v **types.StudioComp if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.UpdatedBy = ptr.String(jtv) } @@ -10619,7 +11028,7 @@ func awsRestjson1_deserializeDocumentStudioMembership(v **types.StudioMembership if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.IdentityStoreId = ptr.String(jtv) } @@ -10637,11 +11046,20 @@ func awsRestjson1_deserializeDocumentStudioMembership(v **types.StudioMembership if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.PrincipalId = ptr.String(jtv) } + case "sid": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Sid = ptr.String(jtv) + } + default: _, _ = key, value @@ -10710,7 +11128,7 @@ func awsRestjson1_deserializeDocumentTags(v *map[string]string, value interface{ if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } parsedVal = jtv } @@ -10747,7 +11165,7 @@ func awsRestjson1_deserializeDocumentThrottlingException(v **types.ThrottlingExc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -10761,7 +11179,7 @@ func awsRestjson1_deserializeDocumentThrottlingException(v **types.ThrottlingExc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } @@ -10801,7 +11219,7 @@ func awsRestjson1_deserializeDocumentValidationException(v **types.ValidationExc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Code = ptr.String(jtv) } @@ -10815,7 +11233,7 @@ func awsRestjson1_deserializeDocumentValidationException(v **types.ValidationExc if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected __string to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } sv.Message = ptr.String(jtv) } diff --git a/service/nimble/doc.go b/service/nimble/doc.go index 0d2fc43677f..0bcc97b54a4 100644 --- a/service/nimble/doc.go +++ b/service/nimble/doc.go @@ -3,4 +3,9 @@ // Package nimble provides the API client, operations, and parameter types for // AmazonNimbleStudio. // +// Welcome to the Amazon Nimble Studio API reference. This API reference provides +// methods, schema, resources, parameters, and more to help you get the most out of +// Nimble Studio. Nimble Studio is a virtual studio that empowers visual effects, +// animation, and interactive content teams to create content securely within a +// scalable, private cloud service. package nimble diff --git a/service/nimble/generated.json b/service/nimble/generated.json index aa92859ca8d..dece20119b3 100644 --- a/service/nimble/generated.json +++ b/service/nimble/generated.json @@ -1,7 +1,8 @@ { "dependencies": { "github.com/aws/aws-sdk-go-v2": "v1.4.0", - "github.com/aws/smithy-go": "v1.4.0" + "github.com/aws/smithy-go": "v1.4.0", + "github.com/jmespath/go-jmespath": "v0.4.0" }, "files": [ "api_client.go", @@ -42,7 +43,9 @@ "api_op_ListTagsForResource.go", "api_op_PutLaunchProfileMembers.go", "api_op_PutStudioMembers.go", + "api_op_StartStreamingSession.go", "api_op_StartStudioSSOConfigurationRepair.go", + "api_op_StopStreamingSession.go", "api_op_TagResource.go", "api_op_UntagResource.go", "api_op_UpdateLaunchProfile.go", diff --git a/service/nimble/go.mod b/service/nimble/go.mod index 39b810bed65..2d61100e06e 100644 --- a/service/nimble/go.mod +++ b/service/nimble/go.mod @@ -5,6 +5,7 @@ go 1.15 require ( github.com/aws/aws-sdk-go-v2 v1.10.0 github.com/aws/smithy-go v1.8.1 + github.com/jmespath/go-jmespath v0.4.0 ) replace github.com/aws/aws-sdk-go-v2 => ../../ diff --git a/service/nimble/go.sum b/service/nimble/go.sum index 257a75ed532..77d11920c65 100644 --- a/service/nimble/go.sum +++ b/service/nimble/go.sum @@ -1,14 +1,20 @@ github.com/aws/smithy-go v1.8.1 h1:9Y6qxtzgEODaLNGN+oN2QvcHvKUe4jsH8w4M+8LXzGk= github.com/aws/smithy-go v1.8.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/service/nimble/internal/endpoints/endpoints.go b/service/nimble/internal/endpoints/endpoints.go index 5dc378146ae..37c92a6a3db 100644 --- a/service/nimble/internal/endpoints/endpoints.go +++ b/service/nimble/internal/endpoints/endpoints.go @@ -62,6 +62,13 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "ap-southeast-2": endpoints.Endpoint{}, + "ca-central-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "us-east-1": endpoints.Endpoint{}, + "us-west-2": endpoints.Endpoint{}, + }, }, { ID: "aws-cn", diff --git a/service/nimble/serializers.go b/service/nimble/serializers.go index ed53afb0913..dcca9107ca6 100644 --- a/service/nimble/serializers.go +++ b/service/nimble/serializers.go @@ -2899,6 +2899,78 @@ func awsRestjson1_serializeOpDocumentPutStudioMembersInput(v *PutStudioMembersIn return nil } +type awsRestjson1_serializeOpStartStreamingSession struct { +} + +func (*awsRestjson1_serializeOpStartStreamingSession) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStartStreamingSession) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StartStreamingSessionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/start") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsStartStreamingSessionInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsStartStreamingSessionInput(v *StartStreamingSessionInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ClientToken != nil && len(*v.ClientToken) > 0 { + locationName := "X-Amz-Client-Token" + encoder.SetHeader(locationName).String(*v.ClientToken) + } + + if v.SessionId == nil || len(*v.SessionId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member sessionId must not be empty")} + } + if v.SessionId != nil { + if err := encoder.SetURI("sessionId").String(*v.SessionId); err != nil { + return err + } + } + + if v.StudioId == nil || len(*v.StudioId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member studioId must not be empty")} + } + if v.StudioId != nil { + if err := encoder.SetURI("studioId").String(*v.StudioId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpStartStudioSSOConfigurationRepair struct { } @@ -2962,6 +3034,78 @@ func awsRestjson1_serializeOpHttpBindingsStartStudioSSOConfigurationRepairInput( return nil } +type awsRestjson1_serializeOpStopStreamingSession struct { +} + +func (*awsRestjson1_serializeOpStopStreamingSession) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpStopStreamingSession) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StopStreamingSessionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/stop") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsStopStreamingSessionInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsStopStreamingSessionInput(v *StopStreamingSessionInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ClientToken != nil && len(*v.ClientToken) > 0 { + locationName := "X-Amz-Client-Token" + encoder.SetHeader(locationName).String(*v.ClientToken) + } + + if v.SessionId == nil || len(*v.SessionId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member sessionId must not be empty")} + } + if v.SessionId != nil { + if err := encoder.SetURI("sessionId").String(*v.SessionId); err != nil { + return err + } + } + + if v.StudioId == nil || len(*v.StudioId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member studioId must not be empty")} + } + if v.StudioId != nil { + if err := encoder.SetURI("studioId").String(*v.StudioId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpTagResource struct { } @@ -3925,6 +4069,11 @@ func awsRestjson1_serializeDocumentStreamConfigurationCreate(v *types.StreamConf ok.Integer(v.MaxSessionLengthInMinutes) } + if v.MaxStoppedSessionLengthInMinutes != 0 { + ok := object.Key("maxStoppedSessionLengthInMinutes") + ok.Integer(v.MaxStoppedSessionLengthInMinutes) + } + if v.StreamingImageIds != nil { ok := object.Key("streamingImageIds") if err := awsRestjson1_serializeDocumentStreamingImageIdList(v.StreamingImageIds, ok); err != nil { diff --git a/service/nimble/types/enums.go b/service/nimble/types/enums.go index 3c645e4581a..b8e9f933ff6 100644 --- a/service/nimble/types/enums.go +++ b/service/nimble/types/enums.go @@ -233,6 +233,11 @@ const ( StreamingSessionStateDeleted StreamingSessionState = "DELETED" StreamingSessionStateCreateFailed StreamingSessionState = "CREATE_FAILED" StreamingSessionStateDeleteFailed StreamingSessionState = "DELETE_FAILED" + StreamingSessionStateStopInProgress StreamingSessionState = "STOP_IN_PROGRESS" + StreamingSessionStateStartInProgress StreamingSessionState = "START_IN_PROGRESS" + StreamingSessionStateStopped StreamingSessionState = "STOPPED" + StreamingSessionStateStopFailed StreamingSessionState = "STOP_FAILED" + StreamingSessionStateStartFailed StreamingSessionState = "START_FAILED" ) // Values returns all known values for StreamingSessionState. Note that this can be @@ -246,6 +251,11 @@ func (StreamingSessionState) Values() []StreamingSessionState { "DELETED", "CREATE_FAILED", "DELETE_FAILED", + "STOP_IN_PROGRESS", + "START_IN_PROGRESS", + "STOPPED", + "STOP_FAILED", + "START_FAILED", } } @@ -264,6 +274,10 @@ const ( StreamingSessionStatusCodeInitializationScriptError StreamingSessionStatusCode = "INITIALIZATION_SCRIPT_ERROR" StreamingSessionStatusCodeDecryptStreamingImageError StreamingSessionStatusCode = "DECRYPT_STREAMING_IMAGE_ERROR" StreamingSessionStatusCodeNetworkInterfaceError StreamingSessionStatusCode = "NETWORK_INTERFACE_ERROR" + StreamingSessionStatusCodeStreamingSessionStopped StreamingSessionStatusCode = "STREAMING_SESSION_STOPPED" + StreamingSessionStatusCodeStreamingSessionStarted StreamingSessionStatusCode = "STREAMING_SESSION_STARTED" + StreamingSessionStatusCodeStreamingSessionStopInProgress StreamingSessionStatusCode = "STREAMING_SESSION_STOP_IN_PROGRESS" + StreamingSessionStatusCodeStreamingSessionStartInProgress StreamingSessionStatusCode = "STREAMING_SESSION_START_IN_PROGRESS" ) // Values returns all known values for StreamingSessionStatusCode. Note that this @@ -282,6 +296,10 @@ func (StreamingSessionStatusCode) Values() []StreamingSessionStatusCode { "INITIALIZATION_SCRIPT_ERROR", "DECRYPT_STREAMING_IMAGE_ERROR", "NETWORK_INTERFACE_ERROR", + "STREAMING_SESSION_STOPPED", + "STREAMING_SESSION_STARTED", + "STREAMING_SESSION_STOP_IN_PROGRESS", + "STREAMING_SESSION_START_IN_PROGRESS", } } diff --git a/service/nimble/types/errors.go b/service/nimble/types/errors.go index 0f3eb026036..6e408bb95b1 100644 --- a/service/nimble/types/errors.go +++ b/service/nimble/types/errors.go @@ -7,6 +7,8 @@ import ( smithy "github.com/aws/smithy-go" ) +// You are not authorized to perform this operation. Check your IAM policies, and +// ensure that you are using the correct access keys. type AccessDeniedException struct { Message *string @@ -28,6 +30,7 @@ func (e *AccessDeniedException) ErrorMessage() string { func (e *AccessDeniedException) ErrorCode() string { return "AccessDeniedException" } func (e *AccessDeniedException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// Another operation is in progress. type ConflictException struct { Message *string @@ -49,6 +52,7 @@ func (e *ConflictException) ErrorMessage() string { func (e *ConflictException) ErrorCode() string { return "ConflictException" } func (e *ConflictException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// An internal error has occurred. Please retry your request. type InternalServerErrorException struct { Message *string @@ -70,6 +74,7 @@ func (e *InternalServerErrorException) ErrorMessage() string { func (e *InternalServerErrorException) ErrorCode() string { return "InternalServerErrorException" } func (e *InternalServerErrorException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } +// The specified resource could not be found. type ResourceNotFoundException struct { Message *string @@ -91,6 +96,9 @@ func (e *ResourceNotFoundException) ErrorMessage() string { func (e *ResourceNotFoundException) ErrorCode() string { return "ResourceNotFoundException" } func (e *ResourceNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// Your current quota does not allow you to perform the request action. You can +// request increases for some quotas, and other quotas cannot be increased. Please +// use AWS Service Quotas to request an increase. type ServiceQuotaExceededException struct { Message *string @@ -112,6 +120,7 @@ func (e *ServiceQuotaExceededException) ErrorMessage() string { func (e *ServiceQuotaExceededException) ErrorCode() string { return "ServiceQuotaExceededException" } func (e *ServiceQuotaExceededException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// The request throughput limit was exceeded. type ThrottlingException struct { Message *string @@ -133,6 +142,7 @@ func (e *ThrottlingException) ErrorMessage() string { func (e *ThrottlingException) ErrorCode() string { return "ThrottlingException" } func (e *ThrottlingException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// One of the parameters in the request is invalid. type ValidationException struct { Message *string diff --git a/service/nimble/types/types.go b/service/nimble/types/types.go index 758b3b21276..3a9a5fffd66 100644 --- a/service/nimble/types/types.go +++ b/service/nimble/types/types.go @@ -73,6 +73,7 @@ type Eula struct { noSmithyDocumentSerde } +// The acceptance of a EULA, required to use Amazon-provided streaming images. type EulaAcceptance struct { // The Unix epoch timestamp in seconds for when the EULA was accepted. @@ -93,6 +94,13 @@ type EulaAcceptance struct { noSmithyDocumentSerde } +// A launch profile controls your artist workforce’s access to studio components, +// like compute farms, shared file systems, managed file systems, and license +// server configurations, as well as instance types and Amazon Machine Images +// (AMIs). Studio administrators create launch profiles in the Nimble Studio +// console. Artists can use their launch profiles to launch an instance from the +// Nimble Studio portal. Each user’s launch profile defines how they can launch a +// streaming session. By default, studio admins can use all launch profiles. type LaunchProfile struct { // The ARN of the resource. @@ -149,6 +157,9 @@ type LaunchProfile struct { noSmithyDocumentSerde } +// A Launch Profile Initialization contains information required for a workstation +// or server to connect to a launch profile This includes scripts, endpoints, +// security groups, subnets, and other configuration. type LaunchProfileInitialization struct { // A LaunchProfileInitializationActiveDirectory resource. @@ -182,6 +193,7 @@ type LaunchProfileInitialization struct { noSmithyDocumentSerde } +// type LaunchProfileInitializationActiveDirectory struct { // A collection of custom attributes for an Active Directory computer. @@ -209,6 +221,7 @@ type LaunchProfileInitializationActiveDirectory struct { noSmithyDocumentSerde } +// type LaunchProfileInitializationScript struct { // The initialization script. @@ -223,6 +236,7 @@ type LaunchProfileInitializationScript struct { noSmithyDocumentSerde } +// type LaunchProfileMembership struct { // The ID of the identity store. @@ -234,6 +248,9 @@ type LaunchProfileMembership struct { // The principal ID. PrincipalId *string + // The Active Directory Security Identifier for this user, if available. + Sid *string + noSmithyDocumentSerde } @@ -248,6 +265,7 @@ type LicenseServiceConfiguration struct { noSmithyDocumentSerde } +// type NewLaunchProfileMember struct { // The persona. @@ -263,6 +281,7 @@ type NewLaunchProfileMember struct { noSmithyDocumentSerde } +// type NewStudioMember struct { // The persona. @@ -318,23 +337,44 @@ type StreamConfiguration struct { // Enable or disable the use of the system clipboard to copy and paste between the // streaming session and streaming client. + // + // This member is required. ClipboardMode StreamingClipboardMode // The EC2 instance types that users can select from when launching a streaming // session with this launch profile. + // + // This member is required. Ec2InstanceTypes []StreamingInstanceType - // The length of time, in minutes, that a streaming session can run. After this - // point, Nimble Studio automatically terminates the session. - MaxSessionLengthInMinutes int32 - // The streaming images that users can select from when launching a streaming // session with this launch profile. + // + // This member is required. StreamingImageIds []string + // The length of time, in minutes, that a streaming session can be active before it + // is stopped or terminated. After this point, Nimble Studio automatically + // terminates or stops the session. The default length of time is 690 minutes, and + // the maximum length of time is 30 days. + MaxSessionLengthInMinutes int32 + + // Integer that determines if you can start and stop your sessions and how long a + // session can stay in the STOPPED state. The default value is 0. The maximum value + // is 5760. If the value is missing or set to 0, your sessions can’t be stopped. If + // you then call StopStreamingSession, the session fails. If the time that a + // session stays in the READY state exceeds the maxSessionLengthInMinutes value, + // the session will automatically be terminated by AWS (instead of stopped). If the + // value is set to a positive number, the session can be stopped. You can call + // StopStreamingSession to stop sessions in the READY state. If the time that a + // session stays in the READY state exceeds the maxSessionLengthInMinutes value, + // the session will automatically be stopped by AWS (instead of terminated). + MaxStoppedSessionLengthInMinutes int32 + noSmithyDocumentSerde } +// Configuration for streaming workstations created using this launch profile. type StreamConfigurationCreate struct { // Enable or disable the use of the system clipboard to copy and paste between the @@ -355,13 +395,27 @@ type StreamConfigurationCreate struct { // This member is required. StreamingImageIds []string - // The length of time, in minutes, that a streaming session can run. After this - // point, Nimble Studio automatically terminates the session. + // The length of time, in minutes, that a streaming session can be active before it + // is stopped or terminated. After this point, Nimble Studio automatically + // terminates or stops the session. The default length of time is 690 minutes, and + // the maximum length of time is 30 days. MaxSessionLengthInMinutes int32 + // The length of time, in minutes, that a streaming session can be active before it + // is stopped or terminated. After this point, Nimble Studio automatically + // terminates or stops the session. The default length of time is 690 minutes, and + // the maximum length of time is 30 days. + MaxStoppedSessionLengthInMinutes int32 + noSmithyDocumentSerde } +// Represents a streaming image resource. Streaming images are used by studio users +// to select which operating system and software they want to use in a Nimble +// Studio streaming session. Amazon provides a number of streaming images that +// include popular 3rd-party software. You can create your own streaming images +// using an Amazon Elastic Compute Cloud (Amazon EC2) machine image that you create +// for this purpose. You can also include software that your users require. type StreamingImage struct { // The ARN of the resource. @@ -410,6 +464,7 @@ type StreamingImage struct { noSmithyDocumentSerde } +// Specifies how a streaming image is encrypted. type StreamingImageEncryptionConfiguration struct { // The type of KMS key that is used to encrypt studio data. @@ -423,6 +478,8 @@ type StreamingImageEncryptionConfiguration struct { noSmithyDocumentSerde } +// A streaming session is a virtual workstation created using a particular launch +// profile. type StreamingSession struct { // The ARN of the resource. @@ -446,6 +503,12 @@ type StreamingSession struct { // The session ID. SessionId *string + // The time the session entered START_IN_PROGRESS state. + StartedAt *time.Time + + // The user ID of the user that started the streaming session. + StartedBy *string + // The current state. State StreamingSessionState @@ -455,6 +518,16 @@ type StreamingSession struct { // The status message for the streaming session. StatusMessage *string + // The time the streaming session will automatically be stopped if the user doesn’t + // stop the session themselves. + StopAt *time.Time + + // The time the session entered STOP_IN_PROGRESS state. + StoppedAt *time.Time + + // The user ID of the user that stopped the streaming session. + StoppedBy *string + // The ID of the streaming image. StreamingImageId *string @@ -475,6 +548,10 @@ type StreamingSession struct { noSmithyDocumentSerde } +// A stream is an active connection to a streaming session, enabling a studio user +// to control the streaming session using a compatible client. Streaming session +// streams are compatible with the NICE DCV web client, included in the Nimble +// Studio portal, or the NICE DCV desktop client. type StreamingSessionStream struct { // The Unix epoch timestamp in seconds for when the resource was created. @@ -504,6 +581,17 @@ type StreamingSessionStream struct { noSmithyDocumentSerde } +// Represents a studio resource. A studio is the core resource used with Nimble +// Studio. You must create a studio first, before any other resource type can be +// created. All other resources you create and manage in Nimble Studio are +// contained within a studio. When creating a studio, you must provides two IAM +// roles for use with the Nimble Studio portal. These roles are assumed by your +// users when they log in to the Nimble Studio portal via Amazon Web Services SSO +// and your identity source. The user role must have the +// AmazonNimbleStudio-StudioUser managed policy attached for the portal to function +// properly. The admin role must have the AmazonNimbleStudio-StudioAdmin managed +// policy attached for the portal to function properly. Your studio roles must +// trust the identity.nimble.amazonaws.com service principal to function properly. type Studio struct { // The IAM role that studio admins assume when logging in to the Nimble Studio @@ -525,7 +613,7 @@ type Studio struct { // The Amazon Web Services SSO application client ID used to integrate with Amazon // Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble - // portal. + // Studio portal. SsoClientId *string // The current state of the studio resource. @@ -565,8 +653,15 @@ type Studio struct { noSmithyDocumentSerde } -// A network that is used by a studio’s users and workflows, including render farm, -// Active Directory, licensing, and file system. +// A studio component represents a network resource to be used by a studio's users +// and workflows. A typical studio contains studio components for each of the +// following: render farm, Active Directory, licensing, and file system. Access to +// a studio component is managed by specifying security groups for the resource, as +// well as its endpoint. A studio component also has a set of initialization +// scripts that are returned by GetLaunchProfileInitialization. These +// initialization scripts run on streaming sessions when they start. They provide +// users with flexibility in controlling how the studio resources are configured on +// a streaming session. type StudioComponent struct { // The ARN of the resource. @@ -714,6 +809,15 @@ type StudioEncryptionConfiguration struct { noSmithyDocumentSerde } +// A studio member is an association of a user from your studio identity source to +// elevated permissions that they are granted in the studio. When you add a user to +// your studio using the Nimble Studio console, they are given access to the +// studio's AWS SSO application and are given access to log in to the Nimble Studio +// portal. These users have the permissions provided by the studio's user IAM role +// and do not appear in the studio membership collection. Only studio admins appear +// in studio membership. When you add a user to studio membership with the persona +// ADMIN, upon logging in to the Nimble Studio portal, they are granted permissions +// specified by the Studio's Admin IAM role. type StudioMembership struct { // The ID of the identity store. @@ -725,6 +829,9 @@ type StudioMembership struct { // The principal ID. PrincipalId *string + // The Active Directory Security Identifier for this user, if available. + Sid *string + noSmithyDocumentSerde } diff --git a/service/nimble/validators.go b/service/nimble/validators.go index 95f19990450..ca1c500ab1c 100644 --- a/service/nimble/validators.go +++ b/service/nimble/validators.go @@ -710,6 +710,26 @@ func (m *validateOpPutStudioMembers) HandleInitialize(ctx context.Context, in mi return next.HandleInitialize(ctx, in) } +type validateOpStartStreamingSession struct { +} + +func (*validateOpStartStreamingSession) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartStreamingSession) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartStreamingSessionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartStreamingSessionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpStartStudioSSOConfigurationRepair struct { } @@ -730,6 +750,26 @@ func (m *validateOpStartStudioSSOConfigurationRepair) HandleInitialize(ctx conte return next.HandleInitialize(ctx, in) } +type validateOpStopStreamingSession struct { +} + +func (*validateOpStopStreamingSession) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStopStreamingSession) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StopStreamingSessionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStopStreamingSessionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpTagResource struct { } @@ -1010,10 +1050,18 @@ func addOpPutStudioMembersValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpPutStudioMembers{}, middleware.After) } +func addOpStartStreamingSessionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartStreamingSession{}, middleware.After) +} + func addOpStartStudioSSOConfigurationRepairValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpStartStudioSSOConfigurationRepair{}, middleware.After) } +func addOpStopStreamingSessionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStopStreamingSession{}, middleware.After) +} + func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpTagResource{}, middleware.After) } @@ -1810,6 +1858,24 @@ func validateOpPutStudioMembersInput(v *PutStudioMembersInput) error { } } +func validateOpStartStreamingSessionInput(v *StartStreamingSessionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartStreamingSessionInput"} + if v.SessionId == nil { + invalidParams.Add(smithy.NewErrParamRequired("SessionId")) + } + if v.StudioId == nil { + invalidParams.Add(smithy.NewErrParamRequired("StudioId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpStartStudioSSOConfigurationRepairInput(v *StartStudioSSOConfigurationRepairInput) error { if v == nil { return nil @@ -1825,6 +1891,24 @@ func validateOpStartStudioSSOConfigurationRepairInput(v *StartStudioSSOConfigura } } +func validateOpStopStreamingSessionInput(v *StopStreamingSessionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StopStreamingSessionInput"} + if v.SessionId == nil { + invalidParams.Add(smithy.NewErrParamRequired("SessionId")) + } + if v.StudioId == nil { + invalidParams.Add(smithy.NewErrParamRequired("StudioId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpTagResourceInput(v *TagResourceInput) error { if v == nil { return nil diff --git a/service/opensearch/internal/endpoints/endpoints.go b/service/opensearch/internal/endpoints/endpoints.go index 700277e30c2..29e030cf5ea 100644 --- a/service/opensearch/internal/endpoints/endpoints.go +++ b/service/opensearch/internal/endpoints/endpoints.go @@ -87,9 +87,33 @@ var defaultPartitions = endpoints.Partitions{ "me-south-1": endpoints.Endpoint{}, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -149,7 +173,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "es-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/quicksight/api_op_GenerateEmbedUrlForRegisteredUser.go b/service/quicksight/api_op_GenerateEmbedUrlForRegisteredUser.go index 1fe0331f24c..62ebc5aedf3 100644 --- a/service/quicksight/api_op_GenerateEmbedUrlForRegisteredUser.go +++ b/service/quicksight/api_op_GenerateEmbedUrlForRegisteredUser.go @@ -62,7 +62,8 @@ type GenerateEmbedUrlForRegisteredUserInput struct { AwsAccountId *string // The experience you are embedding. For registered users, you can embed Amazon - // QuickSight dashboards or the entire Amazon QuickSight console. + // QuickSight dashboards, the entire Amazon QuickSight console, or the Amazon + // QuickSight Q search bar. // // This member is required. ExperienceConfiguration *types.RegisteredUserEmbeddingExperienceConfiguration @@ -81,7 +82,7 @@ type GenerateEmbedUrlForRegisteredUserInput struct { type GenerateEmbedUrlForRegisteredUserOutput struct { - // The embed URL for the Amazon QuickSight dashboard or console. + // The embed URL for the Amazon QuickSight dashboard, console, or Q search bar. // // This member is required. EmbedUrl *string diff --git a/service/quicksight/serializers.go b/service/quicksight/serializers.go index df9d1c180ef..f0664599905 100644 --- a/service/quicksight/serializers.go +++ b/service/quicksight/serializers.go @@ -11458,6 +11458,13 @@ func awsRestjson1_serializeDocumentRegisteredUserEmbeddingExperienceConfiguratio } } + if v.QSearchBar != nil { + ok := object.Key("QSearchBar") + if err := awsRestjson1_serializeDocumentRegisteredUserQSearchBarEmbeddingConfiguration(v.QSearchBar, ok); err != nil { + return err + } + } + if v.QuickSightConsole != nil { ok := object.Key("QuickSightConsole") if err := awsRestjson1_serializeDocumentRegisteredUserQuickSightConsoleEmbeddingConfiguration(v.QuickSightConsole, ok); err != nil { @@ -11468,6 +11475,18 @@ func awsRestjson1_serializeDocumentRegisteredUserEmbeddingExperienceConfiguratio return nil } +func awsRestjson1_serializeDocumentRegisteredUserQSearchBarEmbeddingConfiguration(v *types.RegisteredUserQSearchBarEmbeddingConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.InitialTopicId != nil { + ok := object.Key("InitialTopicId") + ok.String(*v.InitialTopicId) + } + + return nil +} + func awsRestjson1_serializeDocumentRegisteredUserQuickSightConsoleEmbeddingConfiguration(v *types.RegisteredUserQuickSightConsoleEmbeddingConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/quicksight/types/types.go b/service/quicksight/types/types.go index 51cd44c5039..799d4054af6 100644 --- a/service/quicksight/types/types.go +++ b/service/quicksight/types/types.go @@ -1912,6 +1912,11 @@ type RegisteredUserEmbeddingExperienceConfiguration struct { // The configuration details for providing a dashboard embedding experience. Dashboard *RegisteredUserDashboardEmbeddingConfiguration + // The configuration details for embedding the Q search bar. For more information + // about embedding the Q search bar, see Embedding Overview + // (https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html). + QSearchBar *RegisteredUserQSearchBarEmbeddingConfiguration + // The configuration details for providing an Amazon QuickSight console embedding // experience. This can be used along with custom permissions to restrict access to // certain features. For more information, see Customizing Access to the Amazon @@ -1945,6 +1950,21 @@ type RegisteredUserEmbeddingExperienceConfiguration struct { noSmithyDocumentSerde } +// Information about the Q search bar embedding experience. +type RegisteredUserQSearchBarEmbeddingConfiguration struct { + + // The ID of the Q topic that you want to make the starting topic in the Q search + // bar. You can find a topic ID by navigating to the Topics pane in the Amazon + // QuickSight application and opening a topic. The ID is in the URL for the topic + // that you open. If you don't specify an initial topic, a list of all shared + // topics is shown in the Q bar for your readers. When you select an initial topic, + // you can specify whether or not readers are allowed to select other topics from + // the available ones in the list. + InitialTopicId *string + + noSmithyDocumentSerde +} + // Information about the Amazon QuickSight console that you want to embed. type RegisteredUserQuickSightConsoleEmbeddingConfiguration struct { diff --git a/service/rds/api_op_AddRoleToDBCluster.go b/service/rds/api_op_AddRoleToDBCluster.go index 9e7c2ec2ae2..40455972f74 100644 --- a/service/rds/api_op_AddRoleToDBCluster.go +++ b/service/rds/api_op_AddRoleToDBCluster.go @@ -44,7 +44,7 @@ type AddRoleToDBClusterInput struct { RoleArn *string // The name of the feature for the DB cluster that the IAM role is to be associated - // with. For the list of supported feature names, see DBEngineVersion. + // with. For information about supported feature names, see DBEngineVersion. FeatureName *string noSmithyDocumentSerde diff --git a/service/rds/api_op_AddRoleToDBInstance.go b/service/rds/api_op_AddRoleToDBInstance.go index 0fbf60f0acb..9d0cef2eae1 100644 --- a/service/rds/api_op_AddRoleToDBInstance.go +++ b/service/rds/api_op_AddRoleToDBInstance.go @@ -12,7 +12,7 @@ import ( // Associates an Amazon Web Services Identity and Access Management (IAM) role with // a DB instance. To add a role to a DB instance, the status of the DB instance -// must be available. +// must be available. This command doesn't apply to RDS Custom. func (c *Client) AddRoleToDBInstance(ctx context.Context, params *AddRoleToDBInstanceInput, optFns ...func(*Options)) (*AddRoleToDBInstanceOutput, error) { if params == nil { params = &AddRoleToDBInstanceInput{} @@ -36,7 +36,8 @@ type AddRoleToDBInstanceInput struct { DBInstanceIdentifier *string // The name of the feature for the DB instance that the IAM role is to be - // associated with. For the list of supported feature names, see DBEngineVersion. + // associated with. For information about supported feature names, see + // DBEngineVersion. // // This member is required. FeatureName *string diff --git a/service/rds/api_op_CancelExportTask.go b/service/rds/api_op_CancelExportTask.go index e40d9cebcb1..51ed3509388 100644 --- a/service/rds/api_op_CancelExportTask.go +++ b/service/rds/api_op_CancelExportTask.go @@ -71,11 +71,10 @@ type CancelExportTaskOutput struct { // snapshot. IamRoleArn *string - // The key identifier of the Amazon Web Services KMS customer master key (CMK) that - // is used to encrypt the snapshot when it's exported to Amazon S3. The Amazon Web - // Services KMS CMK identifier is its key ARN, key ID, alias ARN, or alias name. - // The IAM role used for the snapshot export must have encryption and decryption - // permissions to use this Amazon Web Services KMS CMK. + // The key identifier of the Amazon Web Services KMS key that is used to encrypt + // the snapshot when it's exported to Amazon S3. The KMS key identifier is its key + // ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export + // must have encryption and decryption permissions to use this KMS key. KmsKeyId *string // The progress of the snapshot export task as a percentage. diff --git a/service/rds/api_op_CopyDBClusterSnapshot.go b/service/rds/api_op_CopyDBClusterSnapshot.go index 5b1395beb98..9a1ec8ab9d0 100644 --- a/service/rds/api_op_CopyDBClusterSnapshot.go +++ b/service/rds/api_op_CopyDBClusterSnapshot.go @@ -36,11 +36,11 @@ import ( // copied. The pre-signed URL request must contain the following parameter // values: // -// * KmsKeyId - The Amazon Web Services KMS key identifier for the -// customer master key (CMK) to use to encrypt the copy of the DB cluster snapshot -// in the destination Amazon Web Services Region. This is the same identifier for -// both the CopyDBClusterSnapshot action that is called in the destination Amazon -// Web Services Region, and the action contained in the pre-signed URL. +// * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key +// to use to encrypt the copy of the DB cluster snapshot in the destination Amazon +// Web Services Region. This is the same identifier for both the +// CopyDBClusterSnapshot action that is called in the destination Amazon Web +// Services Region, and the action contained in the pre-signed URL. // // * // DestinationRegion - The name of the Amazon Web Services Region that the DB @@ -149,19 +149,18 @@ type CopyDBClusterSnapshotInput struct { // The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS customer master key (CMK). If you - // copy an encrypted DB cluster snapshot from your Amazon Web Services account, you - // can specify a value for KmsKeyId to encrypt the copy with a new Amazon Web - // Services KMS CMK. If you don't specify a value for KmsKeyId, then the copy of - // the DB cluster snapshot is encrypted with the same Amazon Web Services KMS key - // as the source DB cluster snapshot. If you copy an encrypted DB cluster snapshot - // that is shared from another Amazon Web Services account, then you must specify a - // value for KmsKeyId. To copy an encrypted DB cluster snapshot to another Amazon - // Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key - // identifier you want to use to encrypt the copy of the DB cluster snapshot in the - // destination Amazon Web Services Region. Amazon Web Services KMS CMKs are + // alias name for the Amazon Web Services KMS key. If you copy an encrypted DB + // cluster snapshot from your Amazon Web Services account, you can specify a value + // for KmsKeyId to encrypt the copy with a new KMS key. If you don't specify a + // value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with + // the same KMS key as the source DB cluster snapshot. If you copy an encrypted DB + // cluster snapshot that is shared from another Amazon Web Services account, then + // you must specify a value for KmsKeyId. To copy an encrypted DB cluster snapshot + // to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web + // Services KMS key identifier you want to use to encrypt the copy of the DB + // cluster snapshot in the destination Amazon Web Services Region. KMS keys are // specific to the Amazon Web Services Region that they are created in, and you - // can't use CMKs from one Amazon Web Services Region in another Amazon Web + // can't use KMS keys from one Amazon Web Services Region in another Amazon Web // Services Region. If you copy an unencrypted DB cluster snapshot and specify a // value for the KmsKeyId parameter, an error is returned. KmsKeyId *string @@ -178,22 +177,21 @@ type CopyDBClusterSnapshotInput struct { // parameter values: // // * KmsKeyId - The Amazon Web Services KMS key identifier for - // the customer master key (CMK) to use to encrypt the copy of the DB cluster - // snapshot in the destination Amazon Web Services Region. This is the same - // identifier for both the CopyDBClusterSnapshot action that is called in the - // destination Amazon Web Services Region, and the action contained in the - // pre-signed URL. - // - // * DestinationRegion - The name of the Amazon Web Services - // Region that the DB cluster snapshot is to be created in. + // the KMS key to use to encrypt the copy of the DB cluster snapshot in the + // destination Amazon Web Services Region. This is the same identifier for both the + // CopyDBClusterSnapshot action that is called in the destination Amazon Web + // Services Region, and the action contained in the pre-signed URL. // // * - // SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the - // encrypted DB cluster snapshot to be copied. This identifier must be in the - // Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For - // example, if you are copying an encrypted DB cluster snapshot from the us-west-2 - // Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier looks - // like the following example: + // DestinationRegion - The name of the Amazon Web Services Region that the DB + // cluster snapshot is to be created in. + // + // * SourceDBClusterSnapshotIdentifier - The + // DB cluster snapshot identifier for the encrypted DB cluster snapshot to be + // copied. This identifier must be in the Amazon Resource Name (ARN) format for the + // source Amazon Web Services Region. For example, if you are copying an encrypted + // DB cluster snapshot from the us-west-2 Amazon Web Services Region, then your + // SourceDBClusterSnapshotIdentifier looks like the following example: // arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. // // To diff --git a/service/rds/api_op_CopyDBSnapshot.go b/service/rds/api_op_CopyDBSnapshot.go index 1f53afba15f..47a12b6bfba 100644 --- a/service/rds/api_op_CopyDBSnapshot.go +++ b/service/rds/api_op_CopyDBSnapshot.go @@ -17,8 +17,8 @@ import ( // available state. You can copy a snapshot from one Amazon Web Services Region to // another. In that case, the Amazon Web Services Region where you call the // CopyDBSnapshot action is the destination Amazon Web Services Region for the DB -// snapshot copy. For more information about copying snapshots, see Copying a DB -// Snapshot +// snapshot copy. This command doesn't apply to RDS Custom. For more information +// about copying snapshots, see Copying a DB Snapshot // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot) // in the Amazon RDS User Guide. func (c *Client) CopyDBSnapshot(ctx context.Context, params *CopyDBSnapshotInput, optFns ...func(*Options)) (*CopyDBSnapshotOutput, error) { @@ -84,20 +84,19 @@ type CopyDBSnapshotInput struct { // The Amazon Web Services KMS key identifier for an encrypted DB snapshot. The // Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS customer master key (CMK). If you - // copy an encrypted DB snapshot from your Amazon Web Services account, you can - // specify a value for this parameter to encrypt the copy with a new Amazon Web - // Services KMS CMK. If you don't specify a value for this parameter, then the copy - // of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the - // source DB snapshot. If you copy an encrypted DB snapshot that is shared from - // another Amazon Web Services account, then you must specify a value for this - // parameter. If you specify this parameter when you copy an unencrypted snapshot, - // the copy is encrypted. If you copy an encrypted snapshot to a different Amazon - // Web Services Region, then you must specify a Amazon Web Services KMS key - // identifier for the destination Amazon Web Services Region. Amazon Web Services - // KMS CMKs are specific to the Amazon Web Services Region that they are created - // in, and you can't use CMKs from one Amazon Web Services Region in another Amazon - // Web Services Region. + // alias name for the KMS key. If you copy an encrypted DB snapshot from your + // Amazon Web Services account, you can specify a value for this parameter to + // encrypt the copy with a new KMS key. If you don't specify a value for this + // parameter, then the copy of the DB snapshot is encrypted with the same Amazon + // Web Services KMS key as the source DB snapshot. If you copy an encrypted DB + // snapshot that is shared from another Amazon Web Services account, then you must + // specify a value for this parameter. If you specify this parameter when you copy + // an unencrypted snapshot, the copy is encrypted. If you copy an encrypted + // snapshot to a different Amazon Web Services Region, then you must specify an + // Amazon Web Services KMS key identifier for the destination Amazon Web Services + // Region. KMS keys are specific to the Amazon Web Services Region that they are + // created in, and you can't use KMS keys from one Amazon Web Services Region in + // another Amazon Web Services Region. KmsKeyId *string // The name of an option group to associate with the copy of the snapshot. Specify @@ -132,18 +131,18 @@ type CopyDBSnapshotInput struct { // presigned URL must be set to the us-east-1 Amazon Web Services Region. // // * - // KmsKeyId - The Amazon Web Services KMS key identifier for the customer master - // key (CMK) to use to encrypt the copy of the DB snapshot in the destination - // Amazon Web Services Region. This is the same identifier for both the - // CopyDBSnapshot action that is called in the destination Amazon Web Services - // Region, and the action contained in the presigned URL. + // KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to + // encrypt the copy of the DB snapshot in the destination Amazon Web Services + // Region. This is the same identifier for both the CopyDBSnapshot action that is + // called in the destination Amazon Web Services Region, and the action contained + // in the presigned URL. // - // * - // SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted - // snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) - // format for the source Amazon Web Services Region. For example, if you are - // copying an encrypted DB snapshot from the us-west-2 Amazon Web Services Region, - // then your SourceDBSnapshotIdentifier looks like the following example: + // * SourceDBSnapshotIdentifier - The DB snapshot identifier + // for the encrypted snapshot to be copied. This identifier must be in the Amazon + // Resource Name (ARN) format for the source Amazon Web Services Region. For + // example, if you are copying an encrypted DB snapshot from the us-west-2 Amazon + // Web Services Region, then your SourceDBSnapshotIdentifier looks like the + // following example: // arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115. // // To diff --git a/service/rds/api_op_CreateCustomDBEngineVersion.go b/service/rds/api_op_CreateCustomDBEngineVersion.go new file mode 100644 index 00000000000..9b2dfcc087e --- /dev/null +++ b/service/rds/api_op_CreateCustomDBEngineVersion.go @@ -0,0 +1,302 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rds + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rds/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a +// database engine and specific AMI. The only supported engine is Oracle Database +// 19c Enterprise Edition with the January 2021 or later RU/RUR. For more +// information, see Amazon RDS Custom requirements and limitations +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) +// in the Amazon RDS User Guide. Amazon RDS, which is a fully managed service, +// supplies the Amazon Machine Image (AMI) and database software. The Amazon RDS +// database software is preinstalled, so you need only select a DB engine and +// version, and create your database. With Amazon RDS Custom, you upload your +// database installation files in Amazon S3. For more information, see Preparing +// to create a CEV +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.html#custom-cev.preparing) +// in the Amazon RDS User Guide. When you create a custom engine version, you +// specify the files in a JSON document called a CEV manifest. This document +// describes installation .zip files stored in Amazon S3. RDS Custom creates your +// CEV from the installation files that you provided. This service model is called +// Bring Your Own Media (BYOM). Creation takes approximately two hours. If creation +// fails, RDS Custom issues RDS-EVENT-0196 with the message Creation failed for +// custom engine version, and includes details about the failure. For example, the +// event prints missing files. After you create the CEV, it is available for use. +// You can create multiple CEVs, and create multiple RDS Custom instances from any +// CEV. You can also change the status of a CEV to make it available or inactive. +// The MediaImport service that imports files from Amazon S3 to create CEVs isn't +// integrated with Amazon Web Services CloudTrail. If you turn on data logging for +// Amazon RDS in CloudTrail, calls to the CreateCustomDbEngineVersion event aren't +// logged. However, you might see calls from the API gateway that accesses your +// Amazon S3 bucket. These calls originate from the MediaImport service for the +// CreateCustomDbEngineVersion event. For more information, see Creating a CEV +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.create) +// in the Amazon RDS User Guide. +func (c *Client) CreateCustomDBEngineVersion(ctx context.Context, params *CreateCustomDBEngineVersionInput, optFns ...func(*Options)) (*CreateCustomDBEngineVersionOutput, error) { + if params == nil { + params = &CreateCustomDBEngineVersionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateCustomDBEngineVersion", params, optFns, c.addOperationCreateCustomDBEngineVersionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateCustomDBEngineVersionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateCustomDBEngineVersionInput struct { + + // The name of an Amazon S3 bucket that contains database installation files for + // your CEV. For example, a valid bucket name is my-custom-installation-files. + // + // This member is required. + DatabaseInstallationFilesS3BucketName *string + + // The database engine to use for your custom engine version (CEV). The only + // supported value is custom-oracle-ee. + // + // This member is required. + Engine *string + + // The name of your CEV. The name format is 19.customized_string . For example, a + // valid name is 19.my_cev1. This setting is required for RDS Custom, but optional + // for Amazon RDS. The combination of Engine and EngineVersion is unique per + // customer per Region. + // + // This member is required. + EngineVersion *string + + // The Amazon Web Services KMS key identifier for an encrypted CEV. A symmetric KMS + // key is required for RDS Custom, but optional for Amazon RDS. If you have an + // existing symmetric KMS key in your account, you can use it with RDS Custom. No + // further action is necessary. If you don't already have a symmetric KMS key in + // your account, follow the instructions in Creating symmetric KMS keys + // (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) + // in the Amazon Web Services Key Management Service Developer Guide. You can + // choose the same symmetric key when you create a CEV and a DB instance, or choose + // different keys. + // + // This member is required. + KMSKeyId *string + + // The CEV manifest, which is a JSON document that describes the installation .zip + // files stored in Amazon S3. Specify the name/value pairs in a file or a quoted + // string. RDS Custom applies the patches in the order in which they are listed. + // The following JSON fields are valid: MediaImportTemplateVersion Version of the + // CEV manifest. The date is in the format YYYY-MM-DD. + // databaseInstallationFileNames Ordered list of installation files for the CEV. + // opatchFileNames Ordered list of OPatch installers used for the Oracle DB engine. + // psuRuPatchFileNames The PSU and RU patches for this CEV. OtherPatchFileNames The + // patches that are not in the list of PSU and RU patches. Amazon RDS applies these + // patches after applying the PSU and RU patches. For more information, see + // Creating the CEV manifest + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) + // in the Amazon RDS User Guide. + // + // This member is required. + Manifest *string + + // The Amazon S3 directory that contains the database installation files for your + // CEV. For example, a valid bucket name is 123456789012/cev1. If this setting + // isn't specified, no prefix is assumed. + DatabaseInstallationFilesS3Prefix *string + + // An optional description of your CEV. + Description *string + + // A list of tags. For more information, see Tagging Amazon RDS Resources + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in + // the Amazon RDS User Guide. + Tags []types.Tag + + noSmithyDocumentSerde +} + +// This data type is used as a response element in the action +// DescribeDBEngineVersions. +type CreateCustomDBEngineVersionOutput struct { + + // The creation time of the DB engine version. + CreateTime *time.Time + + // The description of the database engine. + DBEngineDescription *string + + // The ARN of the custom engine version. + DBEngineVersionArn *string + + // The description of the database engine version. + DBEngineVersionDescription *string + + // The name of the DB parameter group family for the database engine. + DBParameterGroupFamily *string + + // The name of the Amazon S3 bucket that contains your database installation files. + DatabaseInstallationFilesS3BucketName *string + + // The Amazon S3 directory that contains the database installation files. If not + // specified, then no prefix is assumed. + DatabaseInstallationFilesS3Prefix *string + + // The default character set for new instances of this engine version, if the + // CharacterSetName parameter of the CreateDBInstance API isn't specified. + DefaultCharacterSet *types.CharacterSet + + // The name of the database engine. + Engine *string + + // The version number of the database engine. + EngineVersion *string + + // The types of logs that the database engine has available for export to + // CloudWatch Logs. + ExportableLogTypes []string + + // The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter + // is required for RDS Custom, but optional for Amazon RDS. + KMSKeyId *string + + // The major engine version of the CEV. + MajorEngineVersion *string + + // The status of the DB engine version, either available or deprecated. + Status *string + + // A list of the character sets supported by this engine for the CharacterSetName + // parameter of the CreateDBInstance operation. + SupportedCharacterSets []types.CharacterSet + + // A list of the supported DB engine modes. + SupportedEngineModes []string + + // A list of features supported by the DB engine. The supported features vary by DB + // engine and DB engine version. To determine the supported features for a specific + // DB engine and DB engine version using the CLI, use the following command: aws + // rds describe-db-engine-versions --engine --engine-version For example, to + // determine the supported features for RDS for PostgreSQL version 13.3 using the + // CLI, use the following command: aws rds describe-db-engine-versions --engine + // postgres --engine-version 13.3 The supported features are listed under + // SupportedFeatureNames in the output. + SupportedFeatureNames []string + + // A list of the character sets supported by the Oracle DB engine for the + // NcharCharacterSetName parameter of the CreateDBInstance operation. + SupportedNcharCharacterSets []types.CharacterSet + + // A list of the time zones supported by this engine for the Timezone parameter of + // the CreateDBInstance action. + SupportedTimezones []types.Timezone + + // A value that indicates whether you can use Aurora global databases with a + // specific DB engine version. + SupportsGlobalDatabases bool + + // A value that indicates whether the engine version supports exporting the log + // types specified by ExportableLogTypes to CloudWatch Logs. + SupportsLogExportsToCloudwatchLogs bool + + // A value that indicates whether you can use Aurora parallel query with a specific + // DB engine version. + SupportsParallelQuery bool + + // Indicates whether the database engine version supports read replicas. + SupportsReadReplica bool + + // A list of tags. For more information, see Tagging Amazon RDS Resources + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in + // the Amazon RDS User Guide. + TagList []types.Tag + + // A list of engine versions that this database engine version can be upgraded to. + ValidUpgradeTarget []types.UpgradeTarget + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateCustomDBEngineVersionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsquery_serializeOpCreateCustomDBEngineVersion{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsquery_deserializeOpCreateCustomDBEngineVersion{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpCreateCustomDBEngineVersionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateCustomDBEngineVersion(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateCustomDBEngineVersion(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rds", + OperationName: "CreateCustomDBEngineVersion", + } +} diff --git a/service/rds/api_op_CreateDBCluster.go b/service/rds/api_op_CreateDBCluster.go index 5b5f309bb5f..011d5ef57d6 100644 --- a/service/rds/api_op_CreateDBCluster.go +++ b/service/rds/api_op_CreateDBCluster.go @@ -212,25 +212,25 @@ type CreateDBClusterInput struct { // The Amazon Web Services KMS key identifier for an encrypted DB cluster. The // Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS customer master key (CMK). To use a - // CMK in a different Amazon Web Services account, specify the key ARN or alias - // ARN. When a CMK isn't specified in KmsKeyId: + // alias name for the KMS key. To use a KMS key in a different Amazon Web Services + // account, specify the key ARN or alias ARN. When a KMS key isn't specified in + // KmsKeyId: // - // * If ReplicationSourceIdentifier - // identifies an encrypted source, then Amazon RDS will use the CMK used to encrypt - // the source. Otherwise, Amazon RDS will use your default CMK. + // * If ReplicationSourceIdentifier identifies an encrypted source, then + // Amazon RDS will use the KMS key used to encrypt the source. Otherwise, Amazon + // RDS will use your default KMS key. // - // * If the - // StorageEncrypted parameter is enabled and ReplicationSourceIdentifier isn't - // specified, then Amazon RDS will use your default CMK. + // * If the StorageEncrypted parameter is + // enabled and ReplicationSourceIdentifier isn't specified, then Amazon RDS will + // use your default KMS key. // - // There is a default CMK - // for your Amazon Web Services account. Your Amazon Web Services account has a - // different default CMK for each Amazon Web Services Region. If you create a read - // replica of an encrypted DB cluster in another Amazon Web Services Region, you - // must set KmsKeyId to a Amazon Web Services KMS key identifier that is valid in - // the destination Amazon Web Services Region. This CMK is used to encrypt the read - // replica in that Amazon Web Services Region. + // There is a default KMS key for your Amazon Web + // Services account. Your Amazon Web Services account has a different default KMS + // key for each Amazon Web Services Region. If you create a read replica of an + // encrypted DB cluster in another Amazon Web Services Region, you must set + // KmsKeyId to a KMS key identifier that is valid in the destination Amazon Web + // Services Region. This KMS key is used to encrypt the read replica in that Amazon + // Web Services Region. KmsKeyId *string // The password for the master database user. This password can contain any @@ -269,24 +269,24 @@ type CreateDBClusterInput struct { // parameter values: // // * KmsKeyId - The Amazon Web Services KMS key identifier for - // the key to use to encrypt the copy of the DB cluster in the destination Amazon - // Web Services Region. This should refer to the same Amazon Web Services KMS CMK - // for both the CreateDBCluster action that is called in the destination Amazon Web - // Services Region, and the action contained in the pre-signed URL. + // the KMS key to use to encrypt the copy of the DB cluster in the destination + // Amazon Web Services Region. This should refer to the same KMS key for both the + // CreateDBCluster action that is called in the destination Amazon Web Services + // Region, and the action contained in the pre-signed URL. // - // * - // DestinationRegion - The name of the Amazon Web Services Region that Aurora read - // replica will be created in. + // * DestinationRegion - + // The name of the Amazon Web Services Region that Aurora read replica will be + // created in. // - // * ReplicationSourceIdentifier - The DB cluster - // identifier for the encrypted DB cluster to be copied. This identifier must be in - // the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. - // For example, if you are copying an encrypted DB cluster from the us-west-2 - // Amazon Web Services Region, then your ReplicationSourceIdentifier would look - // like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1. + // * ReplicationSourceIdentifier - The DB cluster identifier for the + // encrypted DB cluster to be copied. This identifier must be in the Amazon + // Resource Name (ARN) format for the source Amazon Web Services Region. For + // example, if you are copying an encrypted DB cluster from the us-west-2 Amazon + // Web Services Region, then your ReplicationSourceIdentifier would look like + // Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1. // - // To - // learn how to generate a Signature Version 4 signed request, see Authenticating + // To learn + // how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (Amazon Web Services Signature Version 4) // (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process diff --git a/service/rds/api_op_CreateDBInstance.go b/service/rds/api_op_CreateDBInstance.go index 9c374432932..facfffd1d2c 100644 --- a/service/rds/api_op_CreateDBInstance.go +++ b/service/rds/api_op_CreateDBInstance.go @@ -67,29 +67,32 @@ type CreateDBInstanceInput struct { // // * aurora-postgresql // + // * custom-oracle-ee (for RDS Custom + // instances) + // // * mariadb // // * mysql // // * oracle-ee // - // * - // oracle-ee-cdb + // * oracle-ee-cdb // // * oracle-se2 // - // * oracle-se2-cdb + // * + // oracle-se2-cdb // // * postgres // // * sqlserver-ee // - // * - // sqlserver-se + // * sqlserver-se // // * sqlserver-ex // - // * sqlserver-web + // * + // sqlserver-web // // This member is required. Engine *string @@ -97,86 +100,96 @@ type CreateDBInstanceInput struct { // The amount of storage in gibibytes (GiB) to allocate for the DB instance. Type: // Integer Amazon Aurora Not applicable. Aurora cluster volumes automatically grow // as the amount of data in your database increases, though you are only charged - // for the space that you use in an Aurora cluster volume. MySQL Constraints to the - // amount of storage for each storage type are the following: + // for the space that you use in an Aurora cluster volume. Amazon RDS Custom + // Constraints to the amount of storage for each storage type are the following: // - // * General Purpose - // (SSD) storage (gp2): Must be an integer from 20 to 65536. + // * + // General Purpose (SSD) storage (gp2): Must be an integer from 40 to 65536. // - // * Provisioned IOPS - // storage (io1): Must be an integer from 100 to 65536. + // * + // Provisioned IOPS storage (io1): Must be an integer from 40 to 65536. // - // * Magnetic storage - // (standard): Must be an integer from 5 to 3072. + // MySQL + // Constraints to the amount of storage for each storage type are the following: // - // MariaDB Constraints to the - // amount of storage for each storage type are the following: + // * + // General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - // * General Purpose - // (SSD) storage (gp2): Must be an integer from 20 to 65536. + // * + // Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - // * Provisioned IOPS - // storage (io1): Must be an integer from 100 to 65536. + // * + // Magnetic storage (standard): Must be an integer from 5 to 3072. // - // * Magnetic storage - // (standard): Must be an integer from 5 to 3072. + // MariaDB + // Constraints to the amount of storage for each storage type are the following: // - // PostgreSQL Constraints to the - // amount of storage for each storage type are the following: + // * + // General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - // * General Purpose - // (SSD) storage (gp2): Must be an integer from 20 to 65536. + // * + // Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - // * Provisioned IOPS - // storage (io1): Must be an integer from 100 to 65536. + // * + // Magnetic storage (standard): Must be an integer from 5 to 3072. // - // * Magnetic storage - // (standard): Must be an integer from 5 to 3072. + // PostgreSQL + // Constraints to the amount of storage for each storage type are the following: // - // Oracle Constraints to the amount - // of storage for each storage type are the following: + // * + // General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - // * General Purpose (SSD) - // storage (gp2): Must be an integer from 20 to 65536. + // * + // Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - // * Provisioned IOPS storage - // (io1): Must be an integer from 100 to 65536. + // * + // Magnetic storage (standard): Must be an integer from 5 to 3072. // - // * Magnetic storage (standard): - // Must be an integer from 10 to 3072. + // Oracle + // Constraints to the amount of storage for each storage type are the following: // - // SQL Server Constraints to the amount of - // storage for each storage type are the following: + // * + // General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - // * General Purpose (SSD) - // storage (gp2): + // * + // Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - // * Enterprise and Standard editions: Must be an integer from 200 - // to 16384. + // * + // Magnetic storage (standard): Must be an integer from 10 to 3072. // - // * Web and Express editions: Must be an integer from 20 to 16384. + // SQL Server + // Constraints to the amount of storage for each storage type are the following: // // * - // Provisioned IOPS storage (io1): + // General Purpose (SSD) storage (gp2): // - // * Enterprise and Standard editions: Must be an - // integer from 200 to 16384. + // * Enterprise and Standard editions: Must + // be an integer from 200 to 16384. // - // * Web and Express editions: Must be an integer from - // 100 to 16384. + // * Web and Express editions: Must be an integer + // from 20 to 16384. // - // * Magnetic storage (standard): + // * Provisioned IOPS storage (io1): // // * Enterprise and Standard - // editions: Must be an integer from 200 to 1024. + // editions: Must be an integer from 200 to 16384. // - // * Web and Express editions: Must - // be an integer from 20 to 1024. + // * Web and Express editions: + // Must be an integer from 100 to 16384. + // + // * Magnetic storage (standard): + // + // * + // Enterprise and Standard editions: Must be an integer from 200 to 1024. + // + // * Web + // and Express editions: Must be an integer from 20 to 1024. AllocatedStorage *int32 // A value that indicates whether minor engine upgrades are applied automatically // to the DB instance during the maintenance window. By default, minor engine - // upgrades are applied automatically. + // upgrades are applied automatically. If you create an RDS Custom DB instance, you + // must set AutoMinorVersionUpgrade to false. AutoMinorVersionUpgrade *bool // The Availability Zone (AZ) where the database will be created. For information @@ -203,11 +216,15 @@ type CreateDBInstanceInput struct { // // * Can't be set to 0 if the DB instance is a source // to read replicas + // + // * Can't be set to 0 or 35 for an RDS Custom DB instance BackupRetentionPeriod *int32 - // For supported engines, indicates that the DB instance should be associated with - // the specified CharacterSet. Amazon Aurora Not applicable. The character set is - // managed by the DB cluster. For more information, see CreateDBCluster. + // For supported engines, this value indicates that the DB instance should be + // associated with the specified CharacterSet. This setting doesn't apply to RDS + // Custom. However, if you need to change the character set, you can change it on + // the database itself. Amazon Aurora Not applicable. The character set is managed + // by the DB cluster. For more information, see CreateDBCluster. CharacterSetName *string // A value that indicates whether to copy tags from the DB instance to snapshots of @@ -216,7 +233,28 @@ type CreateDBInstanceInput struct { // an Aurora DB instance has no effect on the DB cluster setting. CopyTagsToSnapshot *bool - // The identifier of the DB cluster that the instance will belong to. + // The instance profile associated with the underlying Amazon EC2 instance of an + // RDS Custom DB instance. The instance profile must meet the following + // requirements: + // + // * The profile must exist in your account. + // + // * The profile must + // have an IAM role that Amazon EC2 has permissions to assume. + // + // * The instance + // profile name and the associated IAM role name must start with the prefix + // AWSRDSCustom. + // + // For the list of permissions required for the IAM role, see + // Configure IAM and your VPC + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) + // in the Amazon Relational Database Service User Guide. This setting is required + // for RDS Custom. + CustomIamInstanceProfile *string + + // The identifier of the DB cluster that the instance will belong to. This setting + // doesn't apply to RDS Custom. DBClusterIdentifier *string // The meaning of this parameter differs according to the database engine you use. @@ -265,44 +303,57 @@ type CreateDBInstanceInput struct { // // * Can't be longer than 8 characters // - // SQL Server Not - // applicable. Must be null. Amazon Aurora MySQL The name of the database to create - // when the primary DB instance of the Aurora MySQL DB cluster is created. If this - // parameter isn't specified for an Aurora MySQL DB cluster, no database is created - // in the DB cluster. Constraints: + // Amazon RDS + // Custom The Oracle System ID (SID) of the created RDS Custom DB instance. If you + // don't specify a value, the default value is ORCL. Default: ORCL Constraints: // - // * It must contain 1 to 64 alphanumeric - // characters. + // * + // It must contain 1 to 8 alphanumeric characters. + // + // * It must contain a letter. + // + // * + // It can't be a word reserved by the database engine. + // + // SQL Server Not applicable. + // Must be null. Amazon Aurora MySQL The name of the database to create when the + // primary DB instance of the Aurora MySQL DB cluster is created. If this parameter + // isn't specified for an Aurora MySQL DB cluster, no database is created in the DB + // cluster. Constraints: // - // * It can't be a word reserved by the database engine. + // * It must contain 1 to 64 alphanumeric characters. // - // Amazon - // Aurora PostgreSQL The name of the database to create when the primary DB - // instance of the Aurora PostgreSQL DB cluster is created. If this parameter isn't - // specified for an Aurora PostgreSQL DB cluster, a database named postgres is - // created in the DB cluster. Constraints: + // * It + // can't be a word reserved by the database engine. // - // * It must contain 1 to 63 alphanumeric - // characters. + // Amazon Aurora PostgreSQL The + // name of the database to create when the primary DB instance of the Aurora + // PostgreSQL DB cluster is created. If this parameter isn't specified for an + // Aurora PostgreSQL DB cluster, a database named postgres is created in the DB + // cluster. Constraints: // - // * It must begin with a letter or an underscore. Subsequent - // characters can be letters, underscores, or digits (0 to 9). + // * It must contain 1 to 63 alphanumeric characters. // - // * It can't be a - // word reserved by the database engine. + // * It + // must begin with a letter or an underscore. Subsequent characters can be letters, + // underscores, or digits (0 to 9). + // + // * It can't be a word reserved by the database + // engine. DBName *string // The name of the DB parameter group to associate with this DB instance. If you do // not specify a value, then the default DB parameter group for the specified DB - // engine and version is used. Constraints: + // engine and version is used. This setting doesn't apply to RDS Custom. + // Constraints: // - // * Must be 1 to 255 letters, numbers, - // or hyphens. + // * Must be 1 to 255 letters, numbers, or hyphens. // - // * First character must be a letter + // * First + // character must be a letter // - // * Can't end with a hyphen or - // contain two consecutive hyphens + // * Can't end with a hyphen or contain two consecutive + // hyphens DBParameterGroupName *string // A list of DB security groups to associate with this DB instance. Default: The @@ -329,23 +380,24 @@ type CreateDBInstanceInput struct { // in an Active Directory Domain. For more information, see Kerberos // Authentication // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. Domain *string // Specify the name of the IAM role to be used when making API calls to the - // Directory Service. + // Directory Service. This setting doesn't apply to RDS Custom. DomainIAMRoleName *string // The list of log types that need to be enabled for exporting to CloudWatch Logs. - // The values in the list depend on the DB engine being used. For more information, - // see Publishing Database Logs to Amazon CloudWatch Logs + // The values in the list depend on the DB engine. For more information, see + // Publishing Database Logs to Amazon CloudWatch Logs // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) // in the Amazon Relational Database Service User Guide. Amazon Aurora Not - // applicable. CloudWatch Logs exports are managed by the DB cluster. MariaDB - // Possible values are audit, error, general, and slowquery. Microsoft SQL Server - // Possible values are agent and error. MySQL Possible values are audit, error, - // general, and slowquery. Oracle Possible values are alert, audit, listener, - // trace, and oemagent. PostgreSQL Possible values are postgresql and upgrade. + // applicable. CloudWatch Logs exports are managed by the DB cluster. RDS Custom + // Not applicable. MariaDB Possible values are audit, error, general, and + // slowquery. Microsoft SQL Server Possible values are agent and error. MySQL + // Possible values are audit, error, general, and slowquery. Oracle Possible values + // are alert, audit, listener, trace, and oemagent. PostgreSQL Possible values are + // postgresql and upgrade. EnableCloudwatchLogsExports []string // A value that indicates whether to enable a customer-owned IP address (CoIP) for @@ -364,9 +416,10 @@ type CreateDBInstanceInput struct { // A value that indicates whether to enable mapping of Amazon Web Services Identity // and Access Management (IAM) accounts to database accounts. By default, mapping - // is disabled. This setting doesn't apply to Amazon Aurora. Mapping Amazon Web - // Services IAM accounts to database accounts is managed by the DB cluster. For - // more information, see IAM Database Authentication for MySQL and PostgreSQL + // is disabled. This setting doesn't apply to RDS Custom or Amazon Aurora. In + // Aurora, mapping Amazon Web Services IAM accounts to database accounts is managed + // by the DB cluster. For more information, see IAM Database Authentication for + // MySQL and PostgreSQL // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) // in the Amazon RDS User Guide. EnableIAMDatabaseAuthentication *bool @@ -374,7 +427,8 @@ type CreateDBInstanceInput struct { // A value that indicates whether to enable Performance Insights for the DB // instance. For more information, see Using Amazon Performance Insights // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) - // in the Amazon Relational Database Service User Guide. + // in the Amazon Relational Database Service User Guide. This setting doesn't apply + // to RDS Custom. EnablePerformanceInsights *bool // The version number of the database engine to use. For a list of valid engine @@ -383,7 +437,12 @@ type CreateDBInstanceInput struct { // that are available with Amazon RDS. Not every database engine is available for // every Amazon Web Services Region. Amazon Aurora Not applicable. The version // number of the database engine to be used by the DB instance is managed by the DB - // cluster. MariaDB See MariaDB on Amazon RDS Versions + // cluster. Amazon RDS Custom A custom engine version (CEV) that you have + // previously created. This setting is required for RDS Custom. The CEV name has + // the following format: 19.customized_string . An example identifier is + // 19.my_cev1. For more information, see Creating an RDS Custom DB instance + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create) + // in the Amazon RDS User Guide.. MariaDB See MariaDB on Amazon RDS Versions // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) // in the Amazon RDS User Guide. Microsoft SQL Server See Microsoft SQL Server // Versions on Amazon RDS @@ -410,18 +469,23 @@ type CreateDBInstanceInput struct { // The Amazon Web Services KMS key identifier for an encrypted DB instance. The // Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS customer master key (CMK). To use a - // CMK in a different Amazon Web Services account, specify the key ARN or alias - // ARN. Amazon Aurora Not applicable. The Amazon Web Services KMS key identifier is - // managed by the DB cluster. For more information, see CreateDBCluster. If - // StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId - // parameter, then Amazon RDS uses your default CMK. There is a default CMK for - // your Amazon Web Services account. Your Amazon Web Services account has a - // different default CMK for each Amazon Web Services Region. + // alias name for the KMS key. To use a KMS key in a different Amazon Web Services + // account, specify the key ARN or alias ARN. Amazon Aurora Not applicable. The + // Amazon Web Services KMS key identifier is managed by the DB cluster. For more + // information, see CreateDBCluster. If StorageEncrypted is enabled, and you do not + // specify a value for the KmsKeyId parameter, then Amazon RDS uses your default + // KMS key. There is a default KMS key for your Amazon Web Services account. Your + // Amazon Web Services account has a different default KMS key for each Amazon Web + // Services Region. Amazon RDS Custom A KMS key is required for RDS Custom Oracle + // instances. For most RDS engines, if you leave this parameter empty while + // enabling StorageEncrypted, the engine uses the default KMS key. However, RDS + // Custom for Oracle doesn't use the default key when this parameter is empty. You + // must explicitly specify a key. KmsKeyId *string // License model information for this DB instance. Valid values: license-included | - // bring-your-own-license | general-public-license + // bring-your-own-license | general-public-license This setting doesn't apply to + // RDS Custom. LicenseModel *string // The password for the master user. The password can include any printable ASCII @@ -499,51 +563,53 @@ type CreateDBInstanceInput struct { // including limitations that apply to it, see Managing capacity automatically // with Amazon RDS storage autoscaling // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. MaxAllocatedStorage *int32 // The interval, in seconds, between points when Enhanced Monitoring metrics are - // collected for the DB instance. To disable collecting Enhanced Monitoring + // collected for the DB instance. To disable collection of Enhanced Monitoring // metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then - // you must also set MonitoringInterval to a value other than 0. Valid Values: 0, - // 1, 5, 10, 15, 30, 60 + // you must set MonitoringInterval to a value other than 0. This setting doesn't + // apply to RDS Custom. Valid Values: 0, 1, 5, 10, 15, 30, 60 MonitoringInterval *int32 // The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to // Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For - // information on creating a monitoring role, go to Setting Up and Enabling - // Enhanced Monitoring + // information on creating a monitoring role, see Setting Up and Enabling Enhanced + // Monitoring // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) // in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than - // 0, then you must supply a MonitoringRoleArn value. + // 0, then you must supply a MonitoringRoleArn value. This setting doesn't apply to + // RDS Custom. MonitoringRoleArn *string // A value that indicates whether the DB instance is a Multi-AZ deployment. You // can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ - // deployment. + // deployment. This setting doesn't apply to RDS Custom. MultiAZ *bool - // The name of the NCHAR character set for the Oracle DB instance. + // The name of the NCHAR character set for the Oracle DB instance. This parameter + // doesn't apply to RDS Custom. NcharCharacterSetName *string // A value that indicates that the DB instance should be associated with the // specified option group. Permanent options, such as the TDE option for Oracle // Advanced Security TDE, can't be removed from an option group. Also, that option - // group can't be removed from a DB instance once it is associated with a DB - // instance + // group can't be removed from a DB instance after it is associated with a DB + // instance. This setting doesn't apply to RDS Custom. OptionGroupName *string // The Amazon Web Services KMS key identifier for encryption of Performance // Insights data. The Amazon Web Services KMS key identifier is the key ARN, key - // ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key - // (CMK). If you do not specify a value for PerformanceInsightsKMSKeyId, then - // Amazon RDS uses your default CMK. There is a default CMK for your Amazon Web - // Services account. Your Amazon Web Services account has a different default CMK - // for each Amazon Web Services Region. + // ID, alias ARN, or alias name for the KMS key. If you do not specify a value for + // PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is + // a default KMS key for your Amazon Web Services account. Your Amazon Web Services + // account has a different default KMS key for each Amazon Web Services Region. + // This setting doesn't apply to RDS Custom. PerformanceInsightsKMSKeyId *string // The amount of time, in days, to retain Performance Insights data. Valid values - // are 7 or 731 (2 years). + // are 7 or 731 (2 years). This setting doesn't apply to RDS Custom. PerformanceInsightsRetentionPeriod *int32 // The port number on which the database accepts connections. MySQL Default: 3306 @@ -584,14 +650,15 @@ type CreateDBInstanceInput struct { PreferredMaintenanceWindow *string // The number of CPU cores and the number of threads per core for the DB instance - // class of the DB instance. + // class of the DB instance. This setting doesn't apply to RDS Custom. ProcessorFeatures []types.ProcessorFeature // A value that specifies the order in which an Aurora Replica is promoted to the // primary instance after a failure of the existing primary instance. For more // information, see Fault Tolerance for an Aurora DB Cluster // (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance) - // in the Amazon Aurora User Guide. Default: 1 Valid Values: 0 - 15 + // in the Amazon Aurora User Guide. This setting doesn't apply to RDS Custom. + // Default: 1 Valid Values: 0 - 15 PromotionTier *int32 // A value that indicates whether the DB instance is publicly accessible. When the @@ -625,8 +692,10 @@ type CreateDBInstanceInput struct { PubliclyAccessible *bool // A value that indicates whether the DB instance is encrypted. By default, it - // isn't encrypted. Amazon Aurora Not applicable. The encryption for DB instances - // is managed by the DB cluster. + // isn't encrypted. For RDS Custom Oracle instances, either set this parameter to + // true or leave it unset. If you set this parameter to false, RDS reports an + // error. Amazon Aurora Not applicable. The encryption for DB instances is managed + // by the DB cluster. StorageEncrypted *bool // Specifies the storage type to be associated with the DB instance. Valid values: @@ -638,10 +707,11 @@ type CreateDBInstanceInput struct { Tags []types.Tag // The ARN from the key store with which to associate the instance for TDE - // encryption. + // encryption. This setting doesn't apply to RDS Custom. TdeCredentialArn *string // The password for the given ARN from the key store in order to access the device. + // This setting doesn't apply to RDS Custom. TdeCredentialPassword *string // The time zone of the DB instance. The time zone parameter is currently supported diff --git a/service/rds/api_op_CreateDBInstanceReadReplica.go b/service/rds/api_op_CreateDBInstanceReadReplica.go index 90d04b7ce2a..4c26ed660f7 100644 --- a/service/rds/api_op_CreateDBInstanceReadReplica.go +++ b/service/rds/api_op_CreateDBInstanceReadReplica.go @@ -83,15 +83,15 @@ type CreateDBInstanceReadReplicaInput struct { // in a different Amazon Web Services Region from the read replica, specify a valid // DB instance ARN. For more information, see Constructing an ARN for Amazon RDS // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing) - // in the Amazon RDS User Guide. This doesn't apply to SQL Server, which doesn't - // support cross-region replicas. + // in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, + // which don't support cross-Region replicas. // // This member is required. SourceDBInstanceIdentifier *string // A value that indicates whether minor engine upgrades are applied automatically - // to the read replica during the maintenance window. Default: Inherits from the - // source DB instance + // to the read replica during the maintenance window. This setting doesn't apply to + // RDS Custom. Default: Inherits from the source DB instance AutoMinorVersionUpgrade *bool // The Availability Zone (AZ) where the read replica will be created. Default: A @@ -103,6 +103,26 @@ type CreateDBInstanceReadReplicaInput struct { // snapshots of the read replica. By default, tags are not copied. CopyTagsToSnapshot *bool + // The instance profile associated with the underlying Amazon EC2 instance of an + // RDS Custom DB instance. The instance profile must meet the following + // requirements: + // + // * The profile must exist in your account. + // + // * The profile must + // have an IAM role that Amazon EC2 has permissions to assume. + // + // * The instance + // profile name and the associated IAM role name must start with the prefix + // AWSRDSCustom. + // + // For the list of permissions required for the IAM role, see + // Configure IAM and your VPC + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) + // in the Amazon Relational Database Service User Guide. This setting is required + // for RDS Custom. + CustomIamInstanceProfile *string + // The compute and memory capacity of the read replica, for example, db.m4.large. // Not all DB instance classes are available in all Amazon Web Services Regions, or // for all database engines. For the full list of DB instance classes, and @@ -115,16 +135,16 @@ type CreateDBInstanceReadReplicaInput struct { // not specify a value for DBParameterGroupName, then Amazon RDS uses the // DBParameterGroup of source DB instance for a same region read replica, or the // default DBParameterGroup for the specified DB engine for a cross region read - // replica. Currently, specifying a parameter group for this operation is only - // supported for Oracle DB instances. Constraints: + // replica. Specifying a parameter group for this operation is only supported for + // Oracle DB instances. It isn't supported for RDS Custom. Constraints: // - // * Must be 1 to 255 letters, - // numbers, or hyphens. + // * Must be + // 1 to 255 letters, numbers, or hyphens. // // * First character must be a letter // - // * Can't end with a - // hyphen or contain two consecutive hyphens + // * + // Can't end with a hyphen or contain two consecutive hyphens DBParameterGroupName *string // Specifies a DB subnet group for the DB instance. The new DB instance is created @@ -167,18 +187,18 @@ type CreateDBInstanceReadReplicaInput struct { // in an Active Directory Domain. For more information, see Kerberos // Authentication // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. Domain *string // Specify the name of the IAM role to be used when making API calls to the - // Directory Service. + // Directory Service. This setting doesn't apply to RDS Custom. DomainIAMRoleName *string // The list of logs that the new DB instance is to export to CloudWatch Logs. The // values in the list depend on the DB engine being used. For more information, see // Publishing Database Logs to Amazon CloudWatch Logs // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnableCloudwatchLogsExports []string // A value that indicates whether to enable mapping of Amazon Web Services Identity @@ -186,13 +206,13 @@ type CreateDBInstanceReadReplicaInput struct { // is disabled. For more information about IAM database authentication, see IAM // Database Authentication for MySQL and PostgreSQL // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnableIAMDatabaseAuthentication *bool // A value that indicates whether to enable Performance Insights for the read // replica. For more information, see Using Amazon Performance Insights // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnablePerformanceInsights *bool // The amount of Provisioned IOPS (input/output operations per second) to be @@ -201,17 +221,17 @@ type CreateDBInstanceReadReplicaInput struct { // The Amazon Web Services KMS key identifier for an encrypted read replica. The // Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS CMK. If you create an encrypted read - // replica in the same Amazon Web Services Region as the source DB instance, then - // do not specify a value for this parameter. A read replica in the same Region is - // always encrypted with the same Amazon Web Services KMS CMK as the source DB - // instance. If you create an encrypted read replica in a different Amazon Web - // Services Region, then you must specify a Amazon Web Services KMS key identifier - // for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are - // specific to the Amazon Web Services Region that they are created in, and you - // can't use CMKs from one Amazon Web Services Region in another Amazon Web - // Services Region. You can't create an encrypted read replica from an unencrypted - // DB instance. + // alias name for the KMS key. If you create an encrypted read replica in the same + // Amazon Web Services Region as the source DB instance, then do not specify a + // value for this parameter. A read replica in the same Amazon Web Services Region + // is always encrypted with the same KMS key as the source DB instance. If you + // create an encrypted read replica in a different Amazon Web Services Region, then + // you must specify a KMS key identifier for the destination Amazon Web Services + // Region. KMS keys are specific to the Amazon Web Services Region that they are + // created in, and you can't use KMS keys from one Amazon Web Services Region in + // another Amazon Web Services Region. You can't create an encrypted read replica + // from an unencrypted DB instance. This setting doesn't apply to RDS Custom, which + // uses the same KMS key as the primary replica. KmsKeyId *string // The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale @@ -225,8 +245,8 @@ type CreateDBInstanceReadReplicaInput struct { // The interval, in seconds, between points when Enhanced Monitoring metrics are // collected for the read replica. To disable collecting Enhanced Monitoring // metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then - // you must also set MonitoringInterval to a value other than 0. Valid Values: 0, - // 1, 5, 10, 15, 30, 60 + // you must also set MonitoringInterval to a value other than 0. This setting + // doesn't apply to RDS Custom. Valid Values: 0, 1, 5, 10, 15, 30, 60 MonitoringInterval *int32 // The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to @@ -235,32 +255,35 @@ type CreateDBInstanceReadReplicaInput struct { // Amazon RDS Enhanced Monitoring // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole) // in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than - // 0, then you must supply a MonitoringRoleArn value. + // 0, then you must supply a MonitoringRoleArn value. This setting doesn't apply to + // RDS Custom. MonitoringRoleArn *string // A value that indicates whether the read replica is in a Multi-AZ deployment. You // can create a read replica as a Multi-AZ DB instance. RDS creates a standby of // your replica in another Availability Zone for failover support for the replica. // Creating your read replica as a Multi-AZ DB instance is independent of whether - // the source database is a Multi-AZ DB instance. + // the source database is a Multi-AZ DB instance. This setting doesn't apply to RDS + // Custom. MultiAZ *bool // The option group the DB instance is associated with. If omitted, the option // group associated with the source instance is used. For SQL Server, you must use - // the option group associated with the source instance. + // the option group associated with the source instance. This setting doesn't apply + // to RDS Custom. OptionGroupName *string // The Amazon Web Services KMS key identifier for encryption of Performance // Insights data. The Amazon Web Services KMS key identifier is the key ARN, key - // ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key - // (CMK). If you do not specify a value for PerformanceInsightsKMSKeyId, then - // Amazon RDS uses your default CMK. There is a default CMK for your Amazon Web - // Services account. Your Amazon Web Services account has a different default CMK - // for each Amazon Web Services Region. + // ID, alias ARN, or alias name for the KMS key. If you do not specify a value for + // PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is + // a default KMS key for your Amazon Web Services account. Your Amazon Web Services + // account has a different default KMS key for each Amazon Web Services Region. + // This setting doesn't apply to RDS Custom. PerformanceInsightsKMSKeyId *string // The amount of time, in days, to retain Performance Insights data. Valid values - // are 7 or 731 (2 years). + // are 7 or 731 (2 years). This setting doesn't apply to RDS Custom. PerformanceInsightsRetentionPeriod *int32 // The port number that the DB instance uses for connections. Default: Inherits @@ -315,11 +338,12 @@ type CreateDBInstanceReadReplicaInput struct { // manually. Specifying SourceRegion autogenerates a presigned URL that is a valid // request for the operation that can be executed in the source Amazon Web Services // Region. SourceRegion isn't supported for SQL Server, because SQL Server on - // Amazon RDS doesn't support cross-region read replicas. + // Amazon RDS doesn't support cross-region read replicas. This setting doesn't + // apply to RDS Custom. PreSignedUrl *string // The number of CPU cores and the number of threads per core for the DB instance - // class of the DB instance. + // class of the DB instance. This setting doesn't apply to RDS Custom. ProcessorFeatures []types.ProcessorFeature // A value that indicates whether the DB instance is publicly accessible. When the @@ -335,7 +359,7 @@ type CreateDBInstanceReadReplicaInput struct { // The open mode of the replica database: mounted or read-only. This parameter is // only supported for Oracle DB instances. Mounted DB replicas are included in - // Oracle Enterprise Edition. The main use case for mounted replicas is + // Oracle Database Enterprise Edition. The main use case for mounted replicas is // cross-Region disaster recovery. The primary database doesn't use Active Data // Guard to transmit information to the mounted replica. Because it doesn't accept // user connections, a mounted replica can't serve a read-only workload. You can @@ -343,7 +367,9 @@ type CreateDBInstanceReadReplicaInput struct { // DB instance. For more information, see Working with Oracle Read Replicas for // Amazon RDS // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. For RDS Custom, you must specify this parameter + // and set it to mounted. The value won't be set by default. After replica + // creation, you can manage the open mode manually. ReplicaMode types.ReplicaMode // The AWS region the resource is in. The presigned URL will be created with this @@ -361,11 +387,12 @@ type CreateDBInstanceReadReplicaInput struct { Tags []types.Tag // A value that indicates whether the DB instance class of the DB instance uses its - // default processor features. + // default processor features. This setting doesn't apply to RDS Custom. UseDefaultProcessorFeatures *bool - // A list of EC2 VPC security groups to associate with the read replica. Default: - // The default EC2 VPC security group for the DB subnet group's VPC. + // A list of Amazon EC2 VPC security groups to associate with the read replica. + // This setting doesn't apply to RDS Custom. Default: The default EC2 VPC security + // group for the DB subnet group's VPC. VpcSecurityGroupIds []string // Used by the SDK's PresignURL autofill customization to specify the region the of diff --git a/service/rds/api_op_CreateDBParameterGroup.go b/service/rds/api_op_CreateDBParameterGroup.go index 4c53f1f3612..b2328cea141 100644 --- a/service/rds/api_op_CreateDBParameterGroup.go +++ b/service/rds/api_op_CreateDBParameterGroup.go @@ -18,16 +18,17 @@ import ( // group, you need to associate it with your DB instance using ModifyDBInstance. // When you associate a new DB parameter group with a running DB instance, you need // to reboot the DB instance without failover for the new DB parameter group and -// associated settings to take effect. After you create a DB parameter group, you -// should wait at least 5 minutes before creating your first DB instance that uses -// that DB parameter group as the default parameter group. This allows Amazon RDS -// to fully complete the create action before the parameter group is used as the -// default for a new DB instance. This is especially important for parameters that -// are critical when creating the default database for a DB instance, such as the -// character set for the default database defined by the character_set_database -// parameter. You can use the Parameter Groups option of the Amazon RDS console -// (https://console.aws.amazon.com/rds/) or the DescribeDBParameters command to -// verify that your DB parameter group has been created or modified. +// associated settings to take effect. This command doesn't apply to RDS Custom. +// After you create a DB parameter group, you should wait at least 5 minutes before +// creating your first DB instance that uses that DB parameter group as the default +// parameter group. This allows Amazon RDS to fully complete the create action +// before the parameter group is used as the default for a new DB instance. This is +// especially important for parameters that are critical when creating the default +// database for a DB instance, such as the character set for the default database +// defined by the character_set_database parameter. You can use the Parameter +// Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/) or +// the DescribeDBParameters command to verify that your DB parameter group has been +// created or modified. func (c *Client) CreateDBParameterGroup(ctx context.Context, params *CreateDBParameterGroupInput, optFns ...func(*Options)) (*CreateDBParameterGroupOutput, error) { if params == nil { params = &CreateDBParameterGroupInput{} diff --git a/service/rds/api_op_CreateOptionGroup.go b/service/rds/api_op_CreateOptionGroup.go index d7881b90d32..8be45722537 100644 --- a/service/rds/api_op_CreateOptionGroup.go +++ b/service/rds/api_op_CreateOptionGroup.go @@ -11,7 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new option group. You can create up to 20 option groups. +// Creates a new option group. You can create up to 20 option groups. This command +// doesn't apply to RDS Custom. func (c *Client) CreateOptionGroup(ctx context.Context, params *CreateOptionGroupInput, optFns ...func(*Options)) (*CreateOptionGroupOutput, error) { if params == nil { params = &CreateOptionGroupInput{} diff --git a/service/rds/api_op_DeleteCustomDBEngineVersion.go b/service/rds/api_op_DeleteCustomDBEngineVersion.go new file mode 100644 index 00000000000..b80b06dc84d --- /dev/null +++ b/service/rds/api_op_DeleteCustomDBEngineVersion.go @@ -0,0 +1,241 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rds + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rds/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Deletes a custom engine version. To run this command, make sure you meet the +// following prerequisites: +// +// * The CEV must not be the default for RDS Custom. If +// it is, change the default before running this command. +// +// * The CEV must not be +// associated with an RDS Custom DB instance, RDS Custom instance snapshot, or +// automated backup of your RDS Custom instance. +// +// Typically, deletion takes a few +// minutes. The MediaImport service that imports files from Amazon S3 to create +// CEVs isn't integrated with Amazon Web Services CloudTrail. If you turn on data +// logging for Amazon RDS in CloudTrail, calls to the DeleteCustomDbEngineVersion +// event aren't logged. However, you might see calls from the API gateway that +// accesses your Amazon S3 bucket. These calls originate from the MediaImport +// service for the DeleteCustomDbEngineVersion event. For more information, see +// Deleting a CEV +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.delete) +// in the Amazon RDS User Guide. +func (c *Client) DeleteCustomDBEngineVersion(ctx context.Context, params *DeleteCustomDBEngineVersionInput, optFns ...func(*Options)) (*DeleteCustomDBEngineVersionOutput, error) { + if params == nil { + params = &DeleteCustomDBEngineVersionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteCustomDBEngineVersion", params, optFns, c.addOperationDeleteCustomDBEngineVersionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteCustomDBEngineVersionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteCustomDBEngineVersionInput struct { + + // The database engine. The only supported engine is custom-oracle-ee. + // + // This member is required. + Engine *string + + // The custom engine version (CEV) for your DB instance. This option is required + // for RDS Custom, but optional for Amazon RDS. The combination of Engine and + // EngineVersion is unique per customer per Amazon Web Services Region. + // + // This member is required. + EngineVersion *string + + noSmithyDocumentSerde +} + +// This data type is used as a response element in the action +// DescribeDBEngineVersions. +type DeleteCustomDBEngineVersionOutput struct { + + // The creation time of the DB engine version. + CreateTime *time.Time + + // The description of the database engine. + DBEngineDescription *string + + // The ARN of the custom engine version. + DBEngineVersionArn *string + + // The description of the database engine version. + DBEngineVersionDescription *string + + // The name of the DB parameter group family for the database engine. + DBParameterGroupFamily *string + + // The name of the Amazon S3 bucket that contains your database installation files. + DatabaseInstallationFilesS3BucketName *string + + // The Amazon S3 directory that contains the database installation files. If not + // specified, then no prefix is assumed. + DatabaseInstallationFilesS3Prefix *string + + // The default character set for new instances of this engine version, if the + // CharacterSetName parameter of the CreateDBInstance API isn't specified. + DefaultCharacterSet *types.CharacterSet + + // The name of the database engine. + Engine *string + + // The version number of the database engine. + EngineVersion *string + + // The types of logs that the database engine has available for export to + // CloudWatch Logs. + ExportableLogTypes []string + + // The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter + // is required for RDS Custom, but optional for Amazon RDS. + KMSKeyId *string + + // The major engine version of the CEV. + MajorEngineVersion *string + + // The status of the DB engine version, either available or deprecated. + Status *string + + // A list of the character sets supported by this engine for the CharacterSetName + // parameter of the CreateDBInstance operation. + SupportedCharacterSets []types.CharacterSet + + // A list of the supported DB engine modes. + SupportedEngineModes []string + + // A list of features supported by the DB engine. The supported features vary by DB + // engine and DB engine version. To determine the supported features for a specific + // DB engine and DB engine version using the CLI, use the following command: aws + // rds describe-db-engine-versions --engine --engine-version For example, to + // determine the supported features for RDS for PostgreSQL version 13.3 using the + // CLI, use the following command: aws rds describe-db-engine-versions --engine + // postgres --engine-version 13.3 The supported features are listed under + // SupportedFeatureNames in the output. + SupportedFeatureNames []string + + // A list of the character sets supported by the Oracle DB engine for the + // NcharCharacterSetName parameter of the CreateDBInstance operation. + SupportedNcharCharacterSets []types.CharacterSet + + // A list of the time zones supported by this engine for the Timezone parameter of + // the CreateDBInstance action. + SupportedTimezones []types.Timezone + + // A value that indicates whether you can use Aurora global databases with a + // specific DB engine version. + SupportsGlobalDatabases bool + + // A value that indicates whether the engine version supports exporting the log + // types specified by ExportableLogTypes to CloudWatch Logs. + SupportsLogExportsToCloudwatchLogs bool + + // A value that indicates whether you can use Aurora parallel query with a specific + // DB engine version. + SupportsParallelQuery bool + + // Indicates whether the database engine version supports read replicas. + SupportsReadReplica bool + + // A list of tags. For more information, see Tagging Amazon RDS Resources + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in + // the Amazon RDS User Guide. + TagList []types.Tag + + // A list of engine versions that this database engine version can be upgraded to. + ValidUpgradeTarget []types.UpgradeTarget + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteCustomDBEngineVersionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsquery_serializeOpDeleteCustomDBEngineVersion{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsquery_deserializeOpDeleteCustomDBEngineVersion{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteCustomDBEngineVersionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteCustomDBEngineVersion(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteCustomDBEngineVersion(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rds", + OperationName: "DeleteCustomDBEngineVersion", + } +} diff --git a/service/rds/api_op_DeleteDBInstance.go b/service/rds/api_op_DeleteDBInstance.go index cb824b83c13..9e40dbe2b5b 100644 --- a/service/rds/api_op_DeleteDBInstance.go +++ b/service/rds/api_op_DeleteDBInstance.go @@ -67,29 +67,31 @@ type DeleteDBInstanceInput struct { DeleteAutomatedBackups *bool // The DBSnapshotIdentifier of the new DBSnapshot created when the - // SkipFinalSnapshot parameter is disabled. Specifying this parameter and also - // specifying to skip final DB snapshot creation in SkipFinalShapshot results in an - // error. Constraints: + // SkipFinalSnapshot parameter is disabled. If you enable this parameter and also + // enable SkipFinalShapshot, the command results in an error. This setting doesn't + // apply to RDS Custom. Constraints: // // * Must be 1 to 255 letters or numbers. // - // * First character - // must be a letter. + // * + // First character must be a letter. // - // * Can't end with a hyphen or contain two consecutive - // hyphens. + // * Can't end with a hyphen or contain two + // consecutive hyphens. // // * Can't be specified when deleting a read replica. FinalDBSnapshotIdentifier *string // A value that indicates whether to skip the creation of a final DB snapshot - // before the DB instance is deleted. If skip is specified, no DB snapshot is - // created. If skip isn't specified, a DB snapshot is created before the DB - // instance is deleted. By default, skip isn't specified, and the DB snapshot is - // created. When a DB instance is in a failure state and has a status of 'failed', - // 'incompatible-restore', or 'incompatible-network', it can only be deleted when - // skip is specified. Specify skip when deleting a read replica. The - // FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified. + // before deleting the instance. If you enable this parameter, RDS doesn't create a + // DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot + // before the DB instance is deleted. By default, skip isn't enabled, and the DB + // snapshot is created. If you don't enable this parameter, you must specify the + // FinalDBSnapshotIdentifier parameter. When a DB instance is in a failure state + // and has a status of failed, incompatible-restore, or incompatible-network, RDS + // can delete the instance only if you enable this parameter. If you delete a read + // replica or an RDS Custom instance, you must enable this setting. This setting is + // required for RDS Custom. SkipFinalSnapshot bool noSmithyDocumentSerde diff --git a/service/rds/api_op_DeleteDBInstanceAutomatedBackup.go b/service/rds/api_op_DeleteDBInstanceAutomatedBackup.go index 51ca0ad6867..d8371cb0150 100644 --- a/service/rds/api_op_DeleteDBInstanceAutomatedBackup.go +++ b/service/rds/api_op_DeleteDBInstanceAutomatedBackup.go @@ -33,6 +33,7 @@ type DeleteDBInstanceAutomatedBackupInput struct { // The Amazon Resource Name (ARN) of the automated backups to delete, for example, // arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE. + // This setting doesn't apply to RDS Custom. DBInstanceAutomatedBackupsArn *string // The identifier for the source DB instance, which can't be changed and which is diff --git a/service/rds/api_op_DescribeDBEngineVersions.go b/service/rds/api_op_DescribeDBEngineVersions.go index ee48a75b1de..def72b3659e 100644 --- a/service/rds/api_op_DescribeDBEngineVersions.go +++ b/service/rds/api_op_DescribeDBEngineVersions.go @@ -88,13 +88,17 @@ type DescribeDBEngineVersionsInput struct { // A value that indicates whether to list the supported character sets for each // engine version. If this parameter is enabled and the requested engine supports // the CharacterSetName parameter for CreateDBInstance, the response includes a - // list of supported character sets for each engine version. + // list of supported character sets for each engine version. For RDS Custom, the + // default is not to list supported character sets. If you set + // ListSupportedCharacterSets to true, RDS Custom returns no results. ListSupportedCharacterSets *bool // A value that indicates whether to list the supported time zones for each engine // version. If this parameter is enabled and the requested engine supports the // TimeZone parameter for CreateDBInstance, the response includes a list of - // supported time zones for each engine version. + // supported time zones for each engine version. For RDS Custom, the default is not + // to list supported time zones. If you set ListSupportedTimezones to true, RDS + // Custom returns no results. ListSupportedTimezones *bool // An optional pagination token provided by a previous request. If this parameter diff --git a/service/rds/api_op_DescribeDBInstanceAutomatedBackups.go b/service/rds/api_op_DescribeDBInstanceAutomatedBackups.go index 30cee03e6b8..367daaee261 100644 --- a/service/rds/api_op_DescribeDBInstanceAutomatedBackups.go +++ b/service/rds/api_op_DescribeDBInstanceAutomatedBackups.go @@ -37,6 +37,7 @@ type DescribeDBInstanceAutomatedBackupsInput struct { // The Amazon Resource Name (ARN) of the replicated automated backups, for example, // arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE. + // This setting doesn't apply to RDS Custom. DBInstanceAutomatedBackupsArn *string // (Optional) The user-supplied instance identifier. If this parameter is diff --git a/service/rds/api_op_DescribeDBLogFiles.go b/service/rds/api_op_DescribeDBLogFiles.go index 43555168493..a3cae68e77f 100644 --- a/service/rds/api_op_DescribeDBLogFiles.go +++ b/service/rds/api_op_DescribeDBLogFiles.go @@ -12,7 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns a list of DB log files for the DB instance. +// Returns a list of DB log files for the DB instance. This command doesn't apply +// to RDS Custom. func (c *Client) DescribeDBLogFiles(ctx context.Context, params *DescribeDBLogFilesInput, optFns ...func(*Options)) (*DescribeDBLogFilesOutput, error) { if params == nil { params = &DescribeDBLogFilesInput{} diff --git a/service/rds/api_op_DescribeDBSnapshots.go b/service/rds/api_op_DescribeDBSnapshots.go index 1900e233ac9..e22c2eba7a4 100644 --- a/service/rds/api_op_DescribeDBSnapshots.go +++ b/service/rds/api_op_DescribeDBSnapshots.go @@ -81,7 +81,8 @@ type DescribeDBSnapshotsInput struct { // A value that indicates whether to include manual DB cluster snapshots that are // public and can be copied or restored by any Amazon Web Services account. By // default, the public snapshots are not included. You can share a manual DB - // snapshot as public by using the ModifyDBSnapshotAttribute API. + // snapshot as public by using the ModifyDBSnapshotAttribute API. This setting + // doesn't apply to RDS Custom. IncludePublic bool // A value that indicates whether to include shared manual DB cluster snapshots @@ -89,7 +90,7 @@ type DescribeDBSnapshotsInput struct { // has been given permission to copy or restore. By default, these snapshots are // not included. You can give an Amazon Web Services account permission to restore // a manual DB snapshot from another Amazon Web Services account by using the - // ModifyDBSnapshotAttribute API action. + // ModifyDBSnapshotAttribute API action. This setting doesn't apply to RDS Custom. IncludeShared bool // An optional pagination token provided by a previous DescribeDBSnapshots request. diff --git a/service/rds/api_op_DescribeExportTasks.go b/service/rds/api_op_DescribeExportTasks.go index c832a5e2e94..da7da5cfc9b 100644 --- a/service/rds/api_op_DescribeExportTasks.go +++ b/service/rds/api_op_DescribeExportTasks.go @@ -48,7 +48,18 @@ type DescribeExportTasksInput struct { // The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3 // // * status - - // The status of the export task. Must be lowercase, for example, complete. + // The status of the export task. Must be lowercase. Valid statuses are the + // following: + // + // * canceled + // + // * canceling + // + // * complete + // + // * failed + // + // * starting Filters []types.Filter // An optional pagination token provided by a previous DescribeExportTasks request. diff --git a/service/rds/api_op_DescribeOrderableDBInstanceOptions.go b/service/rds/api_op_DescribeOrderableDBInstanceOptions.go index 73b2c187213..761b59fe2cb 100644 --- a/service/rds/api_op_DescribeOrderableDBInstanceOptions.go +++ b/service/rds/api_op_DescribeOrderableDBInstanceOptions.go @@ -71,7 +71,7 @@ type DescribeOrderableDBInstanceOptionsInput struct { // The Availability Zone group associated with a Local Zone. Specify this parameter // to retrieve available offerings for the Local Zones in the group. Omit this // parameter to show the available offerings in the specified Amazon Web Services - // Region. + // Region. This setting doesn't apply to RDS Custom. AvailabilityZoneGroup *string // The DB instance class filter value. Specify this parameter to show only the @@ -86,7 +86,8 @@ type DescribeOrderableDBInstanceOptionsInput struct { Filters []types.Filter // The license model filter value. Specify this parameter to show only the - // available offerings matching the specified license model. + // available offerings matching the specified license model. RDS Custom supports + // only the BYOL licensing model. LicenseModel *string // An optional pagination token provided by a previous @@ -101,7 +102,9 @@ type DescribeOrderableDBInstanceOptionsInput struct { // Default: 100 Constraints: Minimum 20, maximum 100. MaxRecords *int32 - // A value that indicates whether to show only VPC or non-VPC offerings. + // A value that indicates whether to show only VPC or non-VPC offerings. RDS Custom + // supports only VPC offerings. RDS Custom supports only VPC offerings. If you + // describe non-VPC offerings for RDS Custom, the output shows VPC offerings. Vpc *bool noSmithyDocumentSerde diff --git a/service/rds/api_op_DescribeValidDBInstanceModifications.go b/service/rds/api_op_DescribeValidDBInstanceModifications.go index 507b4447ac6..ad76eb771c1 100644 --- a/service/rds/api_op_DescribeValidDBInstanceModifications.go +++ b/service/rds/api_op_DescribeValidDBInstanceModifications.go @@ -13,7 +13,7 @@ import ( // You can call DescribeValidDBInstanceModifications to learn what modifications // you can make to your DB instance. You can use this information when you call -// ModifyDBInstance. +// ModifyDBInstance. This command doesn't apply to RDS Custom. func (c *Client) DescribeValidDBInstanceModifications(ctx context.Context, params *DescribeValidDBInstanceModificationsInput, optFns ...func(*Options)) (*DescribeValidDBInstanceModificationsOutput, error) { if params == nil { params = &DescribeValidDBInstanceModificationsInput{} diff --git a/service/rds/api_op_DownloadDBLogFilePortion.go b/service/rds/api_op_DownloadDBLogFilePortion.go index 07cad3f57dd..8fac59d9536 100644 --- a/service/rds/api_op_DownloadDBLogFilePortion.go +++ b/service/rds/api_op_DownloadDBLogFilePortion.go @@ -11,7 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Downloads all or a portion of the specified log file, up to 1 MB in size. +// Downloads all or a portion of the specified log file, up to 1 MB in size. This +// command doesn't apply to RDS Custom. func (c *Client) DownloadDBLogFilePortion(ctx context.Context, params *DownloadDBLogFilePortionInput, optFns ...func(*Options)) (*DownloadDBLogFilePortionOutput, error) { if params == nil { params = &DownloadDBLogFilePortionInput{} diff --git a/service/rds/api_op_ModifyCustomDBEngineVersion.go b/service/rds/api_op_ModifyCustomDBEngineVersion.go new file mode 100644 index 00000000000..ea7f9bf24bd --- /dev/null +++ b/service/rds/api_op_ModifyCustomDBEngineVersion.go @@ -0,0 +1,246 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rds + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rds/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Modifies the status of a custom engine version (CEV). You can find CEVs to +// modify by calling DescribeDBEngineVersions. The MediaImport service that imports +// files from Amazon S3 to create CEVs isn't integrated with Amazon Web Services +// CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to +// the ModifyCustomDbEngineVersion event aren't logged. However, you might see +// calls from the API gateway that accesses your Amazon S3 bucket. These calls +// originate from the MediaImport service for the ModifyCustomDbEngineVersion +// event. For more information, see Modifying CEV status +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) +// in the Amazon RDS User Guide. +func (c *Client) ModifyCustomDBEngineVersion(ctx context.Context, params *ModifyCustomDBEngineVersionInput, optFns ...func(*Options)) (*ModifyCustomDBEngineVersionOutput, error) { + if params == nil { + params = &ModifyCustomDBEngineVersionInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ModifyCustomDBEngineVersion", params, optFns, c.addOperationModifyCustomDBEngineVersionMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ModifyCustomDBEngineVersionOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ModifyCustomDBEngineVersionInput struct { + + // The DB engine. The only supported value is custom-oracle-ee. + // + // This member is required. + Engine *string + + // The custom engine version (CEV) that you want to modify. This option is required + // for RDS Custom, but optional for Amazon RDS. The combination of Engine and + // EngineVersion is unique per customer per Amazon Web Services Region. + // + // This member is required. + EngineVersion *string + + // An optional description of your CEV. + Description *string + + // The availability status to be assigned to the CEV. Valid values are as follows: + // available You can use this CEV to create a new RDS Custom DB instance. inactive + // You can create a new RDS Custom instance by restoring a DB snapshot with this + // CEV. You can't patch or create new instances with this CEV. You can change any + // status to any status. A typical reason to change status is to prevent the + // accidental use of a CEV, or to make a deprecated CEV eligible for use again. For + // example, you might change the status of your CEV from available to inactive, and + // from inactive back to available. To change the availability status of the CEV, + // it must not currently be in use by an RDS Custom instance, snapshot, or + // automated backup. + Status types.CustomEngineVersionStatus + + noSmithyDocumentSerde +} + +// This data type is used as a response element in the action +// DescribeDBEngineVersions. +type ModifyCustomDBEngineVersionOutput struct { + + // The creation time of the DB engine version. + CreateTime *time.Time + + // The description of the database engine. + DBEngineDescription *string + + // The ARN of the custom engine version. + DBEngineVersionArn *string + + // The description of the database engine version. + DBEngineVersionDescription *string + + // The name of the DB parameter group family for the database engine. + DBParameterGroupFamily *string + + // The name of the Amazon S3 bucket that contains your database installation files. + DatabaseInstallationFilesS3BucketName *string + + // The Amazon S3 directory that contains the database installation files. If not + // specified, then no prefix is assumed. + DatabaseInstallationFilesS3Prefix *string + + // The default character set for new instances of this engine version, if the + // CharacterSetName parameter of the CreateDBInstance API isn't specified. + DefaultCharacterSet *types.CharacterSet + + // The name of the database engine. + Engine *string + + // The version number of the database engine. + EngineVersion *string + + // The types of logs that the database engine has available for export to + // CloudWatch Logs. + ExportableLogTypes []string + + // The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter + // is required for RDS Custom, but optional for Amazon RDS. + KMSKeyId *string + + // The major engine version of the CEV. + MajorEngineVersion *string + + // The status of the DB engine version, either available or deprecated. + Status *string + + // A list of the character sets supported by this engine for the CharacterSetName + // parameter of the CreateDBInstance operation. + SupportedCharacterSets []types.CharacterSet + + // A list of the supported DB engine modes. + SupportedEngineModes []string + + // A list of features supported by the DB engine. The supported features vary by DB + // engine and DB engine version. To determine the supported features for a specific + // DB engine and DB engine version using the CLI, use the following command: aws + // rds describe-db-engine-versions --engine --engine-version For example, to + // determine the supported features for RDS for PostgreSQL version 13.3 using the + // CLI, use the following command: aws rds describe-db-engine-versions --engine + // postgres --engine-version 13.3 The supported features are listed under + // SupportedFeatureNames in the output. + SupportedFeatureNames []string + + // A list of the character sets supported by the Oracle DB engine for the + // NcharCharacterSetName parameter of the CreateDBInstance operation. + SupportedNcharCharacterSets []types.CharacterSet + + // A list of the time zones supported by this engine for the Timezone parameter of + // the CreateDBInstance action. + SupportedTimezones []types.Timezone + + // A value that indicates whether you can use Aurora global databases with a + // specific DB engine version. + SupportsGlobalDatabases bool + + // A value that indicates whether the engine version supports exporting the log + // types specified by ExportableLogTypes to CloudWatch Logs. + SupportsLogExportsToCloudwatchLogs bool + + // A value that indicates whether you can use Aurora parallel query with a specific + // DB engine version. + SupportsParallelQuery bool + + // Indicates whether the database engine version supports read replicas. + SupportsReadReplica bool + + // A list of tags. For more information, see Tagging Amazon RDS Resources + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in + // the Amazon RDS User Guide. + TagList []types.Tag + + // A list of engine versions that this database engine version can be upgraded to. + ValidUpgradeTarget []types.UpgradeTarget + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationModifyCustomDBEngineVersionMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsquery_serializeOpModifyCustomDBEngineVersion{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsquery_deserializeOpModifyCustomDBEngineVersion{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpModifyCustomDBEngineVersionValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opModifyCustomDBEngineVersion(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opModifyCustomDBEngineVersion(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rds", + OperationName: "ModifyCustomDBEngineVersion", + } +} diff --git a/service/rds/api_op_ModifyDBInstance.go b/service/rds/api_op_ModifyDBInstance.go index 0ca989fdcdb..04c863ea9c0 100644 --- a/service/rds/api_op_ModifyDBInstance.go +++ b/service/rds/api_op_ModifyDBInstance.go @@ -51,9 +51,10 @@ type ModifyDBInstanceInput struct { // A value that indicates whether major version upgrades are allowed. Changing this // parameter doesn't result in an outage and the change is asynchronously applied - // as soon as possible. Constraints: Major version upgrades must be allowed when - // specifying a value for the EngineVersion parameter that is a different major - // version than the DB instance's current version. + // as soon as possible. This setting doesn't apply to RDS Custom. Constraints: + // Major version upgrades must be allowed when specifying a value for the + // EngineVersion parameter that is a different major version than the DB instance's + // current version. AllowMajorVersionUpgrade bool // A value that indicates whether the modifications in this request and any pending @@ -70,15 +71,31 @@ type ModifyDBInstanceInput struct { ApplyImmediately bool // A value that indicates whether minor version upgrades are applied automatically - // to the DB instance during the maintenance window. Changing this parameter - // doesn't result in an outage except in the following case and the change is - // asynchronously applied as soon as possible. An outage results if this parameter - // is enabled during the maintenance window, and a newer minor version is - // available, and RDS has enabled auto patching for that engine version. + // to the DB instance during the maintenance window. An outage occurs when all the + // following conditions are met: + // + // * The automatic upgrade is enabled for the + // maintenance window. + // + // * A newer minor version is available. + // + // * RDS has enabled + // automatic patching for the engine version. + // + // If any of the preceding conditions + // isn't met, RDS applies the change as soon as possible and doesn't cause an + // outage. For an RDS Custom DB instance, set AutoMinorVersionUpgrade to false. + // Otherwise, the operation returns an error. AutoMinorVersionUpgrade *bool + // The automation mode of the RDS Custom DB instance: full or all paused. If full, + // the DB instance automates monitoring and instance recovery. If all paused, the + // instance pauses automation for the duration set by + // ResumeFullAutomationModeMinutes. + AutomationMode types.AutomationMode + // The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services - // Backup. + // Backup. This setting doesn't apply to RDS Custom. AwsBackupRecoveryPointArn *string // The number of days to retain automated backups. Setting this parameter to a @@ -93,19 +110,19 @@ type ModifyDBInstanceInput struct { // cluster. For more information, see ModifyDBCluster. Default: Uses existing // setting Constraints: // - // * Must be a value from 0 to 35 + // * It must be a value from 0 to 35. It can't be set to 0 if + // the DB instance is a source to read replicas. It can't be set to 0 or 35 for an + // RDS Custom DB instance. // - // * Can be specified for a - // MySQL read replica only if the source is running MySQL 5.6 or later + // * It can be specified for a MySQL read replica only if + // the source is running MySQL 5.6 or later. // - // * Can be - // specified for a PostgreSQL read replica only if the source is running PostgreSQL - // 9.3.5 - // - // * Can't be set to 0 if the DB instance is a source to read replicas + // * It can be specified for a + // PostgreSQL read replica only if the source is running PostgreSQL 9.3.5. BackupRetentionPeriod *int32 - // Indicates the certificate that needs to be associated with the instance. + // Specifies the certificate to associate with the DB instance. This setting + // doesn't apply to RDS Custom. CACertificateIdentifier *string // A value that indicates whether the DB instance is restarted when you rotate your @@ -126,12 +143,15 @@ type ModifyDBInstanceInput struct { // Certificate // (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) // in the Amazon Aurora User Guide. + // + // This setting doesn't apply to RDS Custom. CertificateRotationRestart *bool // The configuration setting for the log types to be enabled for export to // CloudWatch Logs for a specific DB instance. A change to the // CloudwatchLogsExportConfiguration parameter is always applied to the DB instance - // immediately. Therefore, the ApplyImmediately parameter has no effect. + // immediately. Therefore, the ApplyImmediately parameter has no effect. This + // setting doesn't apply to RDS Custom. CloudwatchLogsExportConfiguration *types.CloudwatchLogsExportConfiguration // A value that indicates whether to copy all tags from the DB instance to @@ -148,37 +168,40 @@ type ModifyDBInstanceInput struct { // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) // in the Amazon RDS User Guide. If you modify the DB instance class, an outage // occurs during the change. The change is applied during the next maintenance - // window, unless ApplyImmediately is enabled for this request. Default: Uses - // existing setting + // window, unless ApplyImmediately is enabled for this request. This setting + // doesn't apply to RDS Custom. Default: Uses existing setting DBInstanceClass *string // The name of the DB parameter group to apply to the DB instance. Changing this // setting doesn't result in an outage. The parameter group name itself is changed // immediately, but the actual parameter changes are not applied until you reboot // the instance without failover. In this case, the DB instance isn't rebooted - // automatically and the parameter changes isn't applied during the next - // maintenance window. Default: Uses existing setting Constraints: The DB parameter - // group must be in the same DB parameter group family as this DB instance. + // automatically, and the parameter changes aren't applied during the next + // maintenance window. However, if you modify dynamic parameters in the newly + // associated DB parameter group, these changes are applied immediately without a + // reboot. This setting doesn't apply to RDS Custom. Default: Uses existing setting + // Constraints: The DB parameter group must be in the same DB parameter group + // family as the DB instance. DBParameterGroupName *string // The port number on which the database accepts connections. The value of the // DBPortNumber parameter must not match any of the port values specified for - // options in the option group for the DB instance. Your database will restart when - // you change the DBPortNumber value regardless of the value of the - // ApplyImmediately parameter. MySQL Default: 3306 Valid values: 1150-65535 MariaDB - // Default: 3306 Valid values: 1150-65535 PostgreSQL Default: 5432 Valid values: - // 1150-65535 Type: Integer Oracle Default: 1521 Valid values: 1150-65535 SQL - // Server Default: 1433 Valid values: 1150-65535 except 1234, 1434, 3260, 3343, - // 3389, 47001, and 49152-49156. Amazon Aurora Default: 3306 Valid values: - // 1150-65535 + // options in the option group for the DB instance. If you change the DBPortNumber + // value, your database restarts regardless of the value of the ApplyImmediately + // parameter. This setting doesn't apply to RDS Custom. MySQL Default: 3306 Valid + // values: 1150-65535 MariaDB Default: 3306 Valid values: 1150-65535 PostgreSQL + // Default: 5432 Valid values: 1150-65535 Type: Integer Oracle Default: 1521 Valid + // values: 1150-65535 SQL Server Default: 1433 Valid values: 1150-65535 except + // 1234, 1434, 3260, 3343, 3389, 47001, and 49152-49156. Amazon Aurora Default: + // 3306 Valid values: 1150-65535 DBPortNumber *int32 // A list of DB security groups to authorize on this DB instance. Changing this // setting doesn't result in an outage and the change is asynchronously applied as - // soon as possible. Constraints: + // soon as possible. This setting doesn't apply to RDS Custom. Constraints: // - // * If supplied, must match existing - // DBSecurityGroups. + // * If + // supplied, must match existing DBSecurityGroups. DBSecurityGroups []string // The new DB subnet group for the DB instance. You can use this parameter to move @@ -188,8 +211,9 @@ type ModifyDBInstanceInput struct { // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC) // in the Amazon RDS User Guide. Changing the subnet group causes an outage during // the change. The change is applied during the next maintenance window, unless you - // enable ApplyImmediately. Constraints: If supplied, must match the name of an - // existing DBSubnetGroup. Example: mySubnetGroup + // enable ApplyImmediately. This parameter doesn't apply to RDS Custom. + // Constraints: If supplied, must match the name of an existing DBSubnetGroup. + // Example: mySubnetGroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. @@ -200,15 +224,16 @@ type ModifyDBInstanceInput struct { DeletionProtection *bool // The Active Directory directory ID to move the DB instance to. Specify none to - // remove the instance from its current domain. The domain must be created prior to - // this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and - // PostgreSQL DB instances can be created in an Active Directory Domain. For more + // remove the instance from its current domain. You must create the domain before + // this operation. Currently, you can create only MySQL, Microsoft SQL Server, + // Oracle, and PostgreSQL DB instances in an Active Directory Domain. For more // information, see Kerberos Authentication // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. Domain *string // The name of the IAM role to use when making API calls to the Directory Service. + // This setting doesn't apply to RDS Custom. DomainIAMRoleName *string // A value that indicates whether to enable a customer-owned IP address (CoIP) for @@ -232,13 +257,14 @@ type ModifyDBInstanceInput struct { // more information about IAM database authentication, see IAM Database // Authentication for MySQL and PostgreSQL // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnableIAMDatabaseAuthentication *bool // A value that indicates whether to enable Performance Insights for the DB // instance. For more information, see Using Amazon Performance Insights // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) - // in the Amazon Relational Database Service User Guide. + // in the Amazon Relational Database Service User Guide. This setting doesn't apply + // to RDS Custom. EnablePerformanceInsights *bool // The version number of the database engine to upgrade to. Changing this parameter @@ -250,7 +276,9 @@ type ModifyDBInstanceInput struct { // that DB parameter group family. If you specify only a major version, Amazon RDS // will update the DB instance to the default minor version if the current minor // version is lower. For information about valid engine versions, see - // CreateDBInstance, or call DescribeDBEngineVersions. + // CreateDBInstance, or call DescribeDBEngineVersions. In RDS Custom, this + // parameter is supported for read replicas only if they are in the + // PATCH_DB_FAILURE lifecycle. EngineVersion *string // The new Provisioned IOPS (I/O operations per second) value for the RDS instance. @@ -277,8 +305,8 @@ type ModifyDBInstanceInput struct { // existing setting Iops *int32 - // The license model for the DB instance. Valid values: license-included | - // bring-your-own-license | general-public-license + // The license model for the DB instance. This setting doesn't apply to RDS Custom. + // Valid values: license-included | bring-your-own-license | general-public-license LicenseModel *string // The new password for the master user. The password can include any printable @@ -286,16 +314,16 @@ type ModifyDBInstanceInput struct { // in an outage and the change is asynchronously applied as soon as possible. // Between the time of the request and the completion of the request, the // MasterUserPassword element exists in the PendingModifiedValues element of the - // operation response. Amazon Aurora Not applicable. The password for the master - // user is managed by the DB cluster. For more information, see ModifyDBCluster. - // Default: Uses existing setting MariaDB Constraints: Must contain from 8 to 41 - // characters. Microsoft SQL Server Constraints: Must contain from 8 to 128 - // characters. MySQL Constraints: Must contain from 8 to 41 characters. Oracle - // Constraints: Must contain from 8 to 30 characters. PostgreSQL Constraints: Must - // contain from 8 to 128 characters. Amazon RDS API actions never return the - // password, so this action provides a way to regain access to a primary instance - // user if the password is lost. This includes restoring privileges that might have - // been accidentally revoked. + // operation response. This setting doesn't apply to RDS Custom. Amazon Aurora Not + // applicable. The password for the master user is managed by the DB cluster. For + // more information, see ModifyDBCluster. Default: Uses existing setting MariaDB + // Constraints: Must contain from 8 to 41 characters. Microsoft SQL Server + // Constraints: Must contain from 8 to 128 characters. MySQL Constraints: Must + // contain from 8 to 41 characters. Oracle Constraints: Must contain from 8 to 30 + // characters. PostgreSQL Constraints: Must contain from 8 to 128 characters. + // Amazon RDS API actions never return the password, so this action provides a way + // to regain access to a primary instance user if the password is lost. This + // includes restoring privileges that might have been accidentally revoked. MasterUserPassword *string // The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale @@ -303,71 +331,72 @@ type ModifyDBInstanceInput struct { // including limitations that apply to it, see Managing capacity automatically // with Amazon RDS storage autoscaling // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. MaxAllocatedStorage *int32 // The interval, in seconds, between points when Enhanced Monitoring metrics are // collected for the DB instance. To disable collecting Enhanced Monitoring - // metrics, specify 0. The default is 0. If MonitoringRoleArn is specified, then - // you must also set MonitoringInterval to a value other than 0. Valid Values: 0, - // 1, 5, 10, 15, 30, 60 + // metrics, specify 0, which is the default. If MonitoringRoleArn is specified, set + // MonitoringInterval to a value other than 0. This setting doesn't apply to RDS + // Custom. Valid Values: 0, 1, 5, 10, 15, 30, 60 MonitoringInterval *int32 // The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to // Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For - // information on creating a monitoring role, go to To create an IAM role for - // Amazon RDS Enhanced Monitoring + // information on creating a monitoring role, see To create an IAM role for Amazon + // RDS Enhanced Monitoring // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole) // in the Amazon RDS User Guide. If MonitoringInterval is set to a value other than - // 0, then you must supply a MonitoringRoleArn value. + // 0, supply a MonitoringRoleArn value. This setting doesn't apply to RDS Custom. MonitoringRoleArn *string // A value that indicates whether the DB instance is a Multi-AZ deployment. - // Changing this parameter doesn't result in an outage and the change is applied + // Changing this parameter doesn't result in an outage. The change is applied // during the next maintenance window unless the ApplyImmediately parameter is - // enabled for this request. + // enabled for this request. This setting doesn't apply to RDS Custom. MultiAZ *bool // The new DB instance identifier for the DB instance when renaming a DB instance. // When you change the DB instance identifier, an instance reboot occurs // immediately if you enable ApplyImmediately, or will occur during the next // maintenance window if you disable Apply Immediately. This value is stored as a - // lowercase string. Constraints: + // lowercase string. This setting doesn't apply to RDS Custom. Constraints: // - // * Must contain from 1 to 63 letters, numbers, or - // hyphens. + // * Must + // contain from 1 to 63 letters, numbers, or hyphens. // - // * The first character must be a letter. + // * The first character must + // be a letter. // - // * Can't end with a hyphen or - // contain two consecutive hyphens. + // * Can't end with a hyphen or contain two consecutive + // hyphens. // // Example: mydbinstance NewDBInstanceIdentifier *string // A value that indicates the DB instance should be associated with the specified - // option group. Changing this parameter doesn't result in an outage except in the - // following case and the change is applied during the next maintenance window - // unless the ApplyImmediately parameter is enabled for this request. If the - // parameter change results in an option group that enables OEM, this change can - // cause a brief (sub-second) period during which new connections are rejected but - // existing connections are not interrupted. Permanent options, such as the TDE - // option for Oracle Advanced Security TDE, can't be removed from an option group, - // and that option group can't be removed from a DB instance once it is associated - // with a DB instance + // option group. Changing this parameter doesn't result in an outage, with one + // exception. If the parameter change results in an option group that enables OEM, + // it can cause a brief period, lasting less than a second, during which new + // connections are rejected but existing connections aren't interrupted. The change + // is applied during the next maintenance window unless the ApplyImmediately + // parameter is enabled for this request. Permanent options, such as the TDE option + // for Oracle Advanced Security TDE, can't be removed from an option group, and + // that option group can't be removed from a DB instance after it is associated + // with a DB instance. This setting doesn't apply to RDS Custom. OptionGroupName *string // The Amazon Web Services KMS key identifier for encryption of Performance // Insights data. The Amazon Web Services KMS key identifier is the key ARN, key - // ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key - // (CMK). If you do not specify a value for PerformanceInsightsKMSKeyId, then - // Amazon RDS uses your default CMK. There is a default CMK for your Amazon Web - // Services account. Your Amazon Web Services account has a different default CMK - // for each Amazon Web Services Region. + // ID, alias ARN, or alias name for the KMS key. If you do not specify a value for + // PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is + // a default KMS key for your Amazon Web Services account. Your Amazon Web Services + // account has a different default KMS key for each Amazon Web Services Region. + // This setting doesn't apply to RDS Custom. PerformanceInsightsKMSKeyId *string // The amount of time, in days, to retain Performance Insights data. Valid values - // are 7 or 731 (2 years). + // are 7 or 731 (2 years). This setting doesn't apply to RDS Custom. PerformanceInsightsRetentionPeriod *int32 // The daily time range during which automated backups are created if automated @@ -408,14 +437,15 @@ type ModifyDBInstanceInput struct { PreferredMaintenanceWindow *string // The number of CPU cores and the number of threads per core for the DB instance - // class of the DB instance. + // class of the DB instance. This setting doesn't apply to RDS Custom. ProcessorFeatures []types.ProcessorFeature // A value that specifies the order in which an Aurora Replica is promoted to the // primary instance after a failure of the existing primary instance. For more // information, see Fault Tolerance for an Aurora DB Cluster // (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance) - // in the Amazon Aurora User Guide. Default: 1 Valid Values: 0 - 15 + // in the Amazon Aurora User Guide. This setting doesn't apply to RDS Custom. + // Default: 1 Valid Values: 0 - 15 PromotionTier *int32 // A value that indicates whether the DB instance is publicly accessible. When the @@ -429,7 +459,8 @@ type ModifyDBInstanceInput struct { // applies to DB instances in a VPC. The DB instance must be part of a public // subnet and PubliclyAccessible must be enabled for it to be publicly accessible. // Changes to the PubliclyAccessible parameter are applied immediately regardless - // of the value of the ApplyImmediately parameter. + // of the value of the ApplyImmediately parameter. This setting doesn't apply to + // RDS Custom. PubliclyAccessible *bool // A value that sets the open mode of a replica database to either mounted or @@ -441,9 +472,14 @@ type ModifyDBInstanceInput struct { // read-only workload. For more information, see Working with Oracle Read Replicas // for Amazon RDS // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. ReplicaMode types.ReplicaMode + // The number of minutes to pause the automation. When the time period ends, RDS + // Custom resumes full automation. The minimum value is 60 (default). The maximum + // value is 1,440. + ResumeFullAutomationModeMinutes *int32 + // Specifies the storage type to be associated with the DB instance. If you specify // Provisioned IOPS (io1), you must also include a value for the Iops parameter. If // you choose to migrate your DB instance from using standard storage to using @@ -463,23 +499,25 @@ type ModifyDBInstanceInput struct { StorageType *string // The ARN from the key store with which to associate the instance for TDE - // encryption. + // encryption. This setting doesn't apply to RDS Custom. TdeCredentialArn *string // The password for the given ARN from the key store in order to access the device. + // This setting doesn't apply to RDS Custom. TdeCredentialPassword *string // A value that indicates whether the DB instance class of the DB instance uses its - // default processor features. + // default processor features. This setting doesn't apply to RDS Custom. UseDefaultProcessorFeatures *bool - // A list of EC2 VPC security groups to authorize on this DB instance. This change - // is asynchronously applied as soon as possible. Amazon Aurora Not applicable. The - // associated list of EC2 VPC security groups is managed by the DB cluster. For - // more information, see ModifyDBCluster. Constraints: + // A list of Amazon EC2 VPC security groups to authorize on this DB instance. This + // change is asynchronously applied as soon as possible. This setting doesn't apply + // to RDS Custom. Amazon Aurora Not applicable. The associated list of EC2 VPC + // security groups is managed by the DB cluster. For more information, see + // ModifyDBCluster. Constraints: // - // * If supplied, must match - // existing VpcSecurityGroupIds. + // * If supplied, must match existing + // VpcSecurityGroupIds. VpcSecurityGroupIds []string noSmithyDocumentSerde diff --git a/service/rds/api_op_ModifyDBSnapshot.go b/service/rds/api_op_ModifyDBSnapshot.go index d8ec6dfa0f1..18d7cf40720 100644 --- a/service/rds/api_op_ModifyDBSnapshot.go +++ b/service/rds/api_op_ModifyDBSnapshot.go @@ -13,7 +13,8 @@ import ( // Updates a manual DB snapshot with a new engine version. The snapshot can be // encrypted or unencrypted, but not shared or public. Amazon RDS supports -// upgrading DB snapshots for MySQL, Oracle, and PostgreSQL. +// upgrading DB snapshots for MySQL, PostgreSQL, and Oracle. This command doesn't +// apply to RDS Custom. func (c *Client) ModifyDBSnapshot(ctx context.Context, params *ModifyDBSnapshotInput, optFns ...func(*Options)) (*ModifyDBSnapshotOutput, error) { if params == nil { params = &ModifyDBSnapshotInput{} diff --git a/service/rds/api_op_PromoteReadReplica.go b/service/rds/api_op_PromoteReadReplica.go index a1b35d4432f..885710d104c 100644 --- a/service/rds/api_op_PromoteReadReplica.go +++ b/service/rds/api_op_PromoteReadReplica.go @@ -23,7 +23,7 @@ import ( // do not interfere with read replica promotion. // // * This command doesn't apply to -// Aurora MySQL and Aurora PostgreSQL. +// Aurora MySQL, Aurora PostgreSQL, or RDS Custom. func (c *Client) PromoteReadReplica(ctx context.Context, params *PromoteReadReplicaInput, optFns ...func(*Options)) (*PromoteReadReplicaOutput, error) { if params == nil { params = &PromoteReadReplicaInput{} diff --git a/service/rds/api_op_RebootDBInstance.go b/service/rds/api_op_RebootDBInstance.go index 4d3dbd92578..a1c4d651b2b 100644 --- a/service/rds/api_op_RebootDBInstance.go +++ b/service/rds/api_op_RebootDBInstance.go @@ -19,7 +19,7 @@ import ( // DB instance status is set to rebooting. For more information about rebooting, // see Rebooting a DB Instance // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html) -// in the Amazon RDS User Guide. +// in the Amazon RDS User Guide. This command doesn't apply to RDS Custom. func (c *Client) RebootDBInstance(ctx context.Context, params *RebootDBInstanceInput, optFns ...func(*Options)) (*RebootDBInstanceOutput, error) { if params == nil { params = &RebootDBInstanceInput{} diff --git a/service/rds/api_op_RemoveRoleFromDBCluster.go b/service/rds/api_op_RemoveRoleFromDBCluster.go index 38877f6f55f..525ef610b35 100644 --- a/service/rds/api_op_RemoveRoleFromDBCluster.go +++ b/service/rds/api_op_RemoveRoleFromDBCluster.go @@ -44,7 +44,7 @@ type RemoveRoleFromDBClusterInput struct { RoleArn *string // The name of the feature for the DB cluster that the IAM role is to be - // disassociated from. For the list of supported feature names, see + // disassociated from. For information about supported feature names, see // DBEngineVersion. FeatureName *string diff --git a/service/rds/api_op_RemoveRoleFromDBInstance.go b/service/rds/api_op_RemoveRoleFromDBInstance.go index f148860216f..4b70e42e53e 100644 --- a/service/rds/api_op_RemoveRoleFromDBInstance.go +++ b/service/rds/api_op_RemoveRoleFromDBInstance.go @@ -35,7 +35,7 @@ type RemoveRoleFromDBInstanceInput struct { DBInstanceIdentifier *string // The name of the feature for the DB instance that the IAM role is to be - // disassociated from. For the list of supported feature names, see + // disassociated from. For information about supported feature names, see // DBEngineVersion. // // This member is required. diff --git a/service/rds/api_op_RestoreDBClusterFromS3.go b/service/rds/api_op_RestoreDBClusterFromS3.go index 8f021aab179..7810de318b3 100644 --- a/service/rds/api_op_RestoreDBClusterFromS3.go +++ b/service/rds/api_op_RestoreDBClusterFromS3.go @@ -201,13 +201,12 @@ type RestoreDBClusterFromS3Input struct { // The Amazon Web Services KMS key identifier for an encrypted DB cluster. The // Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS customer master key (CMK). To use a - // CMK in a different Amazon Web Services account, specify the key ARN or alias - // ARN. If the StorageEncrypted parameter is enabled, and you do not specify a - // value for the KmsKeyId parameter, then Amazon RDS will use your default CMK. - // There is a default CMK for your Amazon Web Services account. Your Amazon Web - // Services account has a different default CMK for each Amazon Web Services - // Region. + // alias name for the KMS key. To use a KMS key in a different Amazon Web Services + // account, specify the key ARN or alias ARN. If the StorageEncrypted parameter is + // enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon + // RDS will use your default KMS key. There is a default KMS key for your Amazon + // Web Services account. Your Amazon Web Services account has a different default + // KMS key for each Amazon Web Services Region. KmsKeyId *string // A value that indicates that the restored DB cluster should be associated with diff --git a/service/rds/api_op_RestoreDBClusterFromSnapshot.go b/service/rds/api_op_RestoreDBClusterFromSnapshot.go index cc54b5c71d5..2d6a585d5eb 100644 --- a/service/rds/api_op_RestoreDBClusterFromSnapshot.go +++ b/service/rds/api_op_RestoreDBClusterFromSnapshot.go @@ -168,19 +168,18 @@ type RestoreDBClusterFromSnapshotInput struct { // The Amazon Web Services KMS key identifier to use when restoring an encrypted DB // cluster from a DB snapshot or DB cluster snapshot. The Amazon Web Services KMS - // key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon - // Web Services KMS customer master key (CMK). To use a CMK in a different Amazon - // Web Services account, specify the key ARN or alias ARN. When you don't specify a - // value for the KmsKeyId parameter, then the following occurs: + // key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + // To use a KMS key in a different Amazon Web Services account, specify the key ARN + // or alias ARN. When you don't specify a value for the KmsKeyId parameter, then + // the following occurs: // - // * If the DB - // snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the - // restored DB cluster is encrypted using the Amazon Web Services KMS CMK that was - // used to encrypt the DB snapshot or DB cluster snapshot. + // * If the DB snapshot or DB cluster snapshot in + // SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using + // the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot. // - // * If the DB snapshot or - // DB cluster snapshot in SnapshotIdentifier isn't encrypted, then the restored DB - // cluster isn't encrypted. + // * + // If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't encrypted, + // then the restored DB cluster isn't encrypted. KmsKeyId *string // The name of the option group to use for the restored DB cluster. diff --git a/service/rds/api_op_RestoreDBClusterToPointInTime.go b/service/rds/api_op_RestoreDBClusterToPointInTime.go index d8583fd75a9..9bceb443d45 100644 --- a/service/rds/api_op_RestoreDBClusterToPointInTime.go +++ b/service/rds/api_op_RestoreDBClusterToPointInTime.go @@ -138,25 +138,23 @@ type RestoreDBClusterToPointInTimeInput struct { // The Amazon Web Services KMS key identifier to use when restoring an encrypted DB // cluster from an encrypted DB cluster. The Amazon Web Services KMS key identifier - // is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS - // customer master key (CMK). To use a CMK in a different Amazon Web Services - // account, specify the key ARN or alias ARN. You can restore to a new DB cluster - // and encrypt the new DB cluster with a Amazon Web Services KMS CMK that is - // different than the Amazon Web Services KMS key used to encrypt the source DB - // cluster. The new DB cluster is encrypted with the Amazon Web Services KMS CMK - // identified by the KmsKeyId parameter. If you don't specify a value for the - // KmsKeyId parameter, then the following occurs: + // is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS + // key in a different Amazon Web Services account, specify the key ARN or alias + // ARN. You can restore to a new DB cluster and encrypt the new DB cluster with a + // KMS key that is different from the KMS key used to encrypt the source DB + // cluster. The new DB cluster is encrypted with the KMS key identified by the + // KmsKeyId parameter. If you don't specify a value for the KmsKeyId parameter, + // then the following occurs: // - // * If the DB cluster is - // encrypted, then the restored DB cluster is encrypted using the Amazon Web - // Services KMS CMK that was used to encrypt the source DB cluster. + // * If the DB cluster is encrypted, then the restored + // DB cluster is encrypted using the KMS key that was used to encrypt the source DB + // cluster. // - // * If the DB - // cluster isn't encrypted, then the restored DB cluster isn't encrypted. + // * If the DB cluster isn't encrypted, then the restored DB cluster + // isn't encrypted. // - // If - // DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the - // restore request is rejected. + // If DBClusterIdentifier refers to a DB cluster that isn't + // encrypted, then the restore request is rejected. KmsKeyId *string // The name of the option group for the new DB cluster. diff --git a/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go b/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go index a6a3d68d188..de06fc940bc 100644 --- a/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go +++ b/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go @@ -75,7 +75,8 @@ type RestoreDBInstanceFromDBSnapshotInput struct { DBSnapshotIdentifier *string // A value that indicates whether minor version upgrades are applied automatically - // to the DB instance during the maintenance window. + // to the DB instance during the maintenance window. If you restore an RDS Custom + // DB instance, you must disable this parameter. AutoMinorVersionUpgrade *bool // The Availability Zone (AZ) where the DB instance will be created. Default: A @@ -88,6 +89,26 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // snapshots of the DB instance. By default, tags are not copied. CopyTagsToSnapshot *bool + // The instance profile associated with the underlying Amazon EC2 instance of an + // RDS Custom DB instance. The instance profile must meet the following + // requirements: + // + // * The profile must exist in your account. + // + // * The profile must + // have an IAM role that Amazon EC2 has permissions to assume. + // + // * The instance + // profile name and the associated IAM role name must start with the prefix + // AWSRDSCustom. + // + // For the list of permissions required for the IAM role, see + // Configure IAM and your VPC + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) + // in the Amazon Relational Database Service User Guide. This setting is required + // for RDS Custom. + CustomIamInstanceProfile *string + // The compute and memory capacity of the Amazon RDS DB instance, for example, // db.m4.large. Not all DB instance classes are available in all Amazon Web // Services Regions, or for all database engines. For the full list of DB instance @@ -98,23 +119,25 @@ type RestoreDBInstanceFromDBSnapshotInput struct { DBInstanceClass *string // The database name for the restored DB instance. This parameter doesn't apply to - // the MySQL, PostgreSQL, or MariaDB engines. + // the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS Custom + // DB instances. DBName *string - // The name of the DB parameter group to associate with this DB instance. If you do - // not specify a value for DBParameterGroupName, then the default DBParameterGroup - // for the specified DB engine is used. Constraints: + // The name of the DB parameter group to associate with this DB instance. If you + // don't specify a value for DBParameterGroupName, then RDS uses the default + // DBParameterGroup for the specified DB engine. This setting doesn't apply to RDS + // Custom. Constraints: // - // * If supplied, must match the - // name of an existing DBParameterGroup. + // * If supplied, must match the name of an existing + // DBParameterGroup. // - // * Must be 1 to 255 letters, numbers, or - // hyphens. + // * Must be 1 to 255 letters, numbers, or hyphens. // - // * First character must be a letter. + // * First + // character must be a letter. // - // * Can't end with a hyphen or - // contain two consecutive hyphens. + // * Can't end with a hyphen or contain two + // consecutive hyphens. DBParameterGroupName *string // The DB subnet group name to use for the new instance. Constraints: If supplied, @@ -129,31 +152,31 @@ type RestoreDBInstanceFromDBSnapshotInput struct { DeletionProtection *bool // Specify the Active Directory directory ID to restore the DB instance in. The - // domain must be created prior to this operation. Currently, only MySQL, Microsoft - // SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active + // domain/ must be created prior to this operation. Currently, you can create only + // MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active // Directory Domain. For more information, see Kerberos Authentication // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. Domain *string // Specify the name of the IAM role to be used when making API calls to the - // Directory Service. + // Directory Service. This setting doesn't apply to RDS Custom. DomainIAMRoleName *string // The list of logs that the restored DB instance is to export to CloudWatch Logs. // The values in the list depend on the DB engine being used. For more information, // see Publishing Database Logs to Amazon CloudWatch Logs // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnableCloudwatchLogsExports []string // A value that indicates whether to enable a customer-owned IP address (CoIP) for // an RDS on Outposts DB instance. A CoIP provides local or external connectivity // to resources in your Outpost subnets through your on-premises network. For some // use cases, a CoIP can provide lower latency for connections to the DB instance - // from outside of its virtual private cloud (VPC) on your local network. For more - // information about RDS on Outposts, see Working with Amazon RDS on Amazon Web - // Services Outposts + // from outside of its virtual private cloud (VPC) on your local network. This + // setting doesn't apply to RDS Custom. For more information about RDS on Outposts, + // see Working with Amazon RDS on Amazon Web Services Outposts // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) in // the Amazon RDS User Guide. For more information about CoIPs, see Customer-owned // IP addresses @@ -166,13 +189,13 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // is disabled. For more information about IAM database authentication, see IAM // Database Authentication for MySQL and PostgreSQL // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnableIAMDatabaseAuthentication *bool - // The database engine to use for the new instance. Default: The same as source - // Constraint: Must be compatible with the engine of the source. For example, you - // can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot. Valid - // Values: + // The database engine to use for the new instance. This setting doesn't apply to + // RDS Custom. Default: The same as source Constraint: Must be compatible with the + // engine of the source. For example, you can restore a MariaDB 10.1 DB instance + // from a MySQL 5.6 snapshot. Valid Values: // // * mariadb // @@ -180,23 +203,23 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // // * oracle-ee // - // * oracle-ee-cdb + // * + // oracle-ee-cdb // // * oracle-se2 // - // * - // oracle-se2-cdb + // * oracle-se2-cdb // // * postgres // // * sqlserver-ee // - // * sqlserver-se + // * + // sqlserver-se // // * sqlserver-ex // - // * - // sqlserver-web + // * sqlserver-web Engine *string // Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O @@ -211,19 +234,21 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // in the Amazon RDS User Guide. Constraints: Must be an integer greater than 1000. Iops *int32 - // License model information for the restored DB instance. Default: Same as source. - // Valid values: license-included | bring-your-own-license | general-public-license + // License model information for the restored DB instance. This setting doesn't + // apply to RDS Custom. Default: Same as source. Valid values: license-included | + // bring-your-own-license | general-public-license LicenseModel *string - // A value that indicates whether the DB instance is a Multi-AZ deployment. - // Constraint: You can't specify the AvailabilityZone parameter if the DB instance - // is a Multi-AZ deployment. + // A value that indicates whether the DB instance is a Multi-AZ deployment. This + // setting doesn't apply to RDS Custom. Constraint: You can't specify the + // AvailabilityZone parameter if the DB instance is a Multi-AZ deployment. MultiAZ *bool // The name of the option group to be used for the restored DB instance. Permanent // options, such as the TDE option for Oracle Advanced Security TDE, can't be // removed from an option group, and that option group can't be removed from a DB - // instance once it is associated with a DB instance + // instance after it is associated with a DB instance. This setting doesn't apply + // to RDS Custom. OptionGroupName *string // The port number on which the database accepts connections. Default: The same @@ -231,7 +256,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { Port *int32 // The number of CPU cores and the number of threads per core for the DB instance - // class of the DB instance. + // class of the DB instance. This setting doesn't apply to RDS Custom. ProcessorFeatures []types.ProcessorFeature // A value that indicates whether the DB instance is publicly accessible. When the @@ -256,14 +281,15 @@ type RestoreDBInstanceFromDBSnapshotInput struct { Tags []types.Tag // The ARN from the key store with which to associate the instance for TDE - // encryption. + // encryption. This setting doesn't apply to RDS Custom. TdeCredentialArn *string // The password for the given ARN from the key store in order to access the device. + // This setting doesn't apply to RDS Custom. TdeCredentialPassword *string // A value that indicates whether the DB instance class of the DB instance uses its - // default processor features. + // default processor features. This setting doesn't apply to RDS Custom. UseDefaultProcessorFeatures *bool // A list of EC2 VPC security groups to associate with this DB instance. Default: diff --git a/service/rds/api_op_RestoreDBInstanceFromS3.go b/service/rds/api_op_RestoreDBInstanceFromS3.go index 8bdc9f13ff7..44e1c090451 100644 --- a/service/rds/api_op_RestoreDBInstanceFromS3.go +++ b/service/rds/api_op_RestoreDBInstanceFromS3.go @@ -17,7 +17,7 @@ import ( // restore the backup file onto a new Amazon RDS DB instance running MySQL. For // more information, see Importing Data into an Amazon RDS MySQL DB Instance // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) -// in the Amazon RDS User Guide. +// in the Amazon RDS User Guide. This command doesn't apply to RDS Custom. func (c *Client) RestoreDBInstanceFromS3(ctx context.Context, params *RestoreDBInstanceFromS3Input, optFns ...func(*Options)) (*RestoreDBInstanceFromS3Output, error) { if params == nil { params = &RestoreDBInstanceFromS3Input{} @@ -179,13 +179,12 @@ type RestoreDBInstanceFromS3Input struct { // The Amazon Web Services KMS key identifier for an encrypted DB instance. The // Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or - // alias name for the Amazon Web Services KMS customer master key (CMK). To use a - // CMK in a different Amazon Web Services account, specify the key ARN or alias - // ARN. If the StorageEncrypted parameter is enabled, and you do not specify a - // value for the KmsKeyId parameter, then Amazon RDS will use your default CMK. - // There is a default CMK for your Amazon Web Services account. Your Amazon Web - // Services account has a different default CMK for each Amazon Web Services - // Region. + // alias name for the KMS key. To use a KMS key in a different Amazon Web Services + // account, specify the key ARN or alias ARN. If the StorageEncrypted parameter is + // enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon + // RDS will use your default KMS key. There is a default KMS key for your Amazon + // Web Services account. Your Amazon Web Services account has a different default + // KMS key for each Amazon Web Services Region. KmsKeyId *string // The license model for this DB instance. Use general-public-license. @@ -242,11 +241,10 @@ type RestoreDBInstanceFromS3Input struct { // The Amazon Web Services KMS key identifier for encryption of Performance // Insights data. The Amazon Web Services KMS key identifier is the key ARN, key - // ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key - // (CMK). If you do not specify a value for PerformanceInsightsKMSKeyId, then - // Amazon RDS uses your default CMK. There is a default CMK for your Amazon Web - // Services account. Your Amazon Web Services account has a different default CMK - // for each Amazon Web Services Region. + // ID, alias ARN, or alias name for the KMS key. If you do not specify a value for + // PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is + // a default KMS key for your Amazon Web Services account. Your Amazon Web Services + // account has a different default KMS key for each Amazon Web Services Region. PerformanceInsightsKMSKeyId *string // The amount of time, in days, to retain Performance Insights data. Valid values diff --git a/service/rds/api_op_RestoreDBInstanceToPointInTime.go b/service/rds/api_op_RestoreDBInstanceToPointInTime.go index 341d69cd882..811778a7e9f 100644 --- a/service/rds/api_op_RestoreDBInstanceToPointInTime.go +++ b/service/rds/api_op_RestoreDBInstanceToPointInTime.go @@ -55,7 +55,8 @@ type RestoreDBInstanceToPointInTimeInput struct { TargetDBInstanceIdentifier *string // A value that indicates whether minor version upgrades are applied automatically - // to the DB instance during the maintenance window. + // to the DB instance during the maintenance window. This setting doesn't apply to + // RDS Custom. AutoMinorVersionUpgrade *bool // The Availability Zone (AZ) where the DB instance will be created. Default: A @@ -68,6 +69,26 @@ type RestoreDBInstanceToPointInTimeInput struct { // snapshots of the DB instance. By default, tags are not copied. CopyTagsToSnapshot *bool + // The instance profile associated with the underlying Amazon EC2 instance of an + // RDS Custom DB instance. The instance profile must meet the following + // requirements: + // + // * The profile must exist in your account. + // + // * The profile must + // have an IAM role that Amazon EC2 has permissions to assume. + // + // * The instance + // profile name and the associated IAM role name must start with the prefix + // AWSRDSCustom. + // + // For the list of permissions required for the IAM role, see + // Configure IAM and your VPC + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) + // in the Amazon Relational Database Service User Guide. This setting is required + // for RDS Custom. + CustomIamInstanceProfile *string + // The compute and memory capacity of the Amazon RDS DB instance, for example, // db.m4.large. Not all DB instance classes are available in all Amazon Web // Services Regions, or for all database engines. For the full list of DB instance @@ -77,24 +98,25 @@ type RestoreDBInstanceToPointInTimeInput struct { // DB instance. DBInstanceClass *string - // The database name for the restored DB instance. This parameter isn't used for - // the MySQL or MariaDB engines. + // The database name for the restored DB instance. This parameter isn't supported + // for the MySQL or MariaDB engines. It also doesn't apply to RDS Custom. DBName *string // The name of the DB parameter group to associate with this DB instance. If you do // not specify a value for DBParameterGroupName, then the default DBParameterGroup - // for the specified DB engine is used. Constraints: + // for the specified DB engine is used. This setting doesn't apply to RDS Custom. + // Constraints: // - // * If supplied, must match the - // name of an existing DBParameterGroup. + // * If supplied, must match the name of an existing + // DBParameterGroup. // - // * Must be 1 to 255 letters, numbers, or - // hyphens. + // * Must be 1 to 255 letters, numbers, or hyphens. // - // * First character must be a letter. + // * First + // character must be a letter. // - // * Can't end with a hyphen or - // contain two consecutive hyphens. + // * Can't end with a hyphen or contain two + // consecutive hyphens. DBParameterGroupName *string // The DB subnet group name to use for the new instance. Constraints: If supplied, @@ -108,32 +130,33 @@ type RestoreDBInstanceToPointInTimeInput struct { // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). DeletionProtection *bool - // Specify the Active Directory directory ID to restore the DB instance in. The - // domain must be created prior to this operation. Currently, only MySQL, Microsoft - // SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active - // Directory Domain. For more information, see Kerberos Authentication + // Specify the Active Directory directory ID to restore the DB instance in. Create + // the domain before running this command. Currently, you can create only the + // MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active + // Directory Domain. This setting doesn't apply to RDS Custom. For more + // information, see Kerberos Authentication // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) // in the Amazon RDS User Guide. Domain *string // Specify the name of the IAM role to be used when making API calls to the - // Directory Service. + // Directory Service. This setting doesn't apply to RDS Custom. DomainIAMRoleName *string // The list of logs that the restored DB instance is to export to CloudWatch Logs. // The values in the list depend on the DB engine being used. For more information, // see Publishing Database Logs to Amazon CloudWatch Logs // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. EnableCloudwatchLogsExports []string // A value that indicates whether to enable a customer-owned IP address (CoIP) for // an RDS on Outposts DB instance. A CoIP provides local or external connectivity // to resources in your Outpost subnets through your on-premises network. For some // use cases, a CoIP can provide lower latency for connections to the DB instance - // from outside of its virtual private cloud (VPC) on your local network. For more - // information about RDS on Outposts, see Working with Amazon RDS on Amazon Web - // Services Outposts + // from outside of its virtual private cloud (VPC) on your local network. This + // setting doesn't apply to RDS Custom. For more information about RDS on Outposts, + // see Working with Amazon RDS on Amazon Web Services Outposts // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) in // the Amazon RDS User Guide. For more information about CoIPs, see Customer-owned // IP addresses @@ -143,39 +166,40 @@ type RestoreDBInstanceToPointInTimeInput struct { // A value that indicates whether to enable mapping of Amazon Web Services Identity // and Access Management (IAM) accounts to database accounts. By default, mapping - // is disabled. For more information about IAM database authentication, see IAM - // Database Authentication for MySQL and PostgreSQL + // is disabled. This setting doesn't apply to RDS Custom. For more information + // about IAM database authentication, see IAM Database Authentication for MySQL + // and PostgreSQL // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) // in the Amazon RDS User Guide. EnableIAMDatabaseAuthentication *bool - // The database engine to use for the new instance. Default: The same as source - // Constraint: Must be compatible with the engine of the source Valid Values: + // The database engine to use for the new instance. This setting doesn't apply to + // RDS Custom. Default: The same as source Constraint: Must be compatible with the + // engine of the source Valid Values: // - // * - // mariadb + // * mariadb // // * mysql // // * oracle-ee // - // * oracle-ee-cdb + // * + // oracle-ee-cdb // // * oracle-se2 // - // * - // oracle-se2-cdb + // * oracle-se2-cdb // // * postgres // // * sqlserver-ee // - // * sqlserver-se + // * + // sqlserver-se // // * sqlserver-ex // - // * - // sqlserver-web + // * sqlserver-web Engine *string // The amount of Provisioned IOPS (input/output operations per second) to be @@ -184,8 +208,9 @@ type RestoreDBInstanceToPointInTimeInput struct { // isn't supported. Iops *int32 - // License model information for the restored DB instance. Default: Same as source. - // Valid values: license-included | bring-your-own-license | general-public-license + // License model information for the restored DB instance. This setting doesn't + // apply to RDS Custom. Default: Same as source. Valid values: license-included | + // bring-your-own-license | general-public-license LicenseModel *string // The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale @@ -193,18 +218,19 @@ type RestoreDBInstanceToPointInTimeInput struct { // including limitations that apply to it, see Managing capacity automatically // with Amazon RDS storage autoscaling // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) - // in the Amazon RDS User Guide. + // in the Amazon RDS User Guide. This setting doesn't apply to RDS Custom. MaxAllocatedStorage *int32 - // A value that indicates whether the DB instance is a Multi-AZ deployment. - // Constraint: You can't specify the AvailabilityZone parameter if the DB instance - // is a Multi-AZ deployment. + // A value that indicates whether the DB instance is a Multi-AZ deployment. This + // setting doesn't apply to RDS Custom. Constraint: You can't specify the + // AvailabilityZone parameter if the DB instance is a Multi-AZ deployment. MultiAZ *bool // The name of the option group to be used for the restored DB instance. Permanent // options, such as the TDE option for Oracle Advanced Security TDE, can't be // removed from an option group, and that option group can't be removed from a DB - // instance once it is associated with a DB instance + // instance after it is associated with a DB instance This setting doesn't apply to + // RDS Custom. OptionGroupName *string // The port number on which the database accepts connections. Constraints: Value @@ -212,7 +238,7 @@ type RestoreDBInstanceToPointInTimeInput struct { Port *int32 // The number of CPU cores and the number of threads per core for the DB instance - // class of the DB instance. + // class of the DB instance. This setting doesn't apply to RDS Custom. ProcessorFeatures []types.ProcessorFeature // A value that indicates whether the DB instance is publicly accessible. When the @@ -241,6 +267,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // The Amazon Resource Name (ARN) of the replicated automated backups from which to // restore, for example, // arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE. + // This setting doesn't apply to RDS Custom. SourceDBInstanceAutomatedBackupsArn *string // The identifier of the source DB instance from which to restore. Constraints: @@ -263,14 +290,15 @@ type RestoreDBInstanceToPointInTimeInput struct { Tags []types.Tag // The ARN from the key store with which to associate the instance for TDE - // encryption. + // encryption. This setting doesn't apply to RDS Custom. TdeCredentialArn *string // The password for the given ARN from the key store in order to access the device. + // This setting doesn't apply to RDS Custom. TdeCredentialPassword *string // A value that indicates whether the DB instance class of the DB instance uses its - // default processor features. + // default processor features. This setting doesn't apply to RDS Custom. UseDefaultProcessorFeatures *bool // A value that indicates whether the DB instance is restored from the latest diff --git a/service/rds/api_op_StartActivityStream.go b/service/rds/api_op_StartActivityStream.go index 058537e63b4..93079681e4a 100644 --- a/service/rds/api_op_StartActivityStream.go +++ b/service/rds/api_op_StartActivityStream.go @@ -34,8 +34,7 @@ type StartActivityStreamInput struct { // The Amazon Web Services KMS key identifier for encrypting messages in the // database activity stream. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. // // This member is required. KmsKeyId *string diff --git a/service/rds/api_op_StartDBInstance.go b/service/rds/api_op_StartDBInstance.go index f67f7efe2ed..e01cf5ea09f 100644 --- a/service/rds/api_op_StartDBInstance.go +++ b/service/rds/api_op_StartDBInstance.go @@ -18,8 +18,9 @@ import ( // Starting an Amazon RDS DB instance That Was Previously // Stopped // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html) -// in the Amazon RDS User Guide. This command doesn't apply to Aurora MySQL and -// Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster instead. +// in the Amazon RDS User Guide. This command doesn't apply to RDS Custom, Aurora +// MySQL, and Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster +// instead. func (c *Client) StartDBInstance(ctx context.Context, params *StartDBInstanceInput, optFns ...func(*Options)) (*StartDBInstanceOutput, error) { if params == nil { params = &StartDBInstanceInput{} diff --git a/service/rds/api_op_StartDBInstanceAutomatedBackupsReplication.go b/service/rds/api_op_StartDBInstanceAutomatedBackupsReplication.go index cdec30b661e..ae7b4c34f3d 100644 --- a/service/rds/api_op_StartDBInstanceAutomatedBackupsReplication.go +++ b/service/rds/api_op_StartDBInstanceAutomatedBackupsReplication.go @@ -12,8 +12,8 @@ import ( ) // Enables replication of automated backups to a different Amazon Web Services -// Region. For more information, see Replicating Automated Backups to Another -// Amazon Web Services Region +// Region. This command doesn't apply to RDS Custom. For more information, see +// Replicating Automated Backups to Another Amazon Web Services Region // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) // in the Amazon RDS User Guide. func (c *Client) StartDBInstanceAutomatedBackupsReplication(ctx context.Context, params *StartDBInstanceAutomatedBackupsReplicationInput, optFns ...func(*Options)) (*StartDBInstanceAutomatedBackupsReplicationOutput, error) { diff --git a/service/rds/api_op_StartExportTask.go b/service/rds/api_op_StartExportTask.go index c7263a21660..a80e211f1d3 100644 --- a/service/rds/api_op_StartExportTask.go +++ b/service/rds/api_op_StartExportTask.go @@ -12,7 +12,7 @@ import ( ) // Starts an export of a snapshot to Amazon S3. The provided IAM role must have -// access to the S3 bucket. +// access to the S3 bucket. This command doesn't apply to RDS Custom. func (c *Client) StartExportTask(ctx context.Context, params *StartExportTaskInput, optFns ...func(*Options)) (*StartExportTaskOutput, error) { if params == nil { params = &StartExportTaskInput{} @@ -42,12 +42,11 @@ type StartExportTaskInput struct { // This member is required. IamRoleArn *string - // The ID of the Amazon Web Services KMS customer master key (CMK) to use to - // encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS key - // identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web - // Services KMS customer master key (CMK). The caller of this operation must be - // authorized to execute the following operations. These can be set in the Amazon - // Web Services KMS key policy: + // The ID of the Amazon Web Services KMS key to use to encrypt the snapshot + // exported to Amazon S3. The Amazon Web Services KMS key identifier is the key + // ARN, key ID, alias ARN, or alias name for the KMS key. The caller of this + // operation must be authorized to execute the following operations. These can be + // set in the Amazon Web Services KMS key policy: // // * GrantOperation.Encrypt // @@ -144,11 +143,10 @@ type StartExportTaskOutput struct { // snapshot. IamRoleArn *string - // The key identifier of the Amazon Web Services KMS customer master key (CMK) that - // is used to encrypt the snapshot when it's exported to Amazon S3. The Amazon Web - // Services KMS CMK identifier is its key ARN, key ID, alias ARN, or alias name. - // The IAM role used for the snapshot export must have encryption and decryption - // permissions to use this Amazon Web Services KMS CMK. + // The key identifier of the Amazon Web Services KMS key that is used to encrypt + // the snapshot when it's exported to Amazon S3. The KMS key identifier is its key + // ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export + // must have encryption and decryption permissions to use this KMS key. KmsKeyId *string // The progress of the snapshot export task as a percentage. diff --git a/service/rds/api_op_StopActivityStream.go b/service/rds/api_op_StopActivityStream.go index 41298a6ce6c..b6caf4487f1 100644 --- a/service/rds/api_op_StopActivityStream.go +++ b/service/rds/api_op_StopActivityStream.go @@ -54,8 +54,7 @@ type StopActivityStreamOutput struct { // The Amazon Web Services KMS key identifier used for encrypting messages in the // database activity stream. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. KmsKeyId *string // The status of the database activity stream. diff --git a/service/rds/api_op_StopDBInstance.go b/service/rds/api_op_StopDBInstance.go index dd128c0f2de..8cf8e49da77 100644 --- a/service/rds/api_op_StopDBInstance.go +++ b/service/rds/api_op_StopDBInstance.go @@ -19,8 +19,8 @@ import ( // Stopping an // Amazon RDS DB Instance Temporarily // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html) -// in the Amazon RDS User Guide. This command doesn't apply to Aurora MySQL and -// Aurora PostgreSQL. For Aurora clusters, use StopDBCluster instead. +// in the Amazon RDS User Guide. This command doesn't apply to RDS Custom, Aurora +// MySQL, and Aurora PostgreSQL. For Aurora clusters, use StopDBCluster instead. func (c *Client) StopDBInstance(ctx context.Context, params *StopDBInstanceInput, optFns ...func(*Options)) (*StopDBInstanceOutput, error) { if params == nil { params = &StopDBInstanceInput{} diff --git a/service/rds/api_op_StopDBInstanceAutomatedBackupsReplication.go b/service/rds/api_op_StopDBInstanceAutomatedBackupsReplication.go index 66da5fbb8bf..21a9fc27718 100644 --- a/service/rds/api_op_StopDBInstanceAutomatedBackupsReplication.go +++ b/service/rds/api_op_StopDBInstanceAutomatedBackupsReplication.go @@ -11,8 +11,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Stops automated backup replication for a DB instance. For more information, see -// Replicating Automated Backups to Another Amazon Web Services Region +// Stops automated backup replication for a DB instance. This command doesn't apply +// to RDS Custom. For more information, see Replicating Automated Backups to +// Another Amazon Web Services Region // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) // in the Amazon RDS User Guide. func (c *Client) StopDBInstanceAutomatedBackupsReplication(ctx context.Context, params *StopDBInstanceAutomatedBackupsReplicationInput, optFns ...func(*Options)) (*StopDBInstanceAutomatedBackupsReplicationOutput, error) { diff --git a/service/rds/deserializers.go b/service/rds/deserializers.go index 5d29154837b..a4c2117936b 100644 --- a/service/rds/deserializers.go +++ b/service/rds/deserializers.go @@ -1538,6 +1538,120 @@ func awsAwsquery_deserializeOpErrorCreateCustomAvailabilityZone(response *smithy } } +type awsAwsquery_deserializeOpCreateCustomDBEngineVersion struct { +} + +func (*awsAwsquery_deserializeOpCreateCustomDBEngineVersion) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsquery_deserializeOpCreateCustomDBEngineVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsquery_deserializeOpErrorCreateCustomDBEngineVersion(response, &metadata) + } + output := &CreateCustomDBEngineVersionOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("CreateCustomDBEngineVersionResult") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeOpDocumentCreateCustomDBEngineVersionOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsquery_deserializeOpErrorCreateCustomDBEngineVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("CustomDBEngineVersionAlreadyExistsFault", errorCode): + return awsAwsquery_deserializeErrorCustomDBEngineVersionAlreadyExistsFault(response, errorBody) + + case strings.EqualFold("CustomDBEngineVersionQuotaExceededFault", errorCode): + return awsAwsquery_deserializeErrorCustomDBEngineVersionQuotaExceededFault(response, errorBody) + + case strings.EqualFold("KMSKeyNotAccessibleFault", errorCode): + return awsAwsquery_deserializeErrorKMSKeyNotAccessibleFault(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsquery_deserializeOpCreateDBCluster struct { } @@ -3536,6 +3650,117 @@ func awsAwsquery_deserializeOpErrorDeleteCustomAvailabilityZone(response *smithy } } +type awsAwsquery_deserializeOpDeleteCustomDBEngineVersion struct { +} + +func (*awsAwsquery_deserializeOpDeleteCustomDBEngineVersion) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsquery_deserializeOpDeleteCustomDBEngineVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsquery_deserializeOpErrorDeleteCustomDBEngineVersion(response, &metadata) + } + output := &DeleteCustomDBEngineVersionOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("DeleteCustomDBEngineVersionResult") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeOpDocumentDeleteCustomDBEngineVersionOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsquery_deserializeOpErrorDeleteCustomDBEngineVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("CustomDBEngineVersionNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorCustomDBEngineVersionNotFoundFault(response, errorBody) + + case strings.EqualFold("InvalidCustomDBEngineVersionStateFault", errorCode): + return awsAwsquery_deserializeErrorInvalidCustomDBEngineVersionStateFault(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsquery_deserializeOpDeleteDBCluster struct { } @@ -10390,14 +10615,14 @@ func awsAwsquery_deserializeOpErrorModifyCurrentDBClusterCapacity(response *smit } } -type awsAwsquery_deserializeOpModifyDBCluster struct { +type awsAwsquery_deserializeOpModifyCustomDBEngineVersion struct { } -func (*awsAwsquery_deserializeOpModifyDBCluster) ID() string { +func (*awsAwsquery_deserializeOpModifyCustomDBEngineVersion) ID() string { return "OperationDeserializer" } -func (m *awsAwsquery_deserializeOpModifyDBCluster) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsquery_deserializeOpModifyCustomDBEngineVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10411,9 +10636,9 @@ func (m *awsAwsquery_deserializeOpModifyDBCluster) HandleDeserialize(ctx context } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsquery_deserializeOpErrorModifyDBCluster(response, &metadata) + return out, metadata, awsAwsquery_deserializeOpErrorModifyCustomDBEngineVersion(response, &metadata) } - output := &ModifyDBClusterOutput{} + output := &ModifyCustomDBEngineVersionOutput{} out.Result = output var buff [1024]byte @@ -10434,7 +10659,7 @@ func (m *awsAwsquery_deserializeOpModifyDBCluster) HandleDeserialize(ctx context } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - t, err = decoder.GetElement("ModifyDBClusterResult") + t, err = decoder.GetElement("ModifyCustomDBEngineVersionResult") if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10446,7 +10671,7 @@ func (m *awsAwsquery_deserializeOpModifyDBCluster) HandleDeserialize(ctx context } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeOpDocumentModifyDBClusterOutput(&output, decoder) + err = awsAwsquery_deserializeOpDocumentModifyCustomDBEngineVersionOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10460,7 +10685,7 @@ func (m *awsAwsquery_deserializeOpModifyDBCluster) HandleDeserialize(ctx context return out, metadata, err } -func awsAwsquery_deserializeOpErrorModifyDBCluster(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsquery_deserializeOpErrorModifyCustomDBEngineVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -10485,41 +10710,11 @@ func awsAwsquery_deserializeOpErrorModifyDBCluster(response *smithyhttp.Response } errorBody.Seek(0, io.SeekStart) switch { - case strings.EqualFold("DBClusterAlreadyExistsFault", errorCode): - return awsAwsquery_deserializeErrorDBClusterAlreadyExistsFault(response, errorBody) - - case strings.EqualFold("DBClusterNotFoundFault", errorCode): - return awsAwsquery_deserializeErrorDBClusterNotFoundFault(response, errorBody) - - case strings.EqualFold("DBClusterParameterGroupNotFound", errorCode): - return awsAwsquery_deserializeErrorDBClusterParameterGroupNotFoundFault(response, errorBody) - - case strings.EqualFold("DBSubnetGroupNotFoundFault", errorCode): - return awsAwsquery_deserializeErrorDBSubnetGroupNotFoundFault(response, errorBody) - - case strings.EqualFold("DomainNotFoundFault", errorCode): - return awsAwsquery_deserializeErrorDomainNotFoundFault(response, errorBody) - - case strings.EqualFold("InvalidDBClusterStateFault", errorCode): - return awsAwsquery_deserializeErrorInvalidDBClusterStateFault(response, errorBody) - - case strings.EqualFold("InvalidDBInstanceState", errorCode): - return awsAwsquery_deserializeErrorInvalidDBInstanceStateFault(response, errorBody) - - case strings.EqualFold("InvalidDBSecurityGroupState", errorCode): - return awsAwsquery_deserializeErrorInvalidDBSecurityGroupStateFault(response, errorBody) - - case strings.EqualFold("InvalidDBSubnetGroupStateFault", errorCode): - return awsAwsquery_deserializeErrorInvalidDBSubnetGroupStateFault(response, errorBody) + case strings.EqualFold("CustomDBEngineVersionNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorCustomDBEngineVersionNotFoundFault(response, errorBody) - case strings.EqualFold("InvalidSubnet", errorCode): - return awsAwsquery_deserializeErrorInvalidSubnet(response, errorBody) - - case strings.EqualFold("InvalidVPCNetworkStateFault", errorCode): - return awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response, errorBody) - - case strings.EqualFold("StorageQuotaExceeded", errorCode): - return awsAwsquery_deserializeErrorStorageQuotaExceededFault(response, errorBody) + case strings.EqualFold("InvalidCustomDBEngineVersionStateFault", errorCode): + return awsAwsquery_deserializeErrorInvalidCustomDBEngineVersionStateFault(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -10531,14 +10726,14 @@ func awsAwsquery_deserializeOpErrorModifyDBCluster(response *smithyhttp.Response } } -type awsAwsquery_deserializeOpModifyDBClusterEndpoint struct { +type awsAwsquery_deserializeOpModifyDBCluster struct { } -func (*awsAwsquery_deserializeOpModifyDBClusterEndpoint) ID() string { +func (*awsAwsquery_deserializeOpModifyDBCluster) ID() string { return "OperationDeserializer" } -func (m *awsAwsquery_deserializeOpModifyDBClusterEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsquery_deserializeOpModifyDBCluster) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -10552,9 +10747,9 @@ func (m *awsAwsquery_deserializeOpModifyDBClusterEndpoint) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsquery_deserializeOpErrorModifyDBClusterEndpoint(response, &metadata) + return out, metadata, awsAwsquery_deserializeOpErrorModifyDBCluster(response, &metadata) } - output := &ModifyDBClusterEndpointOutput{} + output := &ModifyDBClusterOutput{} out.Result = output var buff [1024]byte @@ -10575,7 +10770,7 @@ func (m *awsAwsquery_deserializeOpModifyDBClusterEndpoint) HandleDeserialize(ctx } decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) - t, err = decoder.GetElement("ModifyDBClusterEndpointResult") + t, err = decoder.GetElement("ModifyDBClusterResult") if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10587,7 +10782,7 @@ func (m *awsAwsquery_deserializeOpModifyDBClusterEndpoint) HandleDeserialize(ctx } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeOpDocumentModifyDBClusterEndpointOutput(&output, decoder) + err = awsAwsquery_deserializeOpDocumentModifyDBClusterOutput(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -10601,7 +10796,148 @@ func (m *awsAwsquery_deserializeOpModifyDBClusterEndpoint) HandleDeserialize(ctx return out, metadata, err } -func awsAwsquery_deserializeOpErrorModifyDBClusterEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsquery_deserializeOpErrorModifyDBCluster(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("DBClusterAlreadyExistsFault", errorCode): + return awsAwsquery_deserializeErrorDBClusterAlreadyExistsFault(response, errorBody) + + case strings.EqualFold("DBClusterNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorDBClusterNotFoundFault(response, errorBody) + + case strings.EqualFold("DBClusterParameterGroupNotFound", errorCode): + return awsAwsquery_deserializeErrorDBClusterParameterGroupNotFoundFault(response, errorBody) + + case strings.EqualFold("DBSubnetGroupNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorDBSubnetGroupNotFoundFault(response, errorBody) + + case strings.EqualFold("DomainNotFoundFault", errorCode): + return awsAwsquery_deserializeErrorDomainNotFoundFault(response, errorBody) + + case strings.EqualFold("InvalidDBClusterStateFault", errorCode): + return awsAwsquery_deserializeErrorInvalidDBClusterStateFault(response, errorBody) + + case strings.EqualFold("InvalidDBInstanceState", errorCode): + return awsAwsquery_deserializeErrorInvalidDBInstanceStateFault(response, errorBody) + + case strings.EqualFold("InvalidDBSecurityGroupState", errorCode): + return awsAwsquery_deserializeErrorInvalidDBSecurityGroupStateFault(response, errorBody) + + case strings.EqualFold("InvalidDBSubnetGroupStateFault", errorCode): + return awsAwsquery_deserializeErrorInvalidDBSubnetGroupStateFault(response, errorBody) + + case strings.EqualFold("InvalidSubnet", errorCode): + return awsAwsquery_deserializeErrorInvalidSubnet(response, errorBody) + + case strings.EqualFold("InvalidVPCNetworkStateFault", errorCode): + return awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response, errorBody) + + case strings.EqualFold("StorageQuotaExceeded", errorCode): + return awsAwsquery_deserializeErrorStorageQuotaExceededFault(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsquery_deserializeOpModifyDBClusterEndpoint struct { +} + +func (*awsAwsquery_deserializeOpModifyDBClusterEndpoint) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsquery_deserializeOpModifyDBClusterEndpoint) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsquery_deserializeOpErrorModifyDBClusterEndpoint(response, &metadata) + } + output := &ModifyDBClusterEndpointOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("ModifyDBClusterEndpointResult") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeOpDocumentModifyDBClusterEndpointOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsquery_deserializeOpErrorModifyDBClusterEndpoint(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -15968,8 +16304,8 @@ func awsAwsquery_deserializeErrorCustomAvailabilityZoneQuotaExceededFault(respon return output } -func awsAwsquery_deserializeErrorDBClusterAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterAlreadyExistsFault{} +func awsAwsquery_deserializeErrorCustomDBEngineVersionAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.CustomDBEngineVersionAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -15999,7 +16335,7 @@ func awsAwsquery_deserializeErrorDBClusterAlreadyExistsFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentCustomDBEngineVersionAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16012,8 +16348,8 @@ func awsAwsquery_deserializeErrorDBClusterAlreadyExistsFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorDBClusterBacktrackNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterBacktrackNotFoundFault{} +func awsAwsquery_deserializeErrorCustomDBEngineVersionNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.CustomDBEngineVersionNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16043,7 +16379,7 @@ func awsAwsquery_deserializeErrorDBClusterBacktrackNotFoundFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterBacktrackNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentCustomDBEngineVersionNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16056,8 +16392,8 @@ func awsAwsquery_deserializeErrorDBClusterBacktrackNotFoundFault(response *smith return output } -func awsAwsquery_deserializeErrorDBClusterEndpointAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterEndpointAlreadyExistsFault{} +func awsAwsquery_deserializeErrorCustomDBEngineVersionQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.CustomDBEngineVersionQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16087,7 +16423,7 @@ func awsAwsquery_deserializeErrorDBClusterEndpointAlreadyExistsFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterEndpointAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentCustomDBEngineVersionQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16100,8 +16436,8 @@ func awsAwsquery_deserializeErrorDBClusterEndpointAlreadyExistsFault(response *s return output } -func awsAwsquery_deserializeErrorDBClusterEndpointNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterEndpointNotFoundFault{} +func awsAwsquery_deserializeErrorDBClusterAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16131,7 +16467,7 @@ func awsAwsquery_deserializeErrorDBClusterEndpointNotFoundFault(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterEndpointNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16144,8 +16480,8 @@ func awsAwsquery_deserializeErrorDBClusterEndpointNotFoundFault(response *smithy return output } -func awsAwsquery_deserializeErrorDBClusterEndpointQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterEndpointQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBClusterBacktrackNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterBacktrackNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16175,7 +16511,7 @@ func awsAwsquery_deserializeErrorDBClusterEndpointQuotaExceededFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterEndpointQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterBacktrackNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16188,8 +16524,8 @@ func awsAwsquery_deserializeErrorDBClusterEndpointQuotaExceededFault(response *s return output } -func awsAwsquery_deserializeErrorDBClusterNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterNotFoundFault{} +func awsAwsquery_deserializeErrorDBClusterEndpointAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterEndpointAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16219,7 +16555,7 @@ func awsAwsquery_deserializeErrorDBClusterNotFoundFault(response *smithyhttp.Res } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterEndpointAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16232,8 +16568,8 @@ func awsAwsquery_deserializeErrorDBClusterNotFoundFault(response *smithyhttp.Res return output } -func awsAwsquery_deserializeErrorDBClusterParameterGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterParameterGroupNotFoundFault{} +func awsAwsquery_deserializeErrorDBClusterEndpointNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterEndpointNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16263,7 +16599,7 @@ func awsAwsquery_deserializeErrorDBClusterParameterGroupNotFoundFault(response * } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterParameterGroupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterEndpointNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16276,8 +16612,8 @@ func awsAwsquery_deserializeErrorDBClusterParameterGroupNotFoundFault(response * return output } -func awsAwsquery_deserializeErrorDBClusterQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBClusterEndpointQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterEndpointQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16307,7 +16643,7 @@ func awsAwsquery_deserializeErrorDBClusterQuotaExceededFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterEndpointQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16320,8 +16656,8 @@ func awsAwsquery_deserializeErrorDBClusterQuotaExceededFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorDBClusterRoleAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterRoleAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBClusterNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16351,7 +16687,7 @@ func awsAwsquery_deserializeErrorDBClusterRoleAlreadyExistsFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterRoleAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16364,8 +16700,8 @@ func awsAwsquery_deserializeErrorDBClusterRoleAlreadyExistsFault(response *smith return output } -func awsAwsquery_deserializeErrorDBClusterRoleNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterRoleNotFoundFault{} +func awsAwsquery_deserializeErrorDBClusterParameterGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterParameterGroupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16395,7 +16731,7 @@ func awsAwsquery_deserializeErrorDBClusterRoleNotFoundFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterRoleNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterParameterGroupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16408,8 +16744,8 @@ func awsAwsquery_deserializeErrorDBClusterRoleNotFoundFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorDBClusterRoleQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterRoleQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBClusterQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16439,7 +16775,7 @@ func awsAwsquery_deserializeErrorDBClusterRoleQuotaExceededFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterRoleQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16452,8 +16788,8 @@ func awsAwsquery_deserializeErrorDBClusterRoleQuotaExceededFault(response *smith return output } -func awsAwsquery_deserializeErrorDBClusterSnapshotAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterSnapshotAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBClusterRoleAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterRoleAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16483,7 +16819,7 @@ func awsAwsquery_deserializeErrorDBClusterSnapshotAlreadyExistsFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterSnapshotAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterRoleAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16496,8 +16832,8 @@ func awsAwsquery_deserializeErrorDBClusterSnapshotAlreadyExistsFault(response *s return output } -func awsAwsquery_deserializeErrorDBClusterSnapshotNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBClusterSnapshotNotFoundFault{} +func awsAwsquery_deserializeErrorDBClusterRoleNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterRoleNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16527,7 +16863,7 @@ func awsAwsquery_deserializeErrorDBClusterSnapshotNotFoundFault(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBClusterSnapshotNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterRoleNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16540,8 +16876,8 @@ func awsAwsquery_deserializeErrorDBClusterSnapshotNotFoundFault(response *smithy return output } -func awsAwsquery_deserializeErrorDBInstanceAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBClusterRoleQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterRoleQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16571,7 +16907,7 @@ func awsAwsquery_deserializeErrorDBInstanceAlreadyExistsFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterRoleQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16584,8 +16920,8 @@ func awsAwsquery_deserializeErrorDBInstanceAlreadyExistsFault(response *smithyht return output } -func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceAutomatedBackupNotFoundFault{} +func awsAwsquery_deserializeErrorDBClusterSnapshotAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterSnapshotAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16615,7 +16951,7 @@ func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupNotFoundFault(response } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceAutomatedBackupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterSnapshotAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16628,8 +16964,8 @@ func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupNotFoundFault(response return output } -func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceAutomatedBackupQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBClusterSnapshotNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBClusterSnapshotNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16659,7 +16995,7 @@ func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupQuotaExceededFault(res } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceAutomatedBackupQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBClusterSnapshotNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16672,8 +17008,8 @@ func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupQuotaExceededFault(res return output } -func awsAwsquery_deserializeErrorDBInstanceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceNotFoundFault{} +func awsAwsquery_deserializeErrorDBInstanceAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16703,7 +17039,7 @@ func awsAwsquery_deserializeErrorDBInstanceNotFoundFault(response *smithyhttp.Re } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16716,8 +17052,8 @@ func awsAwsquery_deserializeErrorDBInstanceNotFoundFault(response *smithyhttp.Re return output } -func awsAwsquery_deserializeErrorDBInstanceRoleAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceRoleAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceAutomatedBackupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16747,7 +17083,7 @@ func awsAwsquery_deserializeErrorDBInstanceRoleAlreadyExistsFault(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceRoleAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceAutomatedBackupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16760,8 +17096,8 @@ func awsAwsquery_deserializeErrorDBInstanceRoleAlreadyExistsFault(response *smit return output } -func awsAwsquery_deserializeErrorDBInstanceRoleNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceRoleNotFoundFault{} +func awsAwsquery_deserializeErrorDBInstanceAutomatedBackupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceAutomatedBackupQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16791,7 +17127,7 @@ func awsAwsquery_deserializeErrorDBInstanceRoleNotFoundFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceRoleNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceAutomatedBackupQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16804,8 +17140,8 @@ func awsAwsquery_deserializeErrorDBInstanceRoleNotFoundFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorDBInstanceRoleQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBInstanceRoleQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBInstanceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16835,7 +17171,7 @@ func awsAwsquery_deserializeErrorDBInstanceRoleQuotaExceededFault(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBInstanceRoleQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16848,8 +17184,8 @@ func awsAwsquery_deserializeErrorDBInstanceRoleQuotaExceededFault(response *smit return output } -func awsAwsquery_deserializeErrorDBLogFileNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBLogFileNotFoundFault{} +func awsAwsquery_deserializeErrorDBInstanceRoleAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceRoleAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16879,7 +17215,7 @@ func awsAwsquery_deserializeErrorDBLogFileNotFoundFault(response *smithyhttp.Res } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBLogFileNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceRoleAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16892,8 +17228,8 @@ func awsAwsquery_deserializeErrorDBLogFileNotFoundFault(response *smithyhttp.Res return output } -func awsAwsquery_deserializeErrorDBParameterGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBParameterGroupAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBInstanceRoleNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceRoleNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16923,7 +17259,7 @@ func awsAwsquery_deserializeErrorDBParameterGroupAlreadyExistsFault(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBParameterGroupAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceRoleNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16936,8 +17272,8 @@ func awsAwsquery_deserializeErrorDBParameterGroupAlreadyExistsFault(response *sm return output } -func awsAwsquery_deserializeErrorDBParameterGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBParameterGroupNotFoundFault{} +func awsAwsquery_deserializeErrorDBInstanceRoleQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBInstanceRoleQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -16967,7 +17303,7 @@ func awsAwsquery_deserializeErrorDBParameterGroupNotFoundFault(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBParameterGroupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBInstanceRoleQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -16980,8 +17316,8 @@ func awsAwsquery_deserializeErrorDBParameterGroupNotFoundFault(response *smithyh return output } -func awsAwsquery_deserializeErrorDBParameterGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBParameterGroupQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBLogFileNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBLogFileNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17011,7 +17347,7 @@ func awsAwsquery_deserializeErrorDBParameterGroupQuotaExceededFault(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBParameterGroupQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBLogFileNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17024,8 +17360,8 @@ func awsAwsquery_deserializeErrorDBParameterGroupQuotaExceededFault(response *sm return output } -func awsAwsquery_deserializeErrorDBProxyAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBParameterGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBParameterGroupAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17055,7 +17391,7 @@ func awsAwsquery_deserializeErrorDBProxyAlreadyExistsFault(response *smithyhttp. } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBParameterGroupAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17068,8 +17404,8 @@ func awsAwsquery_deserializeErrorDBProxyAlreadyExistsFault(response *smithyhttp. return output } -func awsAwsquery_deserializeErrorDBProxyEndpointAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyEndpointAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBParameterGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBParameterGroupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17099,7 +17435,7 @@ func awsAwsquery_deserializeErrorDBProxyEndpointAlreadyExistsFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyEndpointAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBParameterGroupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17112,8 +17448,8 @@ func awsAwsquery_deserializeErrorDBProxyEndpointAlreadyExistsFault(response *smi return output } -func awsAwsquery_deserializeErrorDBProxyEndpointNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyEndpointNotFoundFault{} +func awsAwsquery_deserializeErrorDBParameterGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBParameterGroupQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17143,7 +17479,7 @@ func awsAwsquery_deserializeErrorDBProxyEndpointNotFoundFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyEndpointNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBParameterGroupQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17156,8 +17492,8 @@ func awsAwsquery_deserializeErrorDBProxyEndpointNotFoundFault(response *smithyht return output } -func awsAwsquery_deserializeErrorDBProxyEndpointQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyEndpointQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBProxyAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17187,7 +17523,7 @@ func awsAwsquery_deserializeErrorDBProxyEndpointQuotaExceededFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyEndpointQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17200,8 +17536,8 @@ func awsAwsquery_deserializeErrorDBProxyEndpointQuotaExceededFault(response *smi return output } -func awsAwsquery_deserializeErrorDBProxyNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyNotFoundFault{} +func awsAwsquery_deserializeErrorDBProxyEndpointAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyEndpointAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17231,7 +17567,7 @@ func awsAwsquery_deserializeErrorDBProxyNotFoundFault(response *smithyhttp.Respo } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyEndpointAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17244,8 +17580,8 @@ func awsAwsquery_deserializeErrorDBProxyNotFoundFault(response *smithyhttp.Respo return output } -func awsAwsquery_deserializeErrorDBProxyQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBProxyEndpointNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyEndpointNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17275,7 +17611,7 @@ func awsAwsquery_deserializeErrorDBProxyQuotaExceededFault(response *smithyhttp. } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyEndpointNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17288,8 +17624,8 @@ func awsAwsquery_deserializeErrorDBProxyQuotaExceededFault(response *smithyhttp. return output } -func awsAwsquery_deserializeErrorDBProxyTargetAlreadyRegisteredFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyTargetAlreadyRegisteredFault{} +func awsAwsquery_deserializeErrorDBProxyEndpointQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyEndpointQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17319,7 +17655,7 @@ func awsAwsquery_deserializeErrorDBProxyTargetAlreadyRegisteredFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyTargetAlreadyRegisteredFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyEndpointQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17332,8 +17668,8 @@ func awsAwsquery_deserializeErrorDBProxyTargetAlreadyRegisteredFault(response *s return output } -func awsAwsquery_deserializeErrorDBProxyTargetGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyTargetGroupNotFoundFault{} +func awsAwsquery_deserializeErrorDBProxyNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17363,7 +17699,7 @@ func awsAwsquery_deserializeErrorDBProxyTargetGroupNotFoundFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyTargetGroupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17376,8 +17712,8 @@ func awsAwsquery_deserializeErrorDBProxyTargetGroupNotFoundFault(response *smith return output } -func awsAwsquery_deserializeErrorDBProxyTargetNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBProxyTargetNotFoundFault{} +func awsAwsquery_deserializeErrorDBProxyQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17407,7 +17743,7 @@ func awsAwsquery_deserializeErrorDBProxyTargetNotFoundFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBProxyTargetNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17420,8 +17756,8 @@ func awsAwsquery_deserializeErrorDBProxyTargetNotFoundFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorDBSecurityGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSecurityGroupAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBProxyTargetAlreadyRegisteredFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyTargetAlreadyRegisteredFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17451,7 +17787,7 @@ func awsAwsquery_deserializeErrorDBSecurityGroupAlreadyExistsFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSecurityGroupAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyTargetAlreadyRegisteredFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17464,8 +17800,8 @@ func awsAwsquery_deserializeErrorDBSecurityGroupAlreadyExistsFault(response *smi return output } -func awsAwsquery_deserializeErrorDBSecurityGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSecurityGroupNotFoundFault{} +func awsAwsquery_deserializeErrorDBProxyTargetGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyTargetGroupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17495,7 +17831,7 @@ func awsAwsquery_deserializeErrorDBSecurityGroupNotFoundFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSecurityGroupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyTargetGroupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17508,8 +17844,8 @@ func awsAwsquery_deserializeErrorDBSecurityGroupNotFoundFault(response *smithyht return output } -func awsAwsquery_deserializeErrorDBSecurityGroupNotSupportedFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSecurityGroupNotSupportedFault{} +func awsAwsquery_deserializeErrorDBProxyTargetNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBProxyTargetNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17539,7 +17875,7 @@ func awsAwsquery_deserializeErrorDBSecurityGroupNotSupportedFault(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSecurityGroupNotSupportedFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBProxyTargetNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17552,8 +17888,8 @@ func awsAwsquery_deserializeErrorDBSecurityGroupNotSupportedFault(response *smit return output } -func awsAwsquery_deserializeErrorDBSecurityGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSecurityGroupQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBSecurityGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSecurityGroupAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17583,7 +17919,7 @@ func awsAwsquery_deserializeErrorDBSecurityGroupQuotaExceededFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSecurityGroupQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSecurityGroupAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17596,8 +17932,8 @@ func awsAwsquery_deserializeErrorDBSecurityGroupQuotaExceededFault(response *smi return output } -func awsAwsquery_deserializeErrorDBSnapshotAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSnapshotAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBSecurityGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSecurityGroupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17627,7 +17963,7 @@ func awsAwsquery_deserializeErrorDBSnapshotAlreadyExistsFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSnapshotAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSecurityGroupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17640,8 +17976,8 @@ func awsAwsquery_deserializeErrorDBSnapshotAlreadyExistsFault(response *smithyht return output } -func awsAwsquery_deserializeErrorDBSnapshotNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSnapshotNotFoundFault{} +func awsAwsquery_deserializeErrorDBSecurityGroupNotSupportedFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSecurityGroupNotSupportedFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17671,7 +18007,7 @@ func awsAwsquery_deserializeErrorDBSnapshotNotFoundFault(response *smithyhttp.Re } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSnapshotNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSecurityGroupNotSupportedFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17684,8 +18020,8 @@ func awsAwsquery_deserializeErrorDBSnapshotNotFoundFault(response *smithyhttp.Re return output } -func awsAwsquery_deserializeErrorDBSubnetGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSubnetGroupAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBSecurityGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSecurityGroupQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17715,7 +18051,7 @@ func awsAwsquery_deserializeErrorDBSubnetGroupAlreadyExistsFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSubnetGroupAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSecurityGroupQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17728,8 +18064,8 @@ func awsAwsquery_deserializeErrorDBSubnetGroupAlreadyExistsFault(response *smith return output } -func awsAwsquery_deserializeErrorDBSubnetGroupDoesNotCoverEnoughAZs(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSubnetGroupDoesNotCoverEnoughAZs{} +func awsAwsquery_deserializeErrorDBSnapshotAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSnapshotAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17759,7 +18095,7 @@ func awsAwsquery_deserializeErrorDBSubnetGroupDoesNotCoverEnoughAZs(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSubnetGroupDoesNotCoverEnoughAZs(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSnapshotAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17772,8 +18108,8 @@ func awsAwsquery_deserializeErrorDBSubnetGroupDoesNotCoverEnoughAZs(response *sm return output } -func awsAwsquery_deserializeErrorDBSubnetGroupNotAllowedFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSubnetGroupNotAllowedFault{} +func awsAwsquery_deserializeErrorDBSnapshotNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSnapshotNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17803,7 +18139,7 @@ func awsAwsquery_deserializeErrorDBSubnetGroupNotAllowedFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSubnetGroupNotAllowedFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSnapshotNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17816,8 +18152,8 @@ func awsAwsquery_deserializeErrorDBSubnetGroupNotAllowedFault(response *smithyht return output } -func awsAwsquery_deserializeErrorDBSubnetGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSubnetGroupNotFoundFault{} +func awsAwsquery_deserializeErrorDBSubnetGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSubnetGroupAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17847,7 +18183,7 @@ func awsAwsquery_deserializeErrorDBSubnetGroupNotFoundFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSubnetGroupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSubnetGroupAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17860,8 +18196,8 @@ func awsAwsquery_deserializeErrorDBSubnetGroupNotFoundFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorDBSubnetGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSubnetGroupQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBSubnetGroupDoesNotCoverEnoughAZs(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSubnetGroupDoesNotCoverEnoughAZs{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17891,7 +18227,7 @@ func awsAwsquery_deserializeErrorDBSubnetGroupQuotaExceededFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSubnetGroupQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSubnetGroupDoesNotCoverEnoughAZs(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17904,8 +18240,8 @@ func awsAwsquery_deserializeErrorDBSubnetGroupQuotaExceededFault(response *smith return output } -func awsAwsquery_deserializeErrorDBSubnetQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBSubnetQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBSubnetGroupNotAllowedFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSubnetGroupNotAllowedFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17935,7 +18271,7 @@ func awsAwsquery_deserializeErrorDBSubnetQuotaExceededFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBSubnetQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSubnetGroupNotAllowedFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17948,8 +18284,8 @@ func awsAwsquery_deserializeErrorDBSubnetQuotaExceededFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorDBUpgradeDependencyFailureFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DBUpgradeDependencyFailureFault{} +func awsAwsquery_deserializeErrorDBSubnetGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSubnetGroupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -17979,7 +18315,7 @@ func awsAwsquery_deserializeErrorDBUpgradeDependencyFailureFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDBUpgradeDependencyFailureFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSubnetGroupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -17992,8 +18328,8 @@ func awsAwsquery_deserializeErrorDBUpgradeDependencyFailureFault(response *smith return output } -func awsAwsquery_deserializeErrorDomainNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.DomainNotFoundFault{} +func awsAwsquery_deserializeErrorDBSubnetGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSubnetGroupQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18023,7 +18359,7 @@ func awsAwsquery_deserializeErrorDomainNotFoundFault(response *smithyhttp.Respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentDomainNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSubnetGroupQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18036,8 +18372,8 @@ func awsAwsquery_deserializeErrorDomainNotFoundFault(response *smithyhttp.Respon return output } -func awsAwsquery_deserializeErrorEventSubscriptionQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.EventSubscriptionQuotaExceededFault{} +func awsAwsquery_deserializeErrorDBSubnetQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBSubnetQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18067,7 +18403,7 @@ func awsAwsquery_deserializeErrorEventSubscriptionQuotaExceededFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentEventSubscriptionQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBSubnetQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18080,8 +18416,8 @@ func awsAwsquery_deserializeErrorEventSubscriptionQuotaExceededFault(response *s return output } -func awsAwsquery_deserializeErrorExportTaskAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ExportTaskAlreadyExistsFault{} +func awsAwsquery_deserializeErrorDBUpgradeDependencyFailureFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DBUpgradeDependencyFailureFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18111,7 +18447,7 @@ func awsAwsquery_deserializeErrorExportTaskAlreadyExistsFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentExportTaskAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDBUpgradeDependencyFailureFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18124,8 +18460,8 @@ func awsAwsquery_deserializeErrorExportTaskAlreadyExistsFault(response *smithyht return output } -func awsAwsquery_deserializeErrorExportTaskNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ExportTaskNotFoundFault{} +func awsAwsquery_deserializeErrorDomainNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.DomainNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18155,7 +18491,7 @@ func awsAwsquery_deserializeErrorExportTaskNotFoundFault(response *smithyhttp.Re } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentExportTaskNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentDomainNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18168,8 +18504,8 @@ func awsAwsquery_deserializeErrorExportTaskNotFoundFault(response *smithyhttp.Re return output } -func awsAwsquery_deserializeErrorGlobalClusterAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.GlobalClusterAlreadyExistsFault{} +func awsAwsquery_deserializeErrorEventSubscriptionQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.EventSubscriptionQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18199,7 +18535,7 @@ func awsAwsquery_deserializeErrorGlobalClusterAlreadyExistsFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentGlobalClusterAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentEventSubscriptionQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18212,8 +18548,8 @@ func awsAwsquery_deserializeErrorGlobalClusterAlreadyExistsFault(response *smith return output } -func awsAwsquery_deserializeErrorGlobalClusterNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.GlobalClusterNotFoundFault{} +func awsAwsquery_deserializeErrorExportTaskAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ExportTaskAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18243,7 +18579,7 @@ func awsAwsquery_deserializeErrorGlobalClusterNotFoundFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentGlobalClusterNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentExportTaskAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18256,8 +18592,8 @@ func awsAwsquery_deserializeErrorGlobalClusterNotFoundFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorGlobalClusterQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.GlobalClusterQuotaExceededFault{} +func awsAwsquery_deserializeErrorExportTaskNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ExportTaskNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18287,7 +18623,7 @@ func awsAwsquery_deserializeErrorGlobalClusterQuotaExceededFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentGlobalClusterQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentExportTaskNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18300,8 +18636,8 @@ func awsAwsquery_deserializeErrorGlobalClusterQuotaExceededFault(response *smith return output } -func awsAwsquery_deserializeErrorIamRoleMissingPermissionsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.IamRoleMissingPermissionsFault{} +func awsAwsquery_deserializeErrorGlobalClusterAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.GlobalClusterAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18331,7 +18667,7 @@ func awsAwsquery_deserializeErrorIamRoleMissingPermissionsFault(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentIamRoleMissingPermissionsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentGlobalClusterAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18344,8 +18680,8 @@ func awsAwsquery_deserializeErrorIamRoleMissingPermissionsFault(response *smithy return output } -func awsAwsquery_deserializeErrorIamRoleNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.IamRoleNotFoundFault{} +func awsAwsquery_deserializeErrorGlobalClusterNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.GlobalClusterNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18375,7 +18711,7 @@ func awsAwsquery_deserializeErrorIamRoleNotFoundFault(response *smithyhttp.Respo } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentIamRoleNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentGlobalClusterNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18388,8 +18724,8 @@ func awsAwsquery_deserializeErrorIamRoleNotFoundFault(response *smithyhttp.Respo return output } -func awsAwsquery_deserializeErrorInstallationMediaAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InstallationMediaAlreadyExistsFault{} +func awsAwsquery_deserializeErrorGlobalClusterQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.GlobalClusterQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18419,7 +18755,7 @@ func awsAwsquery_deserializeErrorInstallationMediaAlreadyExistsFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInstallationMediaAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentGlobalClusterQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18432,8 +18768,8 @@ func awsAwsquery_deserializeErrorInstallationMediaAlreadyExistsFault(response *s return output } -func awsAwsquery_deserializeErrorInstallationMediaNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InstallationMediaNotFoundFault{} +func awsAwsquery_deserializeErrorIamRoleMissingPermissionsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.IamRoleMissingPermissionsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18463,7 +18799,7 @@ func awsAwsquery_deserializeErrorInstallationMediaNotFoundFault(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInstallationMediaNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentIamRoleMissingPermissionsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18476,8 +18812,8 @@ func awsAwsquery_deserializeErrorInstallationMediaNotFoundFault(response *smithy return output } -func awsAwsquery_deserializeErrorInstanceQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InstanceQuotaExceededFault{} +func awsAwsquery_deserializeErrorIamRoleNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.IamRoleNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18507,7 +18843,7 @@ func awsAwsquery_deserializeErrorInstanceQuotaExceededFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInstanceQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentIamRoleNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18520,8 +18856,8 @@ func awsAwsquery_deserializeErrorInstanceQuotaExceededFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorInsufficientAvailableIPsInSubnetFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InsufficientAvailableIPsInSubnetFault{} +func awsAwsquery_deserializeErrorInstallationMediaAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InstallationMediaAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18551,7 +18887,7 @@ func awsAwsquery_deserializeErrorInsufficientAvailableIPsInSubnetFault(response } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInsufficientAvailableIPsInSubnetFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInstallationMediaAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18564,8 +18900,8 @@ func awsAwsquery_deserializeErrorInsufficientAvailableIPsInSubnetFault(response return output } -func awsAwsquery_deserializeErrorInsufficientDBClusterCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InsufficientDBClusterCapacityFault{} +func awsAwsquery_deserializeErrorInstallationMediaNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InstallationMediaNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18595,7 +18931,7 @@ func awsAwsquery_deserializeErrorInsufficientDBClusterCapacityFault(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInsufficientDBClusterCapacityFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInstallationMediaNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18608,8 +18944,8 @@ func awsAwsquery_deserializeErrorInsufficientDBClusterCapacityFault(response *sm return output } -func awsAwsquery_deserializeErrorInsufficientDBInstanceCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InsufficientDBInstanceCapacityFault{} +func awsAwsquery_deserializeErrorInstanceQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InstanceQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18639,7 +18975,7 @@ func awsAwsquery_deserializeErrorInsufficientDBInstanceCapacityFault(response *s } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInsufficientDBInstanceCapacityFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInstanceQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18652,8 +18988,8 @@ func awsAwsquery_deserializeErrorInsufficientDBInstanceCapacityFault(response *s return output } -func awsAwsquery_deserializeErrorInsufficientStorageClusterCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InsufficientStorageClusterCapacityFault{} +func awsAwsquery_deserializeErrorInsufficientAvailableIPsInSubnetFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InsufficientAvailableIPsInSubnetFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18683,7 +19019,7 @@ func awsAwsquery_deserializeErrorInsufficientStorageClusterCapacityFault(respons } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInsufficientStorageClusterCapacityFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInsufficientAvailableIPsInSubnetFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18696,8 +19032,8 @@ func awsAwsquery_deserializeErrorInsufficientStorageClusterCapacityFault(respons return output } -func awsAwsquery_deserializeErrorInvalidDBClusterCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBClusterCapacityFault{} +func awsAwsquery_deserializeErrorInsufficientDBClusterCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InsufficientDBClusterCapacityFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18727,7 +19063,7 @@ func awsAwsquery_deserializeErrorInvalidDBClusterCapacityFault(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBClusterCapacityFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInsufficientDBClusterCapacityFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18740,8 +19076,8 @@ func awsAwsquery_deserializeErrorInvalidDBClusterCapacityFault(response *smithyh return output } -func awsAwsquery_deserializeErrorInvalidDBClusterEndpointStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBClusterEndpointStateFault{} +func awsAwsquery_deserializeErrorInsufficientDBInstanceCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InsufficientDBInstanceCapacityFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18771,7 +19107,7 @@ func awsAwsquery_deserializeErrorInvalidDBClusterEndpointStateFault(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBClusterEndpointStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInsufficientDBInstanceCapacityFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18784,8 +19120,8 @@ func awsAwsquery_deserializeErrorInvalidDBClusterEndpointStateFault(response *sm return output } -func awsAwsquery_deserializeErrorInvalidDBClusterSnapshotStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBClusterSnapshotStateFault{} +func awsAwsquery_deserializeErrorInsufficientStorageClusterCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InsufficientStorageClusterCapacityFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18815,7 +19151,7 @@ func awsAwsquery_deserializeErrorInvalidDBClusterSnapshotStateFault(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBClusterSnapshotStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInsufficientStorageClusterCapacityFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18828,8 +19164,8 @@ func awsAwsquery_deserializeErrorInvalidDBClusterSnapshotStateFault(response *sm return output } -func awsAwsquery_deserializeErrorInvalidDBClusterStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBClusterStateFault{} +func awsAwsquery_deserializeErrorInvalidCustomDBEngineVersionStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidCustomDBEngineVersionStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18859,7 +19195,7 @@ func awsAwsquery_deserializeErrorInvalidDBClusterStateFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBClusterStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidCustomDBEngineVersionStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18872,8 +19208,8 @@ func awsAwsquery_deserializeErrorInvalidDBClusterStateFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorInvalidDBInstanceAutomatedBackupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBInstanceAutomatedBackupStateFault{} +func awsAwsquery_deserializeErrorInvalidDBClusterCapacityFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBClusterCapacityFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18903,7 +19239,7 @@ func awsAwsquery_deserializeErrorInvalidDBInstanceAutomatedBackupStateFault(resp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBInstanceAutomatedBackupStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBClusterCapacityFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18916,8 +19252,8 @@ func awsAwsquery_deserializeErrorInvalidDBInstanceAutomatedBackupStateFault(resp return output } -func awsAwsquery_deserializeErrorInvalidDBInstanceStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBInstanceStateFault{} +func awsAwsquery_deserializeErrorInvalidDBClusterEndpointStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBClusterEndpointStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18947,7 +19283,7 @@ func awsAwsquery_deserializeErrorInvalidDBInstanceStateFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBInstanceStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBClusterEndpointStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -18960,8 +19296,8 @@ func awsAwsquery_deserializeErrorInvalidDBInstanceStateFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorInvalidDBParameterGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBParameterGroupStateFault{} +func awsAwsquery_deserializeErrorInvalidDBClusterSnapshotStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBClusterSnapshotStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -18991,7 +19327,7 @@ func awsAwsquery_deserializeErrorInvalidDBParameterGroupStateFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBParameterGroupStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBClusterSnapshotStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19004,8 +19340,8 @@ func awsAwsquery_deserializeErrorInvalidDBParameterGroupStateFault(response *smi return output } -func awsAwsquery_deserializeErrorInvalidDBProxyEndpointStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBProxyEndpointStateFault{} +func awsAwsquery_deserializeErrorInvalidDBClusterStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBClusterStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19035,7 +19371,7 @@ func awsAwsquery_deserializeErrorInvalidDBProxyEndpointStateFault(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBProxyEndpointStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBClusterStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19048,8 +19384,8 @@ func awsAwsquery_deserializeErrorInvalidDBProxyEndpointStateFault(response *smit return output } -func awsAwsquery_deserializeErrorInvalidDBProxyStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBProxyStateFault{} +func awsAwsquery_deserializeErrorInvalidDBInstanceAutomatedBackupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBInstanceAutomatedBackupStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19079,7 +19415,7 @@ func awsAwsquery_deserializeErrorInvalidDBProxyStateFault(response *smithyhttp.R } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBProxyStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBInstanceAutomatedBackupStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19092,8 +19428,8 @@ func awsAwsquery_deserializeErrorInvalidDBProxyStateFault(response *smithyhttp.R return output } -func awsAwsquery_deserializeErrorInvalidDBSecurityGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBSecurityGroupStateFault{} +func awsAwsquery_deserializeErrorInvalidDBInstanceStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBInstanceStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19123,7 +19459,7 @@ func awsAwsquery_deserializeErrorInvalidDBSecurityGroupStateFault(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBSecurityGroupStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBInstanceStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19136,8 +19472,8 @@ func awsAwsquery_deserializeErrorInvalidDBSecurityGroupStateFault(response *smit return output } -func awsAwsquery_deserializeErrorInvalidDBSnapshotStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBSnapshotStateFault{} +func awsAwsquery_deserializeErrorInvalidDBParameterGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBParameterGroupStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19167,7 +19503,7 @@ func awsAwsquery_deserializeErrorInvalidDBSnapshotStateFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBSnapshotStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBParameterGroupStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19180,8 +19516,8 @@ func awsAwsquery_deserializeErrorInvalidDBSnapshotStateFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorInvalidDBSubnetGroupFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBSubnetGroupFault{} +func awsAwsquery_deserializeErrorInvalidDBProxyEndpointStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBProxyEndpointStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19211,7 +19547,7 @@ func awsAwsquery_deserializeErrorInvalidDBSubnetGroupFault(response *smithyhttp. } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBSubnetGroupFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBProxyEndpointStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19224,8 +19560,8 @@ func awsAwsquery_deserializeErrorInvalidDBSubnetGroupFault(response *smithyhttp. return output } -func awsAwsquery_deserializeErrorInvalidDBSubnetGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBSubnetGroupStateFault{} +func awsAwsquery_deserializeErrorInvalidDBProxyStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBProxyStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19255,7 +19591,7 @@ func awsAwsquery_deserializeErrorInvalidDBSubnetGroupStateFault(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBSubnetGroupStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBProxyStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19268,8 +19604,8 @@ func awsAwsquery_deserializeErrorInvalidDBSubnetGroupStateFault(response *smithy return output } -func awsAwsquery_deserializeErrorInvalidDBSubnetStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidDBSubnetStateFault{} +func awsAwsquery_deserializeErrorInvalidDBSecurityGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBSecurityGroupStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19299,7 +19635,7 @@ func awsAwsquery_deserializeErrorInvalidDBSubnetStateFault(response *smithyhttp. } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidDBSubnetStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBSecurityGroupStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19312,8 +19648,8 @@ func awsAwsquery_deserializeErrorInvalidDBSubnetStateFault(response *smithyhttp. return output } -func awsAwsquery_deserializeErrorInvalidEventSubscriptionStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidEventSubscriptionStateFault{} +func awsAwsquery_deserializeErrorInvalidDBSnapshotStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBSnapshotStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19343,7 +19679,7 @@ func awsAwsquery_deserializeErrorInvalidEventSubscriptionStateFault(response *sm } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidEventSubscriptionStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBSnapshotStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19356,8 +19692,8 @@ func awsAwsquery_deserializeErrorInvalidEventSubscriptionStateFault(response *sm return output } -func awsAwsquery_deserializeErrorInvalidExportOnlyFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidExportOnlyFault{} +func awsAwsquery_deserializeErrorInvalidDBSubnetGroupFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBSubnetGroupFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19387,7 +19723,7 @@ func awsAwsquery_deserializeErrorInvalidExportOnlyFault(response *smithyhttp.Res } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidExportOnlyFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBSubnetGroupFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19400,8 +19736,8 @@ func awsAwsquery_deserializeErrorInvalidExportOnlyFault(response *smithyhttp.Res return output } -func awsAwsquery_deserializeErrorInvalidExportSourceStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidExportSourceStateFault{} +func awsAwsquery_deserializeErrorInvalidDBSubnetGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBSubnetGroupStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19431,7 +19767,7 @@ func awsAwsquery_deserializeErrorInvalidExportSourceStateFault(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidExportSourceStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBSubnetGroupStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19444,8 +19780,8 @@ func awsAwsquery_deserializeErrorInvalidExportSourceStateFault(response *smithyh return output } -func awsAwsquery_deserializeErrorInvalidExportTaskStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidExportTaskStateFault{} +func awsAwsquery_deserializeErrorInvalidDBSubnetStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidDBSubnetStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19475,7 +19811,7 @@ func awsAwsquery_deserializeErrorInvalidExportTaskStateFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidExportTaskStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidDBSubnetStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19488,8 +19824,8 @@ func awsAwsquery_deserializeErrorInvalidExportTaskStateFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorInvalidGlobalClusterStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidGlobalClusterStateFault{} +func awsAwsquery_deserializeErrorInvalidEventSubscriptionStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidEventSubscriptionStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19519,7 +19855,7 @@ func awsAwsquery_deserializeErrorInvalidGlobalClusterStateFault(response *smithy } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidGlobalClusterStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidEventSubscriptionStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19532,8 +19868,8 @@ func awsAwsquery_deserializeErrorInvalidGlobalClusterStateFault(response *smithy return output } -func awsAwsquery_deserializeErrorInvalidOptionGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidOptionGroupStateFault{} +func awsAwsquery_deserializeErrorInvalidExportOnlyFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidExportOnlyFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19563,7 +19899,7 @@ func awsAwsquery_deserializeErrorInvalidOptionGroupStateFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidOptionGroupStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidExportOnlyFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19576,8 +19912,8 @@ func awsAwsquery_deserializeErrorInvalidOptionGroupStateFault(response *smithyht return output } -func awsAwsquery_deserializeErrorInvalidRestoreFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidRestoreFault{} +func awsAwsquery_deserializeErrorInvalidExportSourceStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidExportSourceStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19607,7 +19943,7 @@ func awsAwsquery_deserializeErrorInvalidRestoreFault(response *smithyhttp.Respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidRestoreFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidExportSourceStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19620,8 +19956,8 @@ func awsAwsquery_deserializeErrorInvalidRestoreFault(response *smithyhttp.Respon return output } -func awsAwsquery_deserializeErrorInvalidS3BucketFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidS3BucketFault{} +func awsAwsquery_deserializeErrorInvalidExportTaskStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidExportTaskStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19651,7 +19987,7 @@ func awsAwsquery_deserializeErrorInvalidS3BucketFault(response *smithyhttp.Respo } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidS3BucketFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidExportTaskStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19664,8 +20000,8 @@ func awsAwsquery_deserializeErrorInvalidS3BucketFault(response *smithyhttp.Respo return output } -func awsAwsquery_deserializeErrorInvalidSubnet(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidSubnet{} +func awsAwsquery_deserializeErrorInvalidGlobalClusterStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidGlobalClusterStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19695,7 +20031,7 @@ func awsAwsquery_deserializeErrorInvalidSubnet(response *smithyhttp.Response, er } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidSubnet(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidGlobalClusterStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19708,8 +20044,8 @@ func awsAwsquery_deserializeErrorInvalidSubnet(response *smithyhttp.Response, er return output } -func awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InvalidVPCNetworkStateFault{} +func awsAwsquery_deserializeErrorInvalidOptionGroupStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidOptionGroupStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19739,7 +20075,7 @@ func awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response *smithyhtt } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentInvalidVPCNetworkStateFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidOptionGroupStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19752,8 +20088,8 @@ func awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response *smithyhtt return output } -func awsAwsquery_deserializeErrorKMSKeyNotAccessibleFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.KMSKeyNotAccessibleFault{} +func awsAwsquery_deserializeErrorInvalidRestoreFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidRestoreFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19783,7 +20119,7 @@ func awsAwsquery_deserializeErrorKMSKeyNotAccessibleFault(response *smithyhttp.R } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentKMSKeyNotAccessibleFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidRestoreFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19796,8 +20132,8 @@ func awsAwsquery_deserializeErrorKMSKeyNotAccessibleFault(response *smithyhttp.R return output } -func awsAwsquery_deserializeErrorOptionGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.OptionGroupAlreadyExistsFault{} +func awsAwsquery_deserializeErrorInvalidS3BucketFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidS3BucketFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19827,7 +20163,7 @@ func awsAwsquery_deserializeErrorOptionGroupAlreadyExistsFault(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentOptionGroupAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidS3BucketFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19840,8 +20176,8 @@ func awsAwsquery_deserializeErrorOptionGroupAlreadyExistsFault(response *smithyh return output } -func awsAwsquery_deserializeErrorOptionGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.OptionGroupNotFoundFault{} +func awsAwsquery_deserializeErrorInvalidSubnet(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidSubnet{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19871,7 +20207,7 @@ func awsAwsquery_deserializeErrorOptionGroupNotFoundFault(response *smithyhttp.R } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentOptionGroupNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidSubnet(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19884,8 +20220,8 @@ func awsAwsquery_deserializeErrorOptionGroupNotFoundFault(response *smithyhttp.R return output } -func awsAwsquery_deserializeErrorOptionGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.OptionGroupQuotaExceededFault{} +func awsAwsquery_deserializeErrorInvalidVPCNetworkStateFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InvalidVPCNetworkStateFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19915,7 +20251,7 @@ func awsAwsquery_deserializeErrorOptionGroupQuotaExceededFault(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentOptionGroupQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentInvalidVPCNetworkStateFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19928,8 +20264,8 @@ func awsAwsquery_deserializeErrorOptionGroupQuotaExceededFault(response *smithyh return output } -func awsAwsquery_deserializeErrorPointInTimeRestoreNotEnabledFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.PointInTimeRestoreNotEnabledFault{} +func awsAwsquery_deserializeErrorKMSKeyNotAccessibleFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.KMSKeyNotAccessibleFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -19959,7 +20295,7 @@ func awsAwsquery_deserializeErrorPointInTimeRestoreNotEnabledFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentPointInTimeRestoreNotEnabledFault(&output, decoder) + err = awsAwsquery_deserializeDocumentKMSKeyNotAccessibleFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -19972,8 +20308,8 @@ func awsAwsquery_deserializeErrorPointInTimeRestoreNotEnabledFault(response *smi return output } -func awsAwsquery_deserializeErrorProvisionedIopsNotAvailableInAZFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ProvisionedIopsNotAvailableInAZFault{} +func awsAwsquery_deserializeErrorOptionGroupAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.OptionGroupAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20003,7 +20339,7 @@ func awsAwsquery_deserializeErrorProvisionedIopsNotAvailableInAZFault(response * } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentProvisionedIopsNotAvailableInAZFault(&output, decoder) + err = awsAwsquery_deserializeDocumentOptionGroupAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20016,8 +20352,8 @@ func awsAwsquery_deserializeErrorProvisionedIopsNotAvailableInAZFault(response * return output } -func awsAwsquery_deserializeErrorReservedDBInstanceAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ReservedDBInstanceAlreadyExistsFault{} +func awsAwsquery_deserializeErrorOptionGroupNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.OptionGroupNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20047,7 +20383,7 @@ func awsAwsquery_deserializeErrorReservedDBInstanceAlreadyExistsFault(response * } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentReservedDBInstanceAlreadyExistsFault(&output, decoder) + err = awsAwsquery_deserializeDocumentOptionGroupNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20060,8 +20396,8 @@ func awsAwsquery_deserializeErrorReservedDBInstanceAlreadyExistsFault(response * return output } -func awsAwsquery_deserializeErrorReservedDBInstanceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ReservedDBInstanceNotFoundFault{} +func awsAwsquery_deserializeErrorOptionGroupQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.OptionGroupQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20091,7 +20427,7 @@ func awsAwsquery_deserializeErrorReservedDBInstanceNotFoundFault(response *smith } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentReservedDBInstanceNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentOptionGroupQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20104,8 +20440,8 @@ func awsAwsquery_deserializeErrorReservedDBInstanceNotFoundFault(response *smith return output } -func awsAwsquery_deserializeErrorReservedDBInstanceQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ReservedDBInstanceQuotaExceededFault{} +func awsAwsquery_deserializeErrorPointInTimeRestoreNotEnabledFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.PointInTimeRestoreNotEnabledFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20135,7 +20471,7 @@ func awsAwsquery_deserializeErrorReservedDBInstanceQuotaExceededFault(response * } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentReservedDBInstanceQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentPointInTimeRestoreNotEnabledFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20148,8 +20484,8 @@ func awsAwsquery_deserializeErrorReservedDBInstanceQuotaExceededFault(response * return output } -func awsAwsquery_deserializeErrorReservedDBInstancesOfferingNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ReservedDBInstancesOfferingNotFoundFault{} +func awsAwsquery_deserializeErrorProvisionedIopsNotAvailableInAZFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ProvisionedIopsNotAvailableInAZFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20179,7 +20515,7 @@ func awsAwsquery_deserializeErrorReservedDBInstancesOfferingNotFoundFault(respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentReservedDBInstancesOfferingNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentProvisionedIopsNotAvailableInAZFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20192,8 +20528,8 @@ func awsAwsquery_deserializeErrorReservedDBInstancesOfferingNotFoundFault(respon return output } -func awsAwsquery_deserializeErrorResourceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ResourceNotFoundFault{} +func awsAwsquery_deserializeErrorReservedDBInstanceAlreadyExistsFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ReservedDBInstanceAlreadyExistsFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20223,7 +20559,7 @@ func awsAwsquery_deserializeErrorResourceNotFoundFault(response *smithyhttp.Resp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentResourceNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentReservedDBInstanceAlreadyExistsFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20236,8 +20572,8 @@ func awsAwsquery_deserializeErrorResourceNotFoundFault(response *smithyhttp.Resp return output } -func awsAwsquery_deserializeErrorSharedSnapshotQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SharedSnapshotQuotaExceededFault{} +func awsAwsquery_deserializeErrorReservedDBInstanceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ReservedDBInstanceNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20267,7 +20603,7 @@ func awsAwsquery_deserializeErrorSharedSnapshotQuotaExceededFault(response *smit } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSharedSnapshotQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentReservedDBInstanceNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20280,8 +20616,8 @@ func awsAwsquery_deserializeErrorSharedSnapshotQuotaExceededFault(response *smit return output } -func awsAwsquery_deserializeErrorSnapshotQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SnapshotQuotaExceededFault{} +func awsAwsquery_deserializeErrorReservedDBInstanceQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ReservedDBInstanceQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20311,7 +20647,7 @@ func awsAwsquery_deserializeErrorSnapshotQuotaExceededFault(response *smithyhttp } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSnapshotQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentReservedDBInstanceQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20324,8 +20660,8 @@ func awsAwsquery_deserializeErrorSnapshotQuotaExceededFault(response *smithyhttp return output } -func awsAwsquery_deserializeErrorSNSInvalidTopicFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SNSInvalidTopicFault{} +func awsAwsquery_deserializeErrorReservedDBInstancesOfferingNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ReservedDBInstancesOfferingNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20355,7 +20691,7 @@ func awsAwsquery_deserializeErrorSNSInvalidTopicFault(response *smithyhttp.Respo } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSNSInvalidTopicFault(&output, decoder) + err = awsAwsquery_deserializeDocumentReservedDBInstancesOfferingNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20368,8 +20704,8 @@ func awsAwsquery_deserializeErrorSNSInvalidTopicFault(response *smithyhttp.Respo return output } -func awsAwsquery_deserializeErrorSNSNoAuthorizationFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SNSNoAuthorizationFault{} +func awsAwsquery_deserializeErrorResourceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ResourceNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20399,7 +20735,7 @@ func awsAwsquery_deserializeErrorSNSNoAuthorizationFault(response *smithyhttp.Re } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSNSNoAuthorizationFault(&output, decoder) + err = awsAwsquery_deserializeDocumentResourceNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20412,8 +20748,8 @@ func awsAwsquery_deserializeErrorSNSNoAuthorizationFault(response *smithyhttp.Re return output } -func awsAwsquery_deserializeErrorSNSTopicArnNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SNSTopicArnNotFoundFault{} +func awsAwsquery_deserializeErrorSharedSnapshotQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SharedSnapshotQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20443,7 +20779,7 @@ func awsAwsquery_deserializeErrorSNSTopicArnNotFoundFault(response *smithyhttp.R } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSNSTopicArnNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentSharedSnapshotQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20456,8 +20792,8 @@ func awsAwsquery_deserializeErrorSNSTopicArnNotFoundFault(response *smithyhttp.R return output } -func awsAwsquery_deserializeErrorSourceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SourceNotFoundFault{} +func awsAwsquery_deserializeErrorSnapshotQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SnapshotQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20487,7 +20823,7 @@ func awsAwsquery_deserializeErrorSourceNotFoundFault(response *smithyhttp.Respon } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSourceNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentSnapshotQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20500,8 +20836,8 @@ func awsAwsquery_deserializeErrorSourceNotFoundFault(response *smithyhttp.Respon return output } -func awsAwsquery_deserializeErrorStorageQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.StorageQuotaExceededFault{} +func awsAwsquery_deserializeErrorSNSInvalidTopicFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SNSInvalidTopicFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20531,7 +20867,7 @@ func awsAwsquery_deserializeErrorStorageQuotaExceededFault(response *smithyhttp. } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentStorageQuotaExceededFault(&output, decoder) + err = awsAwsquery_deserializeDocumentSNSInvalidTopicFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20544,8 +20880,8 @@ func awsAwsquery_deserializeErrorStorageQuotaExceededFault(response *smithyhttp. return output } -func awsAwsquery_deserializeErrorStorageTypeNotSupportedFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.StorageTypeNotSupportedFault{} +func awsAwsquery_deserializeErrorSNSNoAuthorizationFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SNSNoAuthorizationFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20575,7 +20911,7 @@ func awsAwsquery_deserializeErrorStorageTypeNotSupportedFault(response *smithyht } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentStorageTypeNotSupportedFault(&output, decoder) + err = awsAwsquery_deserializeDocumentSNSNoAuthorizationFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20588,8 +20924,8 @@ func awsAwsquery_deserializeErrorStorageTypeNotSupportedFault(response *smithyht return output } -func awsAwsquery_deserializeErrorSubnetAlreadyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SubnetAlreadyInUse{} +func awsAwsquery_deserializeErrorSNSTopicArnNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SNSTopicArnNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20619,7 +20955,7 @@ func awsAwsquery_deserializeErrorSubnetAlreadyInUse(response *smithyhttp.Respons } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSubnetAlreadyInUse(&output, decoder) + err = awsAwsquery_deserializeDocumentSNSTopicArnNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20632,8 +20968,8 @@ func awsAwsquery_deserializeErrorSubnetAlreadyInUse(response *smithyhttp.Respons return output } -func awsAwsquery_deserializeErrorSubscriptionAlreadyExistFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SubscriptionAlreadyExistFault{} +func awsAwsquery_deserializeErrorSourceNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SourceNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20663,7 +20999,7 @@ func awsAwsquery_deserializeErrorSubscriptionAlreadyExistFault(response *smithyh } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSubscriptionAlreadyExistFault(&output, decoder) + err = awsAwsquery_deserializeDocumentSourceNotFoundFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20676,8 +21012,8 @@ func awsAwsquery_deserializeErrorSubscriptionAlreadyExistFault(response *smithyh return output } -func awsAwsquery_deserializeErrorSubscriptionCategoryNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SubscriptionCategoryNotFoundFault{} +func awsAwsquery_deserializeErrorStorageQuotaExceededFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.StorageQuotaExceededFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -20707,7 +21043,7 @@ func awsAwsquery_deserializeErrorSubscriptionCategoryNotFoundFault(response *smi } decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) - err = awsAwsquery_deserializeDocumentSubscriptionCategoryNotFoundFault(&output, decoder) + err = awsAwsquery_deserializeDocumentStorageQuotaExceededFault(&output, decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -20720,8 +21056,184 @@ func awsAwsquery_deserializeErrorSubscriptionCategoryNotFoundFault(response *smi return output } -func awsAwsquery_deserializeErrorSubscriptionNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.SubscriptionNotFoundFault{} +func awsAwsquery_deserializeErrorStorageTypeNotSupportedFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.StorageTypeNotSupportedFault{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeDocumentStorageTypeNotSupportedFault(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsAwsquery_deserializeErrorSubnetAlreadyInUse(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SubnetAlreadyInUse{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeDocumentSubnetAlreadyInUse(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsAwsquery_deserializeErrorSubscriptionAlreadyExistFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SubscriptionAlreadyExistFault{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeDocumentSubscriptionAlreadyExistFault(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsAwsquery_deserializeErrorSubscriptionCategoryNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SubscriptionCategoryNotFoundFault{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return output + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("Error") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeDocumentSubscriptionCategoryNotFoundFault(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return output +} + +func awsAwsquery_deserializeErrorSubscriptionNotFoundFault(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.SubscriptionNotFoundFault{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) @@ -22444,6 +22956,153 @@ func awsAwsquery_deserializeDocumentCustomAvailabilityZoneQuotaExceededFault(v * return nil } +func awsAwsquery_deserializeDocumentCustomDBEngineVersionAlreadyExistsFault(v **types.CustomDBEngineVersionAlreadyExistsFault, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.CustomDBEngineVersionAlreadyExistsFault + if *v == nil { + sv = &types.CustomDBEngineVersionAlreadyExistsFault{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentCustomDBEngineVersionNotFoundFault(v **types.CustomDBEngineVersionNotFoundFault, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.CustomDBEngineVersionNotFoundFault + if *v == nil { + sv = &types.CustomDBEngineVersionNotFoundFault{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentCustomDBEngineVersionQuotaExceededFault(v **types.CustomDBEngineVersionQuotaExceededFault, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.CustomDBEngineVersionQuotaExceededFault + if *v == nil { + sv = &types.CustomDBEngineVersionQuotaExceededFault{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentDBCluster(v **types.DBCluster, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -25518,6 +26177,49 @@ func awsAwsquery_deserializeDocumentDBEngineVersion(v **types.DBEngineVersion, d originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { + case strings.EqualFold("CreateTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.CreateTime = ptr.Time(t) + } + + case strings.EqualFold("DatabaseInstallationFilesS3BucketName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3BucketName = ptr.String(xtv) + } + + case strings.EqualFold("DatabaseInstallationFilesS3Prefix", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3Prefix = ptr.String(xtv) + } + case strings.EqualFold("DBEngineDescription", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -25531,6 +26233,19 @@ func awsAwsquery_deserializeDocumentDBEngineVersion(v **types.DBEngineVersion, d sv.DBEngineDescription = ptr.String(xtv) } + case strings.EqualFold("DBEngineVersionArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionArn = ptr.String(xtv) + } + case strings.EqualFold("DBEngineVersionDescription", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -25595,6 +26310,32 @@ func awsAwsquery_deserializeDocumentDBEngineVersion(v **types.DBEngineVersion, d return err } + case strings.EqualFold("KMSKeyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.KMSKeyId = ptr.String(xtv) + } + + case strings.EqualFold("MajorEngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.MajorEngineVersion = ptr.String(xtv) + } + case strings.EqualFold("Status", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -25702,6 +26443,12 @@ func awsAwsquery_deserializeDocumentDBEngineVersion(v **types.DBEngineVersion, d sv.SupportsReadReplica = xtv } + case strings.EqualFold("TagList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentTagList(&sv.TagList, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("ValidUpgradeTarget", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) if err := awsAwsquery_deserializeDocumentValidUpgradeTargetList(&sv.ValidUpgradeTarget, nodeDecoder); err != nil { @@ -25920,6 +26667,19 @@ func awsAwsquery_deserializeDocumentDBInstance(v **types.DBInstance, decoder smi sv.AutomaticRestartTime = ptr.Time(t) } + case strings.EqualFold("AutomationMode", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.AutomationMode = types.AutomationMode(xtv) + } + case strings.EqualFold("AutoMinorVersionUpgrade", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -26037,6 +26797,19 @@ func awsAwsquery_deserializeDocumentDBInstance(v **types.DBInstance, decoder smi sv.CustomerOwnedIpEnabled = ptr.Bool(xtv) } + case strings.EqualFold("CustomIamInstanceProfile", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.CustomIamInstanceProfile = ptr.String(xtv) + } + case strings.EqualFold("DBClusterIdentifier", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -26591,6 +27364,23 @@ func awsAwsquery_deserializeDocumentDBInstance(v **types.DBInstance, decoder smi sv.ReplicaMode = types.ReplicaMode(xtv) } + case strings.EqualFold("ResumeFullAutomationModeTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.ResumeFullAutomationModeTime = ptr.Time(t) + } + case strings.EqualFold("SecondaryAvailabilityZone", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -34855,6 +35645,55 @@ func awsAwsquery_deserializeDocumentInsufficientStorageClusterCapacityFault(v ** return nil } +func awsAwsquery_deserializeDocumentInvalidCustomDBEngineVersionStateFault(v **types.InvalidCustomDBEngineVersionStateFault, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.InvalidCustomDBEngineVersionStateFault + if *v == nil { + sv = &types.InvalidCustomDBEngineVersionStateFault{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("message", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Message = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentInvalidDBClusterCapacityFault(v **types.InvalidDBClusterCapacityFault, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -39285,6 +40124,19 @@ func awsAwsquery_deserializeDocumentPendingModifiedValues(v **types.PendingModif sv.AllocatedStorage = ptr.Int32(int32(i64)) } + case strings.EqualFold("AutomationMode", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.AutomationMode = types.AutomationMode(xtv) + } + case strings.EqualFold("BackupRetentionPeriod", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -39471,6 +40323,23 @@ func awsAwsquery_deserializeDocumentPendingModifiedValues(v **types.PendingModif return err } + case strings.EqualFold("ResumeFullAutomationModeTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.ResumeFullAutomationModeTime = ptr.Time(t) + } + case strings.EqualFold("StorageType", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -44556,6 +45425,320 @@ func awsAwsquery_deserializeOpDocumentCreateCustomAvailabilityZoneOutput(v **Cre return nil } +func awsAwsquery_deserializeOpDocumentCreateCustomDBEngineVersionOutput(v **CreateCustomDBEngineVersionOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *CreateCustomDBEngineVersionOutput + if *v == nil { + sv = &CreateCustomDBEngineVersionOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("CreateTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.CreateTime = ptr.Time(t) + } + + case strings.EqualFold("DatabaseInstallationFilesS3BucketName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3BucketName = ptr.String(xtv) + } + + case strings.EqualFold("DatabaseInstallationFilesS3Prefix", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3Prefix = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineDescription", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineDescription = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineVersionArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionArn = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineVersionDescription", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionDescription = ptr.String(xtv) + } + + case strings.EqualFold("DBParameterGroupFamily", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBParameterGroupFamily = ptr.String(xtv) + } + + case strings.EqualFold("DefaultCharacterSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentCharacterSet(&sv.DefaultCharacterSet, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Engine", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Engine = ptr.String(xtv) + } + + case strings.EqualFold("EngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.EngineVersion = ptr.String(xtv) + } + + case strings.EqualFold("ExportableLogTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentLogTypeList(&sv.ExportableLogTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("KMSKeyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.KMSKeyId = ptr.String(xtv) + } + + case strings.EqualFold("MajorEngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.MajorEngineVersion = ptr.String(xtv) + } + + case strings.EqualFold("Status", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Status = ptr.String(xtv) + } + + case strings.EqualFold("SupportedCharacterSets", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedCharacterSetsList(&sv.SupportedCharacterSets, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedEngineModes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentEngineModeList(&sv.SupportedEngineModes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedFeatureNames", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentFeatureNameList(&sv.SupportedFeatureNames, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedNcharCharacterSets", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedCharacterSetsList(&sv.SupportedNcharCharacterSets, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedTimezones", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedTimezonesList(&sv.SupportedTimezones, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsGlobalDatabases = xtv + } + + case strings.EqualFold("SupportsLogExportsToCloudwatchLogs", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsLogExportsToCloudwatchLogs = xtv + } + + case strings.EqualFold("SupportsParallelQuery", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsParallelQuery = xtv + } + + case strings.EqualFold("SupportsReadReplica", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsReadReplica = xtv + } + + case strings.EqualFold("TagList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentTagList(&sv.TagList, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ValidUpgradeTarget", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentValidUpgradeTargetList(&sv.ValidUpgradeTarget, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeOpDocumentCreateDBClusterEndpointOutput(v **CreateDBClusterEndpointOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -45338,6 +46521,320 @@ func awsAwsquery_deserializeOpDocumentDeleteCustomAvailabilityZoneOutput(v **Del return nil } +func awsAwsquery_deserializeOpDocumentDeleteCustomDBEngineVersionOutput(v **DeleteCustomDBEngineVersionOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *DeleteCustomDBEngineVersionOutput + if *v == nil { + sv = &DeleteCustomDBEngineVersionOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("CreateTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.CreateTime = ptr.Time(t) + } + + case strings.EqualFold("DatabaseInstallationFilesS3BucketName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3BucketName = ptr.String(xtv) + } + + case strings.EqualFold("DatabaseInstallationFilesS3Prefix", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3Prefix = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineDescription", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineDescription = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineVersionArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionArn = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineVersionDescription", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionDescription = ptr.String(xtv) + } + + case strings.EqualFold("DBParameterGroupFamily", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBParameterGroupFamily = ptr.String(xtv) + } + + case strings.EqualFold("DefaultCharacterSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentCharacterSet(&sv.DefaultCharacterSet, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Engine", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Engine = ptr.String(xtv) + } + + case strings.EqualFold("EngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.EngineVersion = ptr.String(xtv) + } + + case strings.EqualFold("ExportableLogTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentLogTypeList(&sv.ExportableLogTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("KMSKeyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.KMSKeyId = ptr.String(xtv) + } + + case strings.EqualFold("MajorEngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.MajorEngineVersion = ptr.String(xtv) + } + + case strings.EqualFold("Status", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Status = ptr.String(xtv) + } + + case strings.EqualFold("SupportedCharacterSets", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedCharacterSetsList(&sv.SupportedCharacterSets, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedEngineModes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentEngineModeList(&sv.SupportedEngineModes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedFeatureNames", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentFeatureNameList(&sv.SupportedFeatureNames, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedNcharCharacterSets", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedCharacterSetsList(&sv.SupportedNcharCharacterSets, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedTimezones", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedTimezonesList(&sv.SupportedTimezones, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsGlobalDatabases = xtv + } + + case strings.EqualFold("SupportsLogExportsToCloudwatchLogs", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsLogExportsToCloudwatchLogs = xtv + } + + case strings.EqualFold("SupportsParallelQuery", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsParallelQuery = xtv + } + + case strings.EqualFold("SupportsReadReplica", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsReadReplica = xtv + } + + case strings.EqualFold("TagList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentTagList(&sv.TagList, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ValidUpgradeTarget", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentValidUpgradeTargetList(&sv.ValidUpgradeTarget, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeOpDocumentDeleteDBClusterEndpointOutput(v **DeleteDBClusterEndpointOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -48638,6 +50135,320 @@ func awsAwsquery_deserializeOpDocumentModifyCurrentDBClusterCapacityOutput(v **M return nil } +func awsAwsquery_deserializeOpDocumentModifyCustomDBEngineVersionOutput(v **ModifyCustomDBEngineVersionOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ModifyCustomDBEngineVersionOutput + if *v == nil { + sv = &ModifyCustomDBEngineVersionOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("CreateTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.CreateTime = ptr.Time(t) + } + + case strings.EqualFold("DatabaseInstallationFilesS3BucketName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3BucketName = ptr.String(xtv) + } + + case strings.EqualFold("DatabaseInstallationFilesS3Prefix", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DatabaseInstallationFilesS3Prefix = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineDescription", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineDescription = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineVersionArn", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionArn = ptr.String(xtv) + } + + case strings.EqualFold("DBEngineVersionDescription", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBEngineVersionDescription = ptr.String(xtv) + } + + case strings.EqualFold("DBParameterGroupFamily", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DBParameterGroupFamily = ptr.String(xtv) + } + + case strings.EqualFold("DefaultCharacterSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentCharacterSet(&sv.DefaultCharacterSet, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Engine", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Engine = ptr.String(xtv) + } + + case strings.EqualFold("EngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.EngineVersion = ptr.String(xtv) + } + + case strings.EqualFold("ExportableLogTypes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentLogTypeList(&sv.ExportableLogTypes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("KMSKeyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.KMSKeyId = ptr.String(xtv) + } + + case strings.EqualFold("MajorEngineVersion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.MajorEngineVersion = ptr.String(xtv) + } + + case strings.EqualFold("Status", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Status = ptr.String(xtv) + } + + case strings.EqualFold("SupportedCharacterSets", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedCharacterSetsList(&sv.SupportedCharacterSets, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedEngineModes", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentEngineModeList(&sv.SupportedEngineModes, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedFeatureNames", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentFeatureNameList(&sv.SupportedFeatureNames, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedNcharCharacterSets", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedCharacterSetsList(&sv.SupportedNcharCharacterSets, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportedTimezones", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentSupportedTimezonesList(&sv.SupportedTimezones, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsGlobalDatabases = xtv + } + + case strings.EqualFold("SupportsLogExportsToCloudwatchLogs", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsLogExportsToCloudwatchLogs = xtv + } + + case strings.EqualFold("SupportsParallelQuery", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsParallelQuery = xtv + } + + case strings.EqualFold("SupportsReadReplica", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsReadReplica = xtv + } + + case strings.EqualFold("TagList", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentTagList(&sv.TagList, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ValidUpgradeTarget", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentValidUpgradeTargetList(&sv.ValidUpgradeTarget, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeOpDocumentModifyDBClusterEndpointOutput(v **ModifyDBClusterEndpointOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/rds/generated.json b/service/rds/generated.json index 7a7f170a2f7..a4c1207fb56 100644 --- a/service/rds/generated.json +++ b/service/rds/generated.json @@ -23,6 +23,7 @@ "api_op_CopyDBSnapshot_test.go", "api_op_CopyOptionGroup.go", "api_op_CreateCustomAvailabilityZone.go", + "api_op_CreateCustomDBEngineVersion.go", "api_op_CreateDBCluster.go", "api_op_CreateDBClusterEndpoint.go", "api_op_CreateDBClusterParameterGroup.go", @@ -41,6 +42,7 @@ "api_op_CreateGlobalCluster.go", "api_op_CreateOptionGroup.go", "api_op_DeleteCustomAvailabilityZone.go", + "api_op_DeleteCustomDBEngineVersion.go", "api_op_DeleteDBCluster.go", "api_op_DeleteDBClusterEndpoint.go", "api_op_DeleteDBClusterParameterGroup.go", @@ -105,6 +107,7 @@ "api_op_ListTagsForResource.go", "api_op_ModifyCertificates.go", "api_op_ModifyCurrentDBClusterCapacity.go", + "api_op_ModifyCustomDBEngineVersion.go", "api_op_ModifyDBCluster.go", "api_op_ModifyDBClusterEndpoint.go", "api_op_ModifyDBClusterParameterGroup.go", diff --git a/service/rds/internal/endpoints/endpoints.go b/service/rds/internal/endpoints/endpoints.go index 1e2bb87abb1..4a5dee507aa 100644 --- a/service/rds/internal/endpoints/endpoints.go +++ b/service/rds/internal/endpoints/endpoints.go @@ -72,13 +72,19 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, - "me-south-1": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, + "me-south-1": endpoints.Endpoint{}, "rds-fips.ca-central-1": endpoints.Endpoint{ Hostname: "rds-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -109,11 +115,60 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-west-2", }, }, + "rds.ca-central-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "rds.us-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "rds.us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "rds.us-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "rds.us-west-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "rds-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -180,7 +235,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "rds.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "rds.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/rds/serializers.go b/service/rds/serializers.go index 2b2a47118d7..f175805a2ef 100644 --- a/service/rds/serializers.go +++ b/service/rds/serializers.go @@ -799,6 +799,62 @@ func (m *awsAwsquery_serializeOpCreateCustomAvailabilityZone) HandleSerialize(ct return next.HandleSerialize(ctx, in) } +type awsAwsquery_serializeOpCreateCustomDBEngineVersion struct { +} + +func (*awsAwsquery_serializeOpCreateCustomDBEngineVersion) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsquery_serializeOpCreateCustomDBEngineVersion) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*CreateCustomDBEngineVersionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("CreateCustomDBEngineVersion") + body.Key("Version").String("2014-10-31") + + if err := awsAwsquery_serializeOpDocumentCreateCustomDBEngineVersionInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsquery_serializeOpCreateDBCluster struct { } @@ -1695,6 +1751,62 @@ func (m *awsAwsquery_serializeOpDeleteCustomAvailabilityZone) HandleSerialize(ct return next.HandleSerialize(ctx, in) } +type awsAwsquery_serializeOpDeleteCustomDBEngineVersion struct { +} + +func (*awsAwsquery_serializeOpDeleteCustomDBEngineVersion) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsquery_serializeOpDeleteCustomDBEngineVersion) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteCustomDBEngineVersionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("DeleteCustomDBEngineVersion") + body.Key("Version").String("2014-10-31") + + if err := awsAwsquery_serializeOpDocumentDeleteCustomDBEngineVersionInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsquery_serializeOpDeleteDBCluster struct { } @@ -5275,6 +5387,62 @@ func (m *awsAwsquery_serializeOpModifyCurrentDBClusterCapacity) HandleSerialize( return next.HandleSerialize(ctx, in) } +type awsAwsquery_serializeOpModifyCustomDBEngineVersion struct { +} + +func (*awsAwsquery_serializeOpModifyCustomDBEngineVersion) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsquery_serializeOpModifyCustomDBEngineVersion) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ModifyCustomDBEngineVersionInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("ModifyCustomDBEngineVersion") + body.Key("Version").String("2014-10-31") + + if err := awsAwsquery_serializeOpDocumentModifyCustomDBEngineVersionInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsquery_serializeOpModifyDBCluster struct { } @@ -8677,6 +8845,55 @@ func awsAwsquery_serializeOpDocumentCreateCustomAvailabilityZoneInput(v *CreateC return nil } +func awsAwsquery_serializeOpDocumentCreateCustomDBEngineVersionInput(v *CreateCustomDBEngineVersionInput, value query.Value) error { + object := value.Object() + _ = object + + if v.DatabaseInstallationFilesS3BucketName != nil { + objectKey := object.Key("DatabaseInstallationFilesS3BucketName") + objectKey.String(*v.DatabaseInstallationFilesS3BucketName) + } + + if v.DatabaseInstallationFilesS3Prefix != nil { + objectKey := object.Key("DatabaseInstallationFilesS3Prefix") + objectKey.String(*v.DatabaseInstallationFilesS3Prefix) + } + + if v.Description != nil { + objectKey := object.Key("Description") + objectKey.String(*v.Description) + } + + if v.Engine != nil { + objectKey := object.Key("Engine") + objectKey.String(*v.Engine) + } + + if v.EngineVersion != nil { + objectKey := object.Key("EngineVersion") + objectKey.String(*v.EngineVersion) + } + + if v.KMSKeyId != nil { + objectKey := object.Key("KMSKeyId") + objectKey.String(*v.KMSKeyId) + } + + if v.Manifest != nil { + objectKey := object.Key("Manifest") + objectKey.String(*v.Manifest) + } + + if v.Tags != nil { + objectKey := object.Key("Tags") + if err := awsAwsquery_serializeDocumentTagList(v.Tags, objectKey); err != nil { + return err + } + } + + return nil +} + func awsAwsquery_serializeOpDocumentCreateDBClusterEndpointInput(v *CreateDBClusterEndpointInput, value query.Value) error { object := value.Object() _ = object @@ -8994,6 +9211,11 @@ func awsAwsquery_serializeOpDocumentCreateDBInstanceInput(v *CreateDBInstanceInp objectKey.Boolean(*v.CopyTagsToSnapshot) } + if v.CustomIamInstanceProfile != nil { + objectKey := object.Key("CustomIamInstanceProfile") + objectKey.String(*v.CustomIamInstanceProfile) + } + if v.DBClusterIdentifier != nil { objectKey := object.Key("DBClusterIdentifier") objectKey.String(*v.DBClusterIdentifier) @@ -9236,6 +9458,11 @@ func awsAwsquery_serializeOpDocumentCreateDBInstanceReadReplicaInput(v *CreateDB objectKey.Boolean(*v.CopyTagsToSnapshot) } + if v.CustomIamInstanceProfile != nil { + objectKey := object.Key("CustomIamInstanceProfile") + objectKey.String(*v.CustomIamInstanceProfile) + } + if v.DBInstanceClass != nil { objectKey := object.Key("DBInstanceClass") objectKey.String(*v.DBInstanceClass) @@ -9749,6 +9976,23 @@ func awsAwsquery_serializeOpDocumentDeleteCustomAvailabilityZoneInput(v *DeleteC return nil } +func awsAwsquery_serializeOpDocumentDeleteCustomDBEngineVersionInput(v *DeleteCustomDBEngineVersionInput, value query.Value) error { + object := value.Object() + _ = object + + if v.Engine != nil { + objectKey := object.Key("Engine") + objectKey.String(*v.Engine) + } + + if v.EngineVersion != nil { + objectKey := object.Key("EngineVersion") + objectKey.String(*v.EngineVersion) + } + + return nil +} + func awsAwsquery_serializeOpDocumentDeleteDBClusterEndpointInput(v *DeleteDBClusterEndpointInput, value query.Value) error { object := value.Object() _ = object @@ -11507,6 +11751,33 @@ func awsAwsquery_serializeOpDocumentModifyCurrentDBClusterCapacityInput(v *Modif return nil } +func awsAwsquery_serializeOpDocumentModifyCustomDBEngineVersionInput(v *ModifyCustomDBEngineVersionInput, value query.Value) error { + object := value.Object() + _ = object + + if v.Description != nil { + objectKey := object.Key("Description") + objectKey.String(*v.Description) + } + + if v.Engine != nil { + objectKey := object.Key("Engine") + objectKey.String(*v.Engine) + } + + if v.EngineVersion != nil { + objectKey := object.Key("EngineVersion") + objectKey.String(*v.EngineVersion) + } + + if len(v.Status) > 0 { + objectKey := object.Key("Status") + objectKey.String(string(v.Status)) + } + + return nil +} + func awsAwsquery_serializeOpDocumentModifyDBClusterEndpointInput(v *ModifyDBClusterEndpointInput, value query.Value) error { object := value.Object() _ = object @@ -11740,6 +12011,11 @@ func awsAwsquery_serializeOpDocumentModifyDBInstanceInput(v *ModifyDBInstanceInp objectKey.Boolean(v.ApplyImmediately) } + if len(v.AutomationMode) > 0 { + objectKey := object.Key("AutomationMode") + objectKey.String(string(v.AutomationMode)) + } + if v.AutoMinorVersionUpgrade != nil { objectKey := object.Key("AutoMinorVersionUpgrade") objectKey.Boolean(*v.AutoMinorVersionUpgrade) @@ -11931,6 +12207,11 @@ func awsAwsquery_serializeOpDocumentModifyDBInstanceInput(v *ModifyDBInstanceInp objectKey.String(string(v.ReplicaMode)) } + if v.ResumeFullAutomationModeMinutes != nil { + objectKey := object.Key("ResumeFullAutomationModeMinutes") + objectKey.Integer(*v.ResumeFullAutomationModeMinutes) + } + if v.StorageType != nil { objectKey := object.Key("StorageType") objectKey.String(*v.StorageType) @@ -12950,6 +13231,11 @@ func awsAwsquery_serializeOpDocumentRestoreDBInstanceFromDBSnapshotInput(v *Rest objectKey.Boolean(*v.CopyTagsToSnapshot) } + if v.CustomIamInstanceProfile != nil { + objectKey := object.Key("CustomIamInstanceProfile") + objectKey.String(*v.CustomIamInstanceProfile) + } + if v.DBInstanceClass != nil { objectKey := object.Key("DBInstanceClass") objectKey.String(*v.DBInstanceClass) @@ -13347,6 +13633,11 @@ func awsAwsquery_serializeOpDocumentRestoreDBInstanceToPointInTimeInput(v *Resto objectKey.Boolean(*v.CopyTagsToSnapshot) } + if v.CustomIamInstanceProfile != nil { + objectKey := object.Key("CustomIamInstanceProfile") + objectKey.String(*v.CustomIamInstanceProfile) + } + if v.DBInstanceClass != nil { objectKey := object.Key("DBInstanceClass") objectKey.String(*v.DBInstanceClass) diff --git a/service/rds/types/enums.go b/service/rds/types/enums.go index 2c90439a692..fbf1a908fc3 100644 --- a/service/rds/types/enums.go +++ b/service/rds/types/enums.go @@ -76,6 +76,44 @@ func (AuthScheme) Values() []AuthScheme { } } +type AutomationMode string + +// Enum values for AutomationMode +const ( + AutomationModeFull AutomationMode = "full" + AutomationModeAllPaused AutomationMode = "all-paused" +) + +// Values returns all known values for AutomationMode. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AutomationMode) Values() []AutomationMode { + return []AutomationMode{ + "full", + "all-paused", + } +} + +type CustomEngineVersionStatus string + +// Enum values for CustomEngineVersionStatus +const ( + CustomEngineVersionStatusAvailable CustomEngineVersionStatus = "available" + CustomEngineVersionStatusInactive CustomEngineVersionStatus = "inactive" + CustomEngineVersionStatusInactiveExceptRestore CustomEngineVersionStatus = "inactive-except-restore" +) + +// Values returns all known values for CustomEngineVersionStatus. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (CustomEngineVersionStatus) Values() []CustomEngineVersionStatus { + return []CustomEngineVersionStatus{ + "available", + "inactive", + "inactive-except-restore", + } +} + type DBProxyEndpointStatus string // Enum values for DBProxyEndpointStatus @@ -230,12 +268,13 @@ type SourceType string // Enum values for SourceType const ( - SourceTypeDbInstance SourceType = "db-instance" - SourceTypeDbParameterGroup SourceType = "db-parameter-group" - SourceTypeDbSecurityGroup SourceType = "db-security-group" - SourceTypeDbSnapshot SourceType = "db-snapshot" - SourceTypeDbCluster SourceType = "db-cluster" - SourceTypeDbClusterSnapshot SourceType = "db-cluster-snapshot" + SourceTypeDbInstance SourceType = "db-instance" + SourceTypeDbParameterGroup SourceType = "db-parameter-group" + SourceTypeDbSecurityGroup SourceType = "db-security-group" + SourceTypeDbSnapshot SourceType = "db-snapshot" + SourceTypeDbCluster SourceType = "db-cluster" + SourceTypeDbClusterSnapshot SourceType = "db-cluster-snapshot" + SourceTypeCustomEngineVersion SourceType = "custom-engine-version" ) // Values returns all known values for SourceType. Note that this can be expanded @@ -249,6 +288,7 @@ func (SourceType) Values() []SourceType { "db-snapshot", "db-cluster", "db-cluster-snapshot", + "custom-engine-version", } } diff --git a/service/rds/types/errors.go b/service/rds/types/errors.go index f6c22ca7c2a..b32c7b2e3fc 100644 --- a/service/rds/types/errors.go +++ b/service/rds/types/errors.go @@ -175,6 +175,75 @@ func (e *CustomAvailabilityZoneQuotaExceededFault) ErrorFault() smithy.ErrorFaul return smithy.FaultClient } +// A CEV with the specified name already exists. +type CustomDBEngineVersionAlreadyExistsFault struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *CustomDBEngineVersionAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *CustomDBEngineVersionAlreadyExistsFault) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *CustomDBEngineVersionAlreadyExistsFault) ErrorCode() string { + return "CustomDBEngineVersionAlreadyExistsFault" +} +func (e *CustomDBEngineVersionAlreadyExistsFault) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + +// The specified CEV was not found. +type CustomDBEngineVersionNotFoundFault struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *CustomDBEngineVersionNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *CustomDBEngineVersionNotFoundFault) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *CustomDBEngineVersionNotFoundFault) ErrorCode() string { + return "CustomDBEngineVersionNotFoundFault" +} +func (e *CustomDBEngineVersionNotFoundFault) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + +// You have exceeded your CEV quota. +type CustomDBEngineVersionQuotaExceededFault struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *CustomDBEngineVersionQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *CustomDBEngineVersionQuotaExceededFault) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *CustomDBEngineVersionQuotaExceededFault) ErrorCode() string { + return "CustomDBEngineVersionQuotaExceededFault" +} +func (e *CustomDBEngineVersionQuotaExceededFault) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + // The user already has a DB cluster with the given identifier. type DBClusterAlreadyExistsFault struct { Message *string @@ -1466,6 +1535,29 @@ func (e *InsufficientStorageClusterCapacityFault) ErrorFault() smithy.ErrorFault return smithy.FaultClient } +// You can't delete the CEV. +type InvalidCustomDBEngineVersionStateFault struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *InvalidCustomDBEngineVersionStateFault) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *InvalidCustomDBEngineVersionStateFault) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *InvalidCustomDBEngineVersionStateFault) ErrorCode() string { + return "InvalidCustomDBEngineVersionStateFault" +} +func (e *InvalidCustomDBEngineVersionStateFault) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} + // Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity // values are 2, 4, 8, 16, 32, 64, 128, and 256. type InvalidDBClusterCapacityFault struct { diff --git a/service/rds/types/types.go b/service/rds/types/types.go index b8d7807781e..51cdbbac24c 100644 --- a/service/rds/types/types.go +++ b/service/rds/types/types.go @@ -347,8 +347,7 @@ type DBCluster struct { // The Amazon Web Services KMS key identifier used for encrypting messages in the // database activity stream. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. ActivityStreamKmsKeyId *string // The mode of the database activity stream. Database events such as a change or @@ -444,7 +443,7 @@ type DBCluster struct { // The Amazon Web Services Region-unique, immutable identifier for the DB cluster. // This identifier is found in Amazon Web Services CloudTrail log entries whenever - // the Amazon Web Services KMS CMK for the DB cluster is accessed. + // the KMS key for the DB cluster is accessed. DbClusterResourceId *string // Indicates if the DB cluster has deletion protection enabled. The database can't @@ -512,8 +511,7 @@ type DBCluster struct { // If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier for // the encrypted DB cluster. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. KmsKeyId *string // Specifies the latest time to which a database can be restored with point-in-time @@ -745,7 +743,7 @@ type DBClusterParameterGroup struct { type DBClusterRole struct { // The name of the feature associated with the Amazon Web Services Identity and - // Access Management (IAM) role. For the list of supported feature names, see + // Access Management (IAM) role. For information about supported feature names, see // DBEngineVersion. FeatureName *string @@ -811,8 +809,7 @@ type DBClusterSnapshot struct { // If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the // encrypted DB cluster snapshot. The Amazon Web Services KMS key identifier is the - // key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS - // customer master key (CMK). + // key ARN, key ID, alias ARN, or alias name for the KMS key. KmsKeyId *string // Provides the license model information for this DB cluster snapshot. @@ -900,15 +897,28 @@ type DBClusterSnapshotAttributesResult struct { // DescribeDBEngineVersions. type DBEngineVersion struct { + // The creation time of the DB engine version. + CreateTime *time.Time + // The description of the database engine. DBEngineDescription *string + // The ARN of the custom engine version. + DBEngineVersionArn *string + // The description of the database engine version. DBEngineVersionDescription *string // The name of the DB parameter group family for the database engine. DBParameterGroupFamily *string + // The name of the Amazon S3 bucket that contains your database installation files. + DatabaseInstallationFilesS3BucketName *string + + // The Amazon S3 directory that contains the database installation files. If not + // specified, then no prefix is assumed. + DatabaseInstallationFilesS3Prefix *string + // The default character set for new instances of this engine version, if the // CharacterSetName parameter of the CreateDBInstance API isn't specified. DefaultCharacterSet *CharacterSet @@ -923,6 +933,13 @@ type DBEngineVersion struct { // CloudWatch Logs. ExportableLogTypes []string + // The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter + // is required for RDS Custom, but optional for Amazon RDS. + KMSKeyId *string + + // The major engine version of the CEV. + MajorEngineVersion *string + // The status of the DB engine version, either available or deprecated. Status *string @@ -933,10 +950,14 @@ type DBEngineVersion struct { // A list of the supported DB engine modes. SupportedEngineModes []string - // A list of features supported by the DB engine. Supported feature names include - // the following. - // - // * s3Import + // A list of features supported by the DB engine. The supported features vary by DB + // engine and DB engine version. To determine the supported features for a specific + // DB engine and DB engine version using the CLI, use the following command: aws + // rds describe-db-engine-versions --engine --engine-version For example, to + // determine the supported features for RDS for PostgreSQL version 13.3 using the + // CLI, use the following command: aws rds describe-db-engine-versions --engine + // postgres --engine-version 13.3 The supported features are listed under + // SupportedFeatureNames in the output. SupportedFeatureNames []string // A list of the character sets supported by the Oracle DB engine for the @@ -962,6 +983,11 @@ type DBEngineVersion struct { // Indicates whether the database engine version supports read replicas. SupportsReadReplica bool + // A list of tags. For more information, see Tagging Amazon RDS Resources + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in + // the Amazon RDS User Guide. + TagList []Tag + // A list of engine versions that this database engine version can be upgraded to. ValidUpgradeTarget []UpgradeTarget @@ -982,8 +1008,7 @@ type DBInstance struct { // The Amazon Web Services KMS key identifier used for encrypting messages in the // database activity stream. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. ActivityStreamKmsKeyId *string // The mode of the database activity stream. Database events such as a change or @@ -1007,6 +1032,12 @@ type DBInstance struct { // The time when a stopped DB instance is restarted automatically. AutomaticRestartTime *time.Time + // The automation mode of the RDS Custom DB instance: full or all paused. If full, + // the DB instance automates monitoring and instance recovery. If all paused, the + // instance pauses automation for the duration set by + // --resume-full-automation-mode-minutes. + AutomationMode AutomationMode + // Specifies the name of the Availability Zone the DB instance is located in. AvailabilityZone *string @@ -1030,6 +1061,25 @@ type DBInstance struct { // the DB cluster setting. For more information, see DBCluster. CopyTagsToSnapshot bool + // The instance profile associated with the underlying Amazon EC2 instance of an + // RDS Custom DB instance. The instance profile must meet the following + // requirements: + // + // * The profile must exist in your account. + // + // * The profile must + // have an IAM role that Amazon EC2 has permissions to assume. + // + // * The instance + // profile name and the associated IAM role name must start with the prefix + // AWSRDSCustom. + // + // For the list of permissions required for the IAM role, see + // Configure IAM and your VPC + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) + // in the Amazon Relational Database Service User Guide. + CustomIamInstanceProfile *string + // Specifies whether a customer-owned IP address (CoIP) is enabled for an RDS on // Outposts DB instance. A CoIP provides local or external connectivity to // resources in your Outpost subnets through your on-premises network. For some use @@ -1093,8 +1143,7 @@ type DBInstance struct { // The Amazon Web Services Region-unique, immutable identifier for the DB instance. // This identifier is found in Amazon Web Services CloudTrail log entries whenever - // the Amazon Web Services KMS customer master key (CMK) for the DB instance is - // accessed. + // the Amazon Web Services KMS key for the DB instance is accessed. DbiResourceId *string // Indicates if the DB instance has deletion protection enabled. The database can't @@ -1149,15 +1198,15 @@ type DBInstance struct { // If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the // encrypted DB instance. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. KmsKeyId *string // Specifies the latest time to which a database can be restored with point-in-time // restore. LatestRestorableTime *time.Time - // License model information for this DB instance. + // License model information for this DB instance. This setting doesn't apply to + // RDS Custom. LicenseModel *string // Specifies the listener connection endpoint for SQL Server Always On. @@ -1178,7 +1227,8 @@ type DBInstance struct { // Amazon CloudWatch Logs. MonitoringRoleArn *string - // Specifies if the DB instance is a Multi-AZ deployment. + // Specifies if the DB instance is a Multi-AZ deployment. This setting doesn't + // apply to RDS Custom. MultiAZ bool // The name of the NCHAR character set for the Oracle DB instance. This character @@ -1200,8 +1250,7 @@ type DBInstance struct { // The Amazon Web Services KMS key identifier for encryption of Performance // Insights data. The Amazon Web Services KMS key identifier is the key ARN, key - // ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key - // (CMK). + // ID, alias ARN, or alias name for the KMS key. PerformanceInsightsKMSKeyId *string // The amount of time, in days, to retain Performance Insights data. Valid values @@ -1260,6 +1309,11 @@ type DBInstance struct { // Oracle. ReplicaMode ReplicaMode + // The number of minutes to pause the automation. When the time period ends, RDS + // Custom resumes full automation. The minimum value is 60 (default). The maximum + // value is 1,440. + ResumeFullAutomationModeTime *time.Time + // If present, specifies the name of the secondary Availability Zone for a DB // instance with multi-AZ support. SecondaryAvailabilityZone *string @@ -1350,7 +1404,7 @@ type DBInstanceAutomatedBackup struct { // The Amazon Web Services KMS key ID for an automated backup. The Amazon Web // Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for - // the Amazon Web Services KMS customer master key (CMK). + // the KMS key. KmsKeyId *string // License model information for the automated backup. @@ -1419,7 +1473,7 @@ type DBInstanceAutomatedBackupsReplication struct { type DBInstanceRole struct { // The name of the feature associated with the Amazon Web Services Identity and - // Access Management (IAM) role. For the list of supported feature names, see + // Access Management (IAM) role. For information about supported feature names, see // DBEngineVersion. FeatureName *string @@ -1813,8 +1867,7 @@ type DBSnapshot struct { // If Encrypted is true, the Amazon Web Services KMS key identifier for the // encrypted DB snapshot. The Amazon Web Services KMS key identifier is the key - // ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer - // master key (CMK). + // ARN, key ID, alias ARN, or alias name for the KMS key. KmsKeyId *string // License model information for the restored DB instance. @@ -2179,11 +2232,10 @@ type ExportTask struct { // snapshot. IamRoleArn *string - // The key identifier of the Amazon Web Services KMS customer master key (CMK) that - // is used to encrypt the snapshot when it's exported to Amazon S3. The Amazon Web - // Services KMS CMK identifier is its key ARN, key ID, alias ARN, or alias name. - // The IAM role used for the snapshot export must have encryption and decryption - // permissions to use this Amazon Web Services KMS CMK. + // The key identifier of the Amazon Web Services KMS key that is used to encrypt + // the snapshot when it's exported to Amazon S3. The KMS key identifier is its key + // ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export + // must have encryption and decryption permissions to use this KMS key. KmsKeyId *string // The progress of the snapshot export task as a percentage. @@ -2321,8 +2373,7 @@ type GlobalCluster struct { // The Amazon Web Services Region-unique, immutable identifier for the global // database cluster. This identifier is found in Amazon Web Services CloudTrail log - // entries whenever the Amazon Web Services KMS customer master key (CMK) for the - // DB cluster is accessed. + // entries whenever the Amazon Web Services KMS key for the DB cluster is accessed. GlobalClusterResourceId *string // Specifies the current state of this global database cluster. @@ -2898,6 +2949,12 @@ type PendingModifiedValues struct { // The allocated storage size for the DB instance specified in gibibytes (GiB). AllocatedStorage *int32 + // The automation mode of the RDS Custom DB instance: full or all-paused. If full, + // the DB instance automates monitoring and instance recovery. If all-paused, the + // instance pauses automation for the duration set by + // --resume-full-automation-mode-minutes. + AutomationMode AutomationMode + // The number of days for which automated backups are retained. BackupRetentionPeriod *int32 @@ -2945,6 +3002,11 @@ type PendingModifiedValues struct { // class of the DB instance. ProcessorFeatures []ProcessorFeature + // The number of minutes to pause the automation. When the time period ends, RDS + // Custom resumes full automation. The minimum value is 60 (default). The maximum + // value is 1,440. + ResumeFullAutomationModeTime *time.Time + // The storage type of the DB instance. StorageType *string diff --git a/service/rds/validators.go b/service/rds/validators.go index e2aa8a9958b..caed19089b2 100644 --- a/service/rds/validators.go +++ b/service/rds/validators.go @@ -290,6 +290,26 @@ func (m *validateOpCreateCustomAvailabilityZone) HandleInitialize(ctx context.Co return next.HandleInitialize(ctx, in) } +type validateOpCreateCustomDBEngineVersion struct { +} + +func (*validateOpCreateCustomDBEngineVersion) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateCustomDBEngineVersion) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateCustomDBEngineVersionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateCustomDBEngineVersionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateDBClusterEndpoint struct { } @@ -590,6 +610,26 @@ func (m *validateOpDeleteCustomAvailabilityZone) HandleInitialize(ctx context.Co return next.HandleInitialize(ctx, in) } +type validateOpDeleteCustomDBEngineVersion struct { +} + +func (*validateOpDeleteCustomDBEngineVersion) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteCustomDBEngineVersion) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteCustomDBEngineVersionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteCustomDBEngineVersionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteDBClusterEndpoint struct { } @@ -1810,6 +1850,26 @@ func (m *validateOpModifyCurrentDBClusterCapacity) HandleInitialize(ctx context. return next.HandleInitialize(ctx, in) } +type validateOpModifyCustomDBEngineVersion struct { +} + +func (*validateOpModifyCustomDBEngineVersion) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpModifyCustomDBEngineVersion) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ModifyCustomDBEngineVersionInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpModifyCustomDBEngineVersionInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpModifyDBClusterEndpoint struct { } @@ -2686,6 +2746,10 @@ func addOpCreateCustomAvailabilityZoneValidationMiddleware(stack *middleware.Sta return stack.Initialize.Add(&validateOpCreateCustomAvailabilityZone{}, middleware.After) } +func addOpCreateCustomDBEngineVersionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateCustomDBEngineVersion{}, middleware.After) +} + func addOpCreateDBClusterEndpointValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateDBClusterEndpoint{}, middleware.After) } @@ -2746,6 +2810,10 @@ func addOpDeleteCustomAvailabilityZoneValidationMiddleware(stack *middleware.Sta return stack.Initialize.Add(&validateOpDeleteCustomAvailabilityZone{}, middleware.After) } +func addOpDeleteCustomDBEngineVersionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteCustomDBEngineVersion{}, middleware.After) +} + func addOpDeleteDBClusterEndpointValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteDBClusterEndpoint{}, middleware.After) } @@ -2990,6 +3058,10 @@ func addOpModifyCurrentDBClusterCapacityValidationMiddleware(stack *middleware.S return stack.Initialize.Add(&validateOpModifyCurrentDBClusterCapacity{}, middleware.After) } +func addOpModifyCustomDBEngineVersionValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpModifyCustomDBEngineVersion{}, middleware.After) +} + func addOpModifyDBClusterEndpointValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpModifyDBClusterEndpoint{}, middleware.After) } @@ -3479,6 +3551,33 @@ func validateOpCreateCustomAvailabilityZoneInput(v *CreateCustomAvailabilityZone } } +func validateOpCreateCustomDBEngineVersionInput(v *CreateCustomDBEngineVersionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateCustomDBEngineVersionInput"} + if v.Engine == nil { + invalidParams.Add(smithy.NewErrParamRequired("Engine")) + } + if v.EngineVersion == nil { + invalidParams.Add(smithy.NewErrParamRequired("EngineVersion")) + } + if v.DatabaseInstallationFilesS3BucketName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DatabaseInstallationFilesS3BucketName")) + } + if v.KMSKeyId == nil { + invalidParams.Add(smithy.NewErrParamRequired("KMSKeyId")) + } + if v.Manifest == nil { + invalidParams.Add(smithy.NewErrParamRequired("Manifest")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateDBClusterEndpointInput(v *CreateDBClusterEndpointInput) error { if v == nil { return nil @@ -3779,6 +3878,24 @@ func validateOpDeleteCustomAvailabilityZoneInput(v *DeleteCustomAvailabilityZone } } +func validateOpDeleteCustomDBEngineVersionInput(v *DeleteCustomDBEngineVersionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteCustomDBEngineVersionInput"} + if v.Engine == nil { + invalidParams.Add(smithy.NewErrParamRequired("Engine")) + } + if v.EngineVersion == nil { + invalidParams.Add(smithy.NewErrParamRequired("EngineVersion")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteDBClusterEndpointInput(v *DeleteDBClusterEndpointInput) error { if v == nil { return nil @@ -4819,6 +4936,24 @@ func validateOpModifyCurrentDBClusterCapacityInput(v *ModifyCurrentDBClusterCapa } } +func validateOpModifyCustomDBEngineVersionInput(v *ModifyCustomDBEngineVersionInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ModifyCustomDBEngineVersionInput"} + if v.Engine == nil { + invalidParams.Add(smithy.NewErrParamRequired("Engine")) + } + if v.EngineVersion == nil { + invalidParams.Add(smithy.NewErrParamRequired("EngineVersion")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpModifyDBClusterEndpointInput(v *ModifyDBClusterEndpointInput) error { if v == nil { return nil diff --git a/service/rekognition/api_op_CreateDataset.go b/service/rekognition/api_op_CreateDataset.go new file mode 100644 index 00000000000..0c9ce02621d --- /dev/null +++ b/service/rekognition/api_op_CreateDataset.go @@ -0,0 +1,150 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rekognition/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset +// by using an Amazon Sagemaker format manifest file or by copying an existing +// Amazon Rekognition Custom Labels dataset. To create a training dataset for a +// project, specify train for the value of DatasetType. To create the test dataset +// for a project, specify test for the value of DatasetType. The response from +// CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a +// dataset takes a while to complete. Use DescribeDataset to check the current +// status. The dataset created successfully if the value of Status is +// CREATE_COMPLETE. To check if any non-terminal errors occurred, call +// ListDatasetEntries and check for the presence of errors lists in the JSON Lines. +// Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). +// Currently, you can't access the terminal error information. For more +// information, see Creating dataset in the Amazon Rekognition Custom Labels +// Developer Guide. This operation requires permissions to perform the +// rekognition:CreateDataset action. If you want to copy an existing dataset, you +// also require permission to perform the rekognition:ListDatasetEntries action. +func (c *Client) CreateDataset(ctx context.Context, params *CreateDatasetInput, optFns ...func(*Options)) (*CreateDatasetOutput, error) { + if params == nil { + params = &CreateDatasetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateDataset", params, optFns, c.addOperationCreateDatasetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateDatasetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateDatasetInput struct { + + // The type of the dataset. Specify train to create a training dataset. Specify + // test to create a test dataset. + // + // This member is required. + DatasetType types.DatasetType + + // The ARN of the Amazon Rekognition Custom Labels project to which you want to + // asssign the dataset. + // + // This member is required. + ProjectArn *string + + // The source files for the dataset. You can specify the ARN of an existing dataset + // or specify the Amazon S3 bucket location of an Amazon Sagemaker format manifest + // file. If you don't specify datasetSource, an empty dataset is created. To add + // labeled images to the dataset, You can use the console or call + // UpdateDatasetEntries. + DatasetSource *types.DatasetSource + + noSmithyDocumentSerde +} + +type CreateDatasetOutput struct { + + // The ARN of the created Amazon Rekognition Custom Labels dataset. + DatasetArn *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateDatasetMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateDataset{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateDataset{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpCreateDatasetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateDataset(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateDataset(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "CreateDataset", + } +} diff --git a/service/rekognition/api_op_CreateProject.go b/service/rekognition/api_op_CreateProject.go index 6f67c6f31a6..49edff12d59 100644 --- a/service/rekognition/api_op_CreateProject.go +++ b/service/rekognition/api_op_CreateProject.go @@ -10,10 +10,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new Amazon Rekognition Custom Labels project. A project is a logical -// grouping of resources (images, Labels, models) and operations (training, -// evaluation and detection). This operation requires permissions to perform the -// rekognition:CreateProject action. +// Creates a new Amazon Rekognition Custom Labels project. A project is a group of +// resources (datasets, model versions) that you use to create and manage Amazon +// Rekognition Custom Labels models. This operation requires permissions to perform +// the rekognition:CreateProject action. func (c *Client) CreateProject(ctx context.Context, params *CreateProjectInput, optFns ...func(*Options)) (*CreateProjectOutput, error) { if params == nil { params = &CreateProjectInput{} diff --git a/service/rekognition/api_op_CreateProjectVersion.go b/service/rekognition/api_op_CreateProjectVersion.go index c2e75d85cff..368ec781c86 100644 --- a/service/rekognition/api_op_CreateProjectVersion.go +++ b/service/rekognition/api_op_CreateProjectVersion.go @@ -12,14 +12,28 @@ import ( ) // Creates a new version of a model and begins training. Models are managed as part -// of an Amazon Rekognition Custom Labels project. You can specify one training -// dataset and one testing dataset. The response from CreateProjectVersion is an -// Amazon Resource Name (ARN) for the version of the model. Training takes a while -// to complete. You can get the current status by calling DescribeProjectVersions. -// Once training has successfully completed, call DescribeProjectVersions to get -// the training results and evaluate the model. After evaluating the model, you -// start the model by calling StartProjectVersion. This operation requires -// permissions to perform the rekognition:CreateProjectVersion action. +// of an Amazon Rekognition Custom Labels project. The response from +// CreateProjectVersion is an Amazon Resource Name (ARN) for the version of the +// model. Training uses the training and test datasets associated with the project. +// For more information, see Creating training and test dataset in the Amazon +// Rekognition Custom Labels Developer Guide. You can train a modelin a project +// that doesn't have associated datasets by specifying manifest files in the +// TrainingData and TestingData fields. If you open the console after training a +// model with manifest files, Amazon Rekognition Custom Labels creates the datasets +// for you using the most recent manifest files. You can no longer train a model +// version for the project by specifying manifest files. Instead of training with a +// project without associated datasets, we recommend that you use the manifest +// files to create training and test datasets for the project. Training takes a +// while to complete. You can get the current status by calling +// DescribeProjectVersions. Training completed successfully if the value of the +// Status field is TRAINING_COMPLETED. If training fails, see Debugging a failed +// model training in the Amazon Rekognition Custom Labels developer guide. Once +// training has successfully completed, call DescribeProjectVersions to get the +// training results and evaluate the model. For more information, see Improving a +// trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom +// Labels developers guide. After evaluating the model, you start the model by +// calling StartProjectVersion. This operation requires permissions to perform the +// rekognition:CreateProjectVersion action. func (c *Client) CreateProjectVersion(ctx context.Context, params *CreateProjectVersionInput, optFns ...func(*Options)) (*CreateProjectVersionOutput, error) { if params == nil { params = &CreateProjectVersionInput{} @@ -50,28 +64,18 @@ type CreateProjectVersionInput struct { // This member is required. ProjectArn *string - // The dataset to use for testing. - // - // This member is required. - TestingData *types.TestingData - - // The dataset to use for training. - // - // This member is required. - TrainingData *types.TrainingData - // A name for the version of the model. This value must be unique. // // This member is required. VersionName *string - // The identifier for your AWS Key Management Service (AWS KMS) customer master key - // (CMK). You can supply the Amazon Resource Name (ARN) of your CMK, the ID of your - // CMK, an alias for your CMK, or an alias ARN. The key is used to encrypt training + // The identifier for your AWS Key Management Service key (AWS KMS key). You can + // supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, + // an alias for your KMS key, or an alias ARN. The key is used to encrypt training // and test images copied into the service for model training. Your source images // are unaffected. The key is also used to encrypt training results and manifest // files written to the output Amazon S3 bucket (OutputConfig). If you choose to - // use your own CMK, you need the following permissions on the CMK. + // use your own KMS key, you need the following permissions on the KMS key. // // * // kms:CreateGrant @@ -90,6 +94,16 @@ type CreateProjectVersionInput struct { // A set of tags (key-value pairs) that you want to attach to the model. Tags map[string]string + // Specifies an external manifest that the service uses to test the model. If you + // specify TestingData you must also specify TrainingData. The project must not + // have any associated datasets. + TestingData *types.TestingData + + // Specifies an external manifest that the services uses to train the model. If you + // specify TrainingData you must also specify TestingData. The project must not + // have any associated datasets. + TrainingData *types.TrainingData + noSmithyDocumentSerde } diff --git a/service/rekognition/api_op_DeleteDataset.go b/service/rekognition/api_op_DeleteDataset.go new file mode 100644 index 00000000000..ac858b63cc5 --- /dev/null +++ b/service/rekognition/api_op_DeleteDataset.go @@ -0,0 +1,123 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset +// might take while. Use DescribeDataset to check the current status. The dataset +// is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to +// access the dataset after it is deleted, you get a ResourceNotFoundException +// exception. You can't delete a dataset while it is creating (Status = +// CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS). +// This operation requires permissions to perform the rekognition:DeleteDataset +// action. +func (c *Client) DeleteDataset(ctx context.Context, params *DeleteDatasetInput, optFns ...func(*Options)) (*DeleteDatasetOutput, error) { + if params == nil { + params = &DeleteDatasetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteDataset", params, optFns, c.addOperationDeleteDatasetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteDatasetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteDatasetInput struct { + + // The ARN of the Amazon Rekognition Custom Labels dataset that you want to delete. + // + // This member is required. + DatasetArn *string + + noSmithyDocumentSerde +} + +type DeleteDatasetOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteDatasetMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteDataset{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteDataset{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteDatasetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteDataset(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteDataset(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "DeleteDataset", + } +} diff --git a/service/rekognition/api_op_DeleteProject.go b/service/rekognition/api_op_DeleteProject.go index a51b3f4127b..1d2edf4d4ba 100644 --- a/service/rekognition/api_op_DeleteProject.go +++ b/service/rekognition/api_op_DeleteProject.go @@ -13,8 +13,10 @@ import ( // Deletes an Amazon Rekognition Custom Labels project. To delete a project you // must first delete all models associated with the project. To delete a model, see -// DeleteProjectVersion. This operation requires permissions to perform the -// rekognition:DeleteProject action. +// DeleteProjectVersion. DeleteProject is an asynchronous operation. To check if +// the project is deleted, call DescribeProjects. The project is deleted when the +// project no longer appears in the response. This operation requires permissions +// to perform the rekognition:DeleteProject action. func (c *Client) DeleteProject(ctx context.Context, params *DeleteProjectInput, optFns ...func(*Options)) (*DeleteProjectOutput, error) { if params == nil { params = &DeleteProjectInput{} diff --git a/service/rekognition/api_op_DescribeDataset.go b/service/rekognition/api_op_DescribeDataset.go new file mode 100644 index 00000000000..2539c4253a3 --- /dev/null +++ b/service/rekognition/api_op_DescribeDataset.go @@ -0,0 +1,124 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rekognition/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Describes an Amazon Rekognition Custom Labels dataset. You can get information +// such as the current status of a dataset and statistics about the images and +// labels in a dataset. This operation requires permissions to perform the +// rekognition:DescribeDataset action. +func (c *Client) DescribeDataset(ctx context.Context, params *DescribeDatasetInput, optFns ...func(*Options)) (*DescribeDatasetOutput, error) { + if params == nil { + params = &DescribeDatasetInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeDataset", params, optFns, c.addOperationDescribeDatasetMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeDatasetOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeDatasetInput struct { + + // The Amazon Resource Name (ARN) of the dataset that you want to describe. + // + // This member is required. + DatasetArn *string + + noSmithyDocumentSerde +} + +type DescribeDatasetOutput struct { + + // The description for the dataset. + DatasetDescription *types.DatasetDescription + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeDatasetMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeDataset{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeDataset{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeDatasetValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeDataset(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeDataset(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "DescribeDataset", + } +} diff --git a/service/rekognition/api_op_DescribeProjectVersions.go b/service/rekognition/api_op_DescribeProjectVersions.go index 6d6c9da3345..038af7c5b7f 100644 --- a/service/rekognition/api_op_DescribeProjectVersions.go +++ b/service/rekognition/api_op_DescribeProjectVersions.go @@ -16,10 +16,11 @@ import ( "time" ) -// Lists and describes the models in an Amazon Rekognition Custom Labels project. -// You can specify up to 10 model versions in ProjectVersionArns. If you don't -// specify a value, descriptions for all models are returned. This operation -// requires permissions to perform the rekognition:DescribeProjectVersions action. +// Lists and describes the versions of a model in an Amazon Rekognition Custom +// Labels project. You can specify up to 10 model versions in ProjectVersionArns. +// If you don't specify a value, descriptions for all model versions in the project +// are returned. This operation requires permissions to perform the +// rekognition:DescribeProjectVersions action. func (c *Client) DescribeProjectVersions(ctx context.Context, params *DescribeProjectVersionsInput, optFns ...func(*Options)) (*DescribeProjectVersionsOutput, error) { if params == nil { params = &DescribeProjectVersionsInput{} diff --git a/service/rekognition/api_op_DescribeProjects.go b/service/rekognition/api_op_DescribeProjects.go index 74f4d5439f3..eee2b6c7d02 100644 --- a/service/rekognition/api_op_DescribeProjects.go +++ b/service/rekognition/api_op_DescribeProjects.go @@ -12,8 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists and gets information about your Amazon Rekognition Custom Labels projects. -// This operation requires permissions to perform the rekognition:DescribeProjects +// Gets information about your Amazon Rekognition Custom Labels projects. This +// operation requires permissions to perform the rekognition:DescribeProjects // action. func (c *Client) DescribeProjects(ctx context.Context, params *DescribeProjectsInput, optFns ...func(*Options)) (*DescribeProjectsOutput, error) { if params == nil { @@ -42,6 +42,11 @@ type DescribeProjectsInput struct { // response. You can use this pagination token to retrieve the next set of results. NextToken *string + // A list of the projects that you want Amazon Rekognition Custom Labels to + // describe. If you don't specify a value, the response includes descriptions for + // all the projects in your AWS account. + ProjectNames []string + noSmithyDocumentSerde } diff --git a/service/rekognition/api_op_DistributeDatasetEntries.go b/service/rekognition/api_op_DistributeDatasetEntries.go new file mode 100644 index 00000000000..05542b26368 --- /dev/null +++ b/service/rekognition/api_op_DistributeDatasetEntries.go @@ -0,0 +1,129 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rekognition/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Distributes the entries (images) in a training dataset across the training +// dataset and the test dataset for a project. DistributeDatasetEntries moves 20% +// of the training dataset images to the test dataset. An entry is a JSON Line that +// describes an image. You supply the Amazon Resource Names (ARN) of a project's +// training dataset and test dataset. The training dataset must contain the images +// that you want to split. The test dataset must be empty. The datasets must belong +// to the same project. To create training and test datasets for a project, call +// CreateDataset. Distributing a dataset takes a while to complete. To check the +// status call DescribeDataset. The operation is complete when the Status field for +// the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset +// split fails, the value of Status is UPDATE_FAILED. This operation requires +// permissions to perform the rekognition:DistributeDatasetEntries action. +func (c *Client) DistributeDatasetEntries(ctx context.Context, params *DistributeDatasetEntriesInput, optFns ...func(*Options)) (*DistributeDatasetEntriesOutput, error) { + if params == nil { + params = &DistributeDatasetEntriesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DistributeDatasetEntries", params, optFns, c.addOperationDistributeDatasetEntriesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DistributeDatasetEntriesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DistributeDatasetEntriesInput struct { + + // The ARNS for the training dataset and test dataset that you want to use. The + // datasets must belong to the same project. The test dataset must be empty. + // + // This member is required. + Datasets []types.DistributeDataset + + noSmithyDocumentSerde +} + +type DistributeDatasetEntriesOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDistributeDatasetEntriesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDistributeDatasetEntries{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDistributeDatasetEntries{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDistributeDatasetEntriesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDistributeDatasetEntries(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDistributeDatasetEntries(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "DistributeDatasetEntries", + } +} diff --git a/service/rekognition/api_op_GetCelebrityRecognition.go b/service/rekognition/api_op_GetCelebrityRecognition.go index aa480502b21..74aeca8855f 100644 --- a/service/rekognition/api_op_GetCelebrityRecognition.go +++ b/service/rekognition/api_op_GetCelebrityRecognition.go @@ -26,11 +26,12 @@ import ( // Developer Guide. GetCelebrityRecognition returns detected celebrities and the // time(s) they are detected in an array (Celebrities) of CelebrityRecognition // objects. Each CelebrityRecognition contains information about the celebrity in a -// CelebrityDetail object and the time, Timestamp, the celebrity was detected. -// GetCelebrityRecognition only returns the default -// -// facial attributes -// (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial +// CelebrityDetail object and the time, Timestamp, the celebrity was detected. This +// CelebrityDetail object stores information about the detected celebrity's face +// attributes, a face bounding box, known gender, the celebrity's name, and a +// confidence estimate. GetCelebrityRecognition only returns the default facial +// attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The +// BoundingBox field only applies to the detected face instance. The other facial // attributes listed in the Face object of the following response syntax are not // returned. For more information, see FaceDetail in the Amazon Rekognition // Developer Guide. By default, the Celebrities array is sorted by time diff --git a/service/rekognition/api_op_ListDatasetEntries.go b/service/rekognition/api_op_ListDatasetEntries.go new file mode 100644 index 00000000000..072cfa6d0b3 --- /dev/null +++ b/service/rekognition/api_op_ListDatasetEntries.go @@ -0,0 +1,258 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists the entries (images) within a dataset. An entry is a JSON Line that +// contains the information for a single image, including the image location, +// assigned labels, and object location bounding boxes. For more information, see +// Creating a manifest file +// (https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/md-manifest-files.html). +// JSON Lines in the response include information about non-terminal errors found +// in the dataset. Non terminal errors are reported in errors lists within each +// JSON Line. The same information is reported in the training and testing +// validation result manifests that Amazon Rekognition Custom Labels creates during +// model training. You can filter the response in variety of ways, such as choosing +// which labels to return and returning JSON Lines created after a specific date. +// This operation requires permissions to perform the +// rekognition:ListDatasetEntries action. +func (c *Client) ListDatasetEntries(ctx context.Context, params *ListDatasetEntriesInput, optFns ...func(*Options)) (*ListDatasetEntriesOutput, error) { + if params == nil { + params = &ListDatasetEntriesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListDatasetEntries", params, optFns, c.addOperationListDatasetEntriesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListDatasetEntriesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListDatasetEntriesInput struct { + + // The Amazon Resource Name (ARN) for the dataset that you want to use. + // + // This member is required. + DatasetArn *string + + // Specifies a label filter for the response. The response includes an entry only + // if one or more of the labels in ContainsLabels exist in the entry. + ContainsLabels []string + + // Specifies an error filter for the response. Specify True to only include entries + // that have errors. + HasErrors *bool + + // Specify true to get only the JSON Lines where the image is labeled. Specify + // false to get only the JSON Lines where the image isn't labeled. If you don't + // specify Labeled, ListDatasetEntries returns JSON Lines for labeled and unlabeled + // images. + Labeled *bool + + // The maximum number of results to return per paginated call. The largest value + // you can specify is 100. If you specify a value greater than 100, a + // ValidationException error occurs. The default value is 100. + MaxResults *int32 + + // If the previous response was incomplete (because there is more results to + // retrieve), Amazon Rekognition Custom Labels returns a pagination token in the + // response. You can use this pagination token to retrieve the next set of results. + NextToken *string + + // If specified, ListDatasetEntries only returns JSON Lines where the value of + // SourceRefContains is part of the source-ref field. The source-ref field contains + // the Amazon S3 location of the image. You can use SouceRefContains for tasks such + // as getting the JSON Line for a single image, or gettting JSON Lines for all + // images within a specific folder. + SourceRefContains *string + + noSmithyDocumentSerde +} + +type ListDatasetEntriesOutput struct { + + // A list of entries (images) in the dataset. + DatasetEntries []string + + // If the previous response was incomplete (because there is more results to + // retrieve), Amazon Rekognition Custom Labels returns a pagination token in the + // response. You can use this pagination token to retrieve the next set of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListDatasetEntriesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListDatasetEntries{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListDatasetEntries{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListDatasetEntriesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListDatasetEntries(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListDatasetEntriesAPIClient is a client that implements the ListDatasetEntries +// operation. +type ListDatasetEntriesAPIClient interface { + ListDatasetEntries(context.Context, *ListDatasetEntriesInput, ...func(*Options)) (*ListDatasetEntriesOutput, error) +} + +var _ ListDatasetEntriesAPIClient = (*Client)(nil) + +// ListDatasetEntriesPaginatorOptions is the paginator options for +// ListDatasetEntries +type ListDatasetEntriesPaginatorOptions struct { + // The maximum number of results to return per paginated call. The largest value + // you can specify is 100. If you specify a value greater than 100, a + // ValidationException error occurs. The default value is 100. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListDatasetEntriesPaginator is a paginator for ListDatasetEntries +type ListDatasetEntriesPaginator struct { + options ListDatasetEntriesPaginatorOptions + client ListDatasetEntriesAPIClient + params *ListDatasetEntriesInput + nextToken *string + firstPage bool +} + +// NewListDatasetEntriesPaginator returns a new ListDatasetEntriesPaginator +func NewListDatasetEntriesPaginator(client ListDatasetEntriesAPIClient, params *ListDatasetEntriesInput, optFns ...func(*ListDatasetEntriesPaginatorOptions)) *ListDatasetEntriesPaginator { + if params == nil { + params = &ListDatasetEntriesInput{} + } + + options := ListDatasetEntriesPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListDatasetEntriesPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListDatasetEntriesPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListDatasetEntries page. +func (p *ListDatasetEntriesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListDatasetEntriesOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListDatasetEntries(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListDatasetEntries(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "ListDatasetEntries", + } +} diff --git a/service/rekognition/api_op_ListDatasetLabels.go b/service/rekognition/api_op_ListDatasetLabels.go new file mode 100644 index 00000000000..20e448e923a --- /dev/null +++ b/service/rekognition/api_op_ListDatasetLabels.go @@ -0,0 +1,230 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rekognition/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to +// describe images. For more information, see Labeling images +// (https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/md-labeling-images.html). +// Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to +// describe images. For more information, see Labeling images in the Amazon +// Rekognition Custom Labels Developer Guide. +func (c *Client) ListDatasetLabels(ctx context.Context, params *ListDatasetLabelsInput, optFns ...func(*Options)) (*ListDatasetLabelsOutput, error) { + if params == nil { + params = &ListDatasetLabelsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListDatasetLabels", params, optFns, c.addOperationListDatasetLabelsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListDatasetLabelsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListDatasetLabelsInput struct { + + // The Amazon Resource Name (ARN) of the dataset that you want to use. + // + // This member is required. + DatasetArn *string + + // The maximum number of results to return per paginated call. The largest value + // you can specify is 100. If you specify a value greater than 100, a + // ValidationException error occurs. The default value is 100. + MaxResults *int32 + + // If the previous response was incomplete (because there is more results to + // retrieve), Amazon Rekognition Custom Labels returns a pagination token in the + // response. You can use this pagination token to retrieve the next set of results. + NextToken *string + + noSmithyDocumentSerde +} + +type ListDatasetLabelsOutput struct { + + // A list of the labels in the dataset. + DatasetLabelDescriptions []types.DatasetLabelDescription + + // If the previous response was incomplete (because there is more results to + // retrieve), Amazon Rekognition Custom Labels returns a pagination token in the + // response. You can use this pagination token to retrieve the next set of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListDatasetLabelsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListDatasetLabels{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListDatasetLabels{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListDatasetLabelsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListDatasetLabels(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListDatasetLabelsAPIClient is a client that implements the ListDatasetLabels +// operation. +type ListDatasetLabelsAPIClient interface { + ListDatasetLabels(context.Context, *ListDatasetLabelsInput, ...func(*Options)) (*ListDatasetLabelsOutput, error) +} + +var _ ListDatasetLabelsAPIClient = (*Client)(nil) + +// ListDatasetLabelsPaginatorOptions is the paginator options for ListDatasetLabels +type ListDatasetLabelsPaginatorOptions struct { + // The maximum number of results to return per paginated call. The largest value + // you can specify is 100. If you specify a value greater than 100, a + // ValidationException error occurs. The default value is 100. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListDatasetLabelsPaginator is a paginator for ListDatasetLabels +type ListDatasetLabelsPaginator struct { + options ListDatasetLabelsPaginatorOptions + client ListDatasetLabelsAPIClient + params *ListDatasetLabelsInput + nextToken *string + firstPage bool +} + +// NewListDatasetLabelsPaginator returns a new ListDatasetLabelsPaginator +func NewListDatasetLabelsPaginator(client ListDatasetLabelsAPIClient, params *ListDatasetLabelsInput, optFns ...func(*ListDatasetLabelsPaginatorOptions)) *ListDatasetLabelsPaginator { + if params == nil { + params = &ListDatasetLabelsInput{} + } + + options := ListDatasetLabelsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListDatasetLabelsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListDatasetLabelsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListDatasetLabels page. +func (p *ListDatasetLabelsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListDatasetLabelsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListDatasetLabels(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListDatasetLabels(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "ListDatasetLabels", + } +} diff --git a/service/rekognition/api_op_RecognizeCelebrities.go b/service/rekognition/api_op_RecognizeCelebrities.go index 70885913733..c0879f0fa0e 100644 --- a/service/rekognition/api_op_RecognizeCelebrities.go +++ b/service/rekognition/api_op_RecognizeCelebrities.go @@ -14,24 +14,24 @@ import ( // Returns an array of celebrities recognized in the input image. For more // information, see Recognizing Celebrities in the Amazon Rekognition Developer // Guide. RecognizeCelebrities returns the 64 largest faces in the image. It lists -// recognized celebrities in the CelebrityFaces array and unrecognized faces in the -// UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities whose -// faces aren't among the largest 64 faces in the image. For each celebrity -// recognized, RecognizeCelebrities returns a Celebrity object. The Celebrity -// object contains the celebrity name, ID, URL links to additional information, -// match confidence, and a ComparedFace object that you can use to locate the -// celebrity's face on the image. Amazon Rekognition doesn't retain information -// about which images a celebrity has been recognized in. Your application must -// store this information and use the Celebrity ID property as a unique identifier -// for the celebrity. If you don't store the celebrity name or additional -// information URLs returned by RecognizeCelebrities, you will need the ID to -// identify the celebrity in a call to the GetCelebrityInfo operation. You pass the -// input image either as base64-encoded image bytes or as a reference to an image -// in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition -// operations, passing image bytes is not supported. The image must be either a PNG -// or JPEG formatted file. For an example, see Recognizing Celebrities in an Image -// in the Amazon Rekognition Developer Guide. This operation requires permissions -// to perform the rekognition:RecognizeCelebrities operation. +// the recognized celebrities in the CelebrityFaces array and any unrecognized +// faces in the UnrecognizedFaces array. RecognizeCelebrities doesn't return +// celebrities whose faces aren't among the largest 64 faces in the image. For each +// celebrity recognized, RecognizeCelebrities returns a Celebrity object. The +// Celebrity object contains the celebrity name, ID, URL links to additional +// information, match confidence, and a ComparedFace object that you can use to +// locate the celebrity's face on the image. Amazon Rekognition doesn't retain +// information about which images a celebrity has been recognized in. Your +// application must store this information and use the Celebrity ID property as a +// unique identifier for the celebrity. If you don't store the celebrity name or +// additional information URLs returned by RecognizeCelebrities, you will need the +// ID to identify the celebrity in a call to the GetCelebrityInfo operation. You +// pass the input image either as base64-encoded image bytes or as a reference to +// an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon +// Rekognition operations, passing image bytes is not supported. The image must be +// either a PNG or JPEG formatted file. For an example, see Recognizing Celebrities +// in an Image in the Amazon Rekognition Developer Guide. This operation requires +// permissions to perform the rekognition:RecognizeCelebrities operation. func (c *Client) RecognizeCelebrities(ctx context.Context, params *RecognizeCelebritiesInput, optFns ...func(*Options)) (*RecognizeCelebritiesOutput, error) { if params == nil { params = &RecognizeCelebritiesInput{} diff --git a/service/rekognition/api_op_UpdateDatasetEntries.go b/service/rekognition/api_op_UpdateDatasetEntries.go new file mode 100644 index 00000000000..77e0e5f6e1c --- /dev/null +++ b/service/rekognition/api_op_UpdateDatasetEntries.go @@ -0,0 +1,140 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package rekognition + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/rekognition/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Adds or updates one or more entries (images) in a dataset. An entry is a JSON +// Line which contains the information for a single image, including the image +// location, assigned labels, and object location bounding boxes. For more +// information, see Image-Level labels in manifest files and Object localization in +// manifest files in the Amazon Rekognition Custom Labels Developer Guide. If the +// source-ref field in the JSON line references an existing image, the existing +// image in the dataset is updated. If source-ref field doesn't reference an +// existing image, the image is added as a new image to the dataset. You specify +// the changes that you want to make in the Changes input parameter. There isn't a +// limit to the number JSON Lines that you can change, but the size of Changes must +// be less than 5MB. UpdateDatasetEntries returns immediatly, but the dataset +// update might take a while to complete. Use DescribeDataset to check the current +// status. The dataset updated successfully if the value of Status is +// UPDATE_COMPLETE. To check if any non-terminal errors occured, call +// ListDatasetEntries and check for the presence of errors lists in the JSON Lines. +// Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). +// Currently, you can't access the terminal error information from the Amazon +// Rekognition Custom Labels SDK. This operation requires permissions to perform +// the rekognition:UpdateDatasetEntries action. +func (c *Client) UpdateDatasetEntries(ctx context.Context, params *UpdateDatasetEntriesInput, optFns ...func(*Options)) (*UpdateDatasetEntriesOutput, error) { + if params == nil { + params = &UpdateDatasetEntriesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateDatasetEntries", params, optFns, c.addOperationUpdateDatasetEntriesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateDatasetEntriesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateDatasetEntriesInput struct { + + // The changes that you want to make to the dataset. + // + // This member is required. + Changes *types.DatasetChanges + + // The Amazon Resource Name (ARN) of the dataset that you want to update. + // + // This member is required. + DatasetArn *string + + noSmithyDocumentSerde +} + +type UpdateDatasetEntriesOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateDatasetEntriesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateDatasetEntries{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateDatasetEntries{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateDatasetEntriesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateDatasetEntries(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateDatasetEntries(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "rekognition", + OperationName: "UpdateDatasetEntries", + } +} diff --git a/service/rekognition/deserializers.go b/service/rekognition/deserializers.go index 7d088465aa2..d44a6ebe5dd 100644 --- a/service/rekognition/deserializers.go +++ b/service/rekognition/deserializers.go @@ -281,14 +281,14 @@ func awsAwsjson11_deserializeOpErrorCreateCollection(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpCreateProject struct { +type awsAwsjson11_deserializeOpCreateDataset struct { } -func (*awsAwsjson11_deserializeOpCreateProject) ID() string { +func (*awsAwsjson11_deserializeOpCreateDataset) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpCreateProject) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpCreateDataset) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -302,9 +302,9 @@ func (m *awsAwsjson11_deserializeOpCreateProject) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreateProject(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorCreateDataset(response, &metadata) } - output := &CreateProjectOutput{} + output := &CreateDatasetOutput{} out.Result = output var buff [1024]byte @@ -324,7 +324,7 @@ func (m *awsAwsjson11_deserializeOpCreateProject) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentCreateProjectOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentCreateDatasetOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -338,7 +338,7 @@ func (m *awsAwsjson11_deserializeOpCreateProject) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson11_deserializeOpErrorCreateProject(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorCreateDataset(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -388,14 +388,20 @@ func awsAwsjson11_deserializeOpErrorCreateProject(response *smithyhttp.Response, case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceInUseException", errorCode): - return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("ResourceAlreadyExistsException", errorCode): + return awsAwsjson11_deserializeErrorResourceAlreadyExistsException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -410,14 +416,14 @@ func awsAwsjson11_deserializeOpErrorCreateProject(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpCreateProjectVersion struct { +type awsAwsjson11_deserializeOpCreateProject struct { } -func (*awsAwsjson11_deserializeOpCreateProjectVersion) ID() string { +func (*awsAwsjson11_deserializeOpCreateProject) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpCreateProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpCreateProject) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -431,9 +437,9 @@ func (m *awsAwsjson11_deserializeOpCreateProjectVersion) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreateProjectVersion(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorCreateProject(response, &metadata) } - output := &CreateProjectVersionOutput{} + output := &CreateProjectOutput{} out.Result = output var buff [1024]byte @@ -453,7 +459,7 @@ func (m *awsAwsjson11_deserializeOpCreateProjectVersion) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentCreateProjectVersionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentCreateProjectOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -467,7 +473,7 @@ func (m *awsAwsjson11_deserializeOpCreateProjectVersion) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorCreateProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorCreateProject(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -526,12 +532,6 @@ func awsAwsjson11_deserializeOpErrorCreateProjectVersion(response *smithyhttp.Re case strings.EqualFold("ResourceInUseException", errorCode): return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -545,14 +545,14 @@ func awsAwsjson11_deserializeOpErrorCreateProjectVersion(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpCreateStreamProcessor struct { +type awsAwsjson11_deserializeOpCreateProjectVersion struct { } -func (*awsAwsjson11_deserializeOpCreateStreamProcessor) ID() string { +func (*awsAwsjson11_deserializeOpCreateProjectVersion) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpCreateStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpCreateProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -566,9 +566,9 @@ func (m *awsAwsjson11_deserializeOpCreateStreamProcessor) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreateStreamProcessor(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorCreateProjectVersion(response, &metadata) } - output := &CreateStreamProcessorOutput{} + output := &CreateProjectVersionOutput{} out.Result = output var buff [1024]byte @@ -588,7 +588,7 @@ func (m *awsAwsjson11_deserializeOpCreateStreamProcessor) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentCreateStreamProcessorOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentCreateProjectVersionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -602,7 +602,7 @@ func (m *awsAwsjson11_deserializeOpCreateStreamProcessor) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorCreateStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorCreateProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -661,6 +661,9 @@ func awsAwsjson11_deserializeOpErrorCreateStreamProcessor(response *smithyhttp.R case strings.EqualFold("ResourceInUseException", errorCode): return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ServiceQuotaExceededException", errorCode): return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) @@ -677,14 +680,14 @@ func awsAwsjson11_deserializeOpErrorCreateStreamProcessor(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpDeleteCollection struct { +type awsAwsjson11_deserializeOpCreateStreamProcessor struct { } -func (*awsAwsjson11_deserializeOpDeleteCollection) ID() string { +func (*awsAwsjson11_deserializeOpCreateStreamProcessor) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteCollection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpCreateStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -698,9 +701,9 @@ func (m *awsAwsjson11_deserializeOpDeleteCollection) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteCollection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorCreateStreamProcessor(response, &metadata) } - output := &DeleteCollectionOutput{} + output := &CreateStreamProcessorOutput{} out.Result = output var buff [1024]byte @@ -720,7 +723,7 @@ func (m *awsAwsjson11_deserializeOpDeleteCollection) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDeleteCollectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentCreateStreamProcessorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -734,7 +737,7 @@ func (m *awsAwsjson11_deserializeOpDeleteCollection) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteCollection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorCreateStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -784,11 +787,17 @@ func awsAwsjson11_deserializeOpErrorDeleteCollection(response *smithyhttp.Respon case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -803,14 +812,14 @@ func awsAwsjson11_deserializeOpErrorDeleteCollection(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpDeleteFaces struct { +type awsAwsjson11_deserializeOpDeleteCollection struct { } -func (*awsAwsjson11_deserializeOpDeleteFaces) ID() string { +func (*awsAwsjson11_deserializeOpDeleteCollection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteCollection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -824,9 +833,9 @@ func (m *awsAwsjson11_deserializeOpDeleteFaces) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteFaces(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteCollection(response, &metadata) } - output := &DeleteFacesOutput{} + output := &DeleteCollectionOutput{} out.Result = output var buff [1024]byte @@ -846,7 +855,7 @@ func (m *awsAwsjson11_deserializeOpDeleteFaces) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDeleteFacesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDeleteCollectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -860,7 +869,7 @@ func (m *awsAwsjson11_deserializeOpDeleteFaces) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteCollection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -929,14 +938,14 @@ func awsAwsjson11_deserializeOpErrorDeleteFaces(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpDeleteProject struct { +type awsAwsjson11_deserializeOpDeleteDataset struct { } -func (*awsAwsjson11_deserializeOpDeleteProject) ID() string { +func (*awsAwsjson11_deserializeOpDeleteDataset) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteProject) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteDataset) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -950,9 +959,9 @@ func (m *awsAwsjson11_deserializeOpDeleteProject) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteProject(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteDataset(response, &metadata) } - output := &DeleteProjectOutput{} + output := &DeleteDatasetOutput{} out.Result = output var buff [1024]byte @@ -972,7 +981,7 @@ func (m *awsAwsjson11_deserializeOpDeleteProject) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDeleteProjectOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDeleteDatasetOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -986,7 +995,7 @@ func (m *awsAwsjson11_deserializeOpDeleteProject) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteProject(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteDataset(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1036,6 +1045,9 @@ func awsAwsjson11_deserializeOpErrorDeleteProject(response *smithyhttp.Response, case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) @@ -1058,14 +1070,14 @@ func awsAwsjson11_deserializeOpErrorDeleteProject(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpDeleteProjectVersion struct { +type awsAwsjson11_deserializeOpDeleteFaces struct { } -func (*awsAwsjson11_deserializeOpDeleteProjectVersion) ID() string { +func (*awsAwsjson11_deserializeOpDeleteFaces) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1079,9 +1091,9 @@ func (m *awsAwsjson11_deserializeOpDeleteProjectVersion) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteProjectVersion(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteFaces(response, &metadata) } - output := &DeleteProjectVersionOutput{} + output := &DeleteFacesOutput{} out.Result = output var buff [1024]byte @@ -1101,7 +1113,7 @@ func (m *awsAwsjson11_deserializeOpDeleteProjectVersion) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDeleteProjectVersionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDeleteFacesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1115,7 +1127,7 @@ func (m *awsAwsjson11_deserializeOpDeleteProjectVersion) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1168,9 +1180,6 @@ func awsAwsjson11_deserializeOpErrorDeleteProjectVersion(response *smithyhttp.Re case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceInUseException", errorCode): - return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) @@ -1187,14 +1196,14 @@ func awsAwsjson11_deserializeOpErrorDeleteProjectVersion(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpDeleteStreamProcessor struct { +type awsAwsjson11_deserializeOpDeleteProject struct { } -func (*awsAwsjson11_deserializeOpDeleteStreamProcessor) ID() string { +func (*awsAwsjson11_deserializeOpDeleteProject) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDeleteStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteProject) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1208,9 +1217,9 @@ func (m *awsAwsjson11_deserializeOpDeleteStreamProcessor) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteStreamProcessor(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteProject(response, &metadata) } - output := &DeleteStreamProcessorOutput{} + output := &DeleteProjectOutput{} out.Result = output var buff [1024]byte @@ -1230,7 +1239,7 @@ func (m *awsAwsjson11_deserializeOpDeleteStreamProcessor) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDeleteStreamProcessorOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDeleteProjectOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1244,7 +1253,7 @@ func (m *awsAwsjson11_deserializeOpDeleteStreamProcessor) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDeleteStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteProject(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1316,14 +1325,14 @@ func awsAwsjson11_deserializeOpErrorDeleteStreamProcessor(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpDescribeCollection struct { +type awsAwsjson11_deserializeOpDeleteProjectVersion struct { } -func (*awsAwsjson11_deserializeOpDescribeCollection) ID() string { +func (*awsAwsjson11_deserializeOpDeleteProjectVersion) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeCollection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1337,9 +1346,9 @@ func (m *awsAwsjson11_deserializeOpDescribeCollection) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeCollection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteProjectVersion(response, &metadata) } - output := &DescribeCollectionOutput{} + output := &DeleteProjectVersionOutput{} out.Result = output var buff [1024]byte @@ -1359,7 +1368,7 @@ func (m *awsAwsjson11_deserializeOpDescribeCollection) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeCollectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDeleteProjectVersionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1373,7 +1382,7 @@ func (m *awsAwsjson11_deserializeOpDescribeCollection) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeCollection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1426,6 +1435,9 @@ func awsAwsjson11_deserializeOpErrorDescribeCollection(response *smithyhttp.Resp case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) @@ -1442,14 +1454,14 @@ func awsAwsjson11_deserializeOpErrorDescribeCollection(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpDescribeProjects struct { +type awsAwsjson11_deserializeOpDeleteStreamProcessor struct { } -func (*awsAwsjson11_deserializeOpDescribeProjects) ID() string { +func (*awsAwsjson11_deserializeOpDeleteStreamProcessor) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeProjects) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDeleteStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1463,9 +1475,9 @@ func (m *awsAwsjson11_deserializeOpDescribeProjects) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeProjects(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteStreamProcessor(response, &metadata) } - output := &DescribeProjectsOutput{} + output := &DeleteStreamProcessorOutput{} out.Result = output var buff [1024]byte @@ -1485,7 +1497,7 @@ func (m *awsAwsjson11_deserializeOpDescribeProjects) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeProjectsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDeleteStreamProcessorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1499,7 +1511,7 @@ func (m *awsAwsjson11_deserializeOpDescribeProjects) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeProjects(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDeleteStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1546,15 +1558,18 @@ func awsAwsjson11_deserializeOpErrorDescribeProjects(response *smithyhttp.Respon case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidPaginationTokenException", errorCode): - return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) - case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -1568,14 +1583,14 @@ func awsAwsjson11_deserializeOpErrorDescribeProjects(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpDescribeProjectVersions struct { +type awsAwsjson11_deserializeOpDescribeCollection struct { } -func (*awsAwsjson11_deserializeOpDescribeProjectVersions) ID() string { +func (*awsAwsjson11_deserializeOpDescribeCollection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeProjectVersions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeCollection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1589,9 +1604,9 @@ func (m *awsAwsjson11_deserializeOpDescribeProjectVersions) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeProjectVersions(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeCollection(response, &metadata) } - output := &DescribeProjectVersionsOutput{} + output := &DescribeCollectionOutput{} out.Result = output var buff [1024]byte @@ -1611,7 +1626,7 @@ func (m *awsAwsjson11_deserializeOpDescribeProjectVersions) HandleDeserialize(ct return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeProjectVersionsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeCollectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1625,7 +1640,7 @@ func (m *awsAwsjson11_deserializeOpDescribeProjectVersions) HandleDeserialize(ct return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeProjectVersions(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeCollection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1672,9 +1687,6 @@ func awsAwsjson11_deserializeOpErrorDescribeProjectVersions(response *smithyhttp case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidPaginationTokenException", errorCode): - return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) - case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) @@ -1697,14 +1709,14 @@ func awsAwsjson11_deserializeOpErrorDescribeProjectVersions(response *smithyhttp } } -type awsAwsjson11_deserializeOpDescribeStreamProcessor struct { +type awsAwsjson11_deserializeOpDescribeDataset struct { } -func (*awsAwsjson11_deserializeOpDescribeStreamProcessor) ID() string { +func (*awsAwsjson11_deserializeOpDescribeDataset) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDescribeStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeDataset) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1718,9 +1730,9 @@ func (m *awsAwsjson11_deserializeOpDescribeStreamProcessor) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeStreamProcessor(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeDataset(response, &metadata) } - output := &DescribeStreamProcessorOutput{} + output := &DescribeDatasetOutput{} out.Result = output var buff [1024]byte @@ -1740,7 +1752,7 @@ func (m *awsAwsjson11_deserializeOpDescribeStreamProcessor) HandleDeserialize(ct return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDescribeStreamProcessorOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeDatasetOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1754,7 +1766,7 @@ func (m *awsAwsjson11_deserializeOpDescribeStreamProcessor) HandleDeserialize(ct return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDescribeStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeDataset(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1823,14 +1835,14 @@ func awsAwsjson11_deserializeOpErrorDescribeStreamProcessor(response *smithyhttp } } -type awsAwsjson11_deserializeOpDetectCustomLabels struct { +type awsAwsjson11_deserializeOpDescribeProjects struct { } -func (*awsAwsjson11_deserializeOpDetectCustomLabels) ID() string { +func (*awsAwsjson11_deserializeOpDescribeProjects) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDetectCustomLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeProjects) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1844,9 +1856,9 @@ func (m *awsAwsjson11_deserializeOpDetectCustomLabels) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDetectCustomLabels(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeProjects(response, &metadata) } - output := &DetectCustomLabelsOutput{} + output := &DescribeProjectsOutput{} out.Result = output var buff [1024]byte @@ -1866,7 +1878,7 @@ func (m *awsAwsjson11_deserializeOpDetectCustomLabels) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDetectCustomLabelsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeProjectsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1880,7 +1892,7 @@ func (m *awsAwsjson11_deserializeOpDetectCustomLabels) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDetectCustomLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeProjects(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1924,33 +1936,18 @@ func awsAwsjson11_deserializeOpErrorDetectCustomLabels(response *smithyhttp.Resp case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidImageFormatException", errorCode): - return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - - case strings.EqualFold("ResourceNotReadyException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotReadyException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -1964,14 +1961,14 @@ func awsAwsjson11_deserializeOpErrorDetectCustomLabels(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpDetectFaces struct { +type awsAwsjson11_deserializeOpDescribeProjectVersions struct { } -func (*awsAwsjson11_deserializeOpDetectFaces) ID() string { +func (*awsAwsjson11_deserializeOpDescribeProjectVersions) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDetectFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeProjectVersions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1985,9 +1982,9 @@ func (m *awsAwsjson11_deserializeOpDetectFaces) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDetectFaces(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeProjectVersions(response, &metadata) } - output := &DetectFacesOutput{} + output := &DescribeProjectVersionsOutput{} out.Result = output var buff [1024]byte @@ -2007,7 +2004,7 @@ func (m *awsAwsjson11_deserializeOpDetectFaces) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDetectFacesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeProjectVersionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2021,7 +2018,7 @@ func (m *awsAwsjson11_deserializeOpDetectFaces) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDetectFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeProjectVersions(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2065,26 +2062,23 @@ func awsAwsjson11_deserializeOpErrorDetectFaces(response *smithyhttp.Response, m case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidImageFormatException", errorCode): - return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): - return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -2096,14 +2090,14 @@ func awsAwsjson11_deserializeOpErrorDetectFaces(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpDetectLabels struct { +type awsAwsjson11_deserializeOpDescribeStreamProcessor struct { } -func (*awsAwsjson11_deserializeOpDetectLabels) ID() string { +func (*awsAwsjson11_deserializeOpDescribeStreamProcessor) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDetectLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDescribeStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2117,9 +2111,9 @@ func (m *awsAwsjson11_deserializeOpDetectLabels) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDetectLabels(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeStreamProcessor(response, &metadata) } - output := &DetectLabelsOutput{} + output := &DescribeStreamProcessorOutput{} out.Result = output var buff [1024]byte @@ -2139,7 +2133,7 @@ func (m *awsAwsjson11_deserializeOpDetectLabels) HandleDeserialize(ctx context.C return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDetectLabelsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDescribeStreamProcessorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2153,7 +2147,7 @@ func (m *awsAwsjson11_deserializeOpDetectLabels) HandleDeserialize(ctx context.C return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDetectLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDescribeStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2197,24 +2191,18 @@ func awsAwsjson11_deserializeOpErrorDetectLabels(response *smithyhttp.Response, case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidImageFormatException", errorCode): - return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) - case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -2228,14 +2216,14 @@ func awsAwsjson11_deserializeOpErrorDetectLabels(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpDetectModerationLabels struct { +type awsAwsjson11_deserializeOpDetectCustomLabels struct { } -func (*awsAwsjson11_deserializeOpDetectModerationLabels) ID() string { +func (*awsAwsjson11_deserializeOpDetectCustomLabels) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDetectModerationLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDetectCustomLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2249,9 +2237,9 @@ func (m *awsAwsjson11_deserializeOpDetectModerationLabels) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDetectModerationLabels(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDetectCustomLabels(response, &metadata) } - output := &DetectModerationLabelsOutput{} + output := &DetectCustomLabelsOutput{} out.Result = output var buff [1024]byte @@ -2271,7 +2259,7 @@ func (m *awsAwsjson11_deserializeOpDetectModerationLabels) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDetectModerationLabelsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDetectCustomLabelsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2285,7 +2273,7 @@ func (m *awsAwsjson11_deserializeOpDetectModerationLabels) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDetectModerationLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDetectCustomLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2329,9 +2317,6 @@ func awsAwsjson11_deserializeOpErrorDetectModerationLabels(response *smithyhttp. case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("HumanLoopQuotaExceededException", errorCode): - return awsAwsjson11_deserializeErrorHumanLoopQuotaExceededException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) @@ -2347,9 +2332,18 @@ func awsAwsjson11_deserializeOpErrorDetectModerationLabels(response *smithyhttp. case strings.EqualFold("InvalidS3ObjectException", errorCode): return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ResourceNotReadyException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotReadyException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -2363,14 +2357,14 @@ func awsAwsjson11_deserializeOpErrorDetectModerationLabels(response *smithyhttp. } } -type awsAwsjson11_deserializeOpDetectProtectiveEquipment struct { +type awsAwsjson11_deserializeOpDetectFaces struct { } -func (*awsAwsjson11_deserializeOpDetectProtectiveEquipment) ID() string { +func (*awsAwsjson11_deserializeOpDetectFaces) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDetectProtectiveEquipment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDetectFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2384,9 +2378,9 @@ func (m *awsAwsjson11_deserializeOpDetectProtectiveEquipment) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDetectProtectiveEquipment(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDetectFaces(response, &metadata) } - output := &DetectProtectiveEquipmentOutput{} + output := &DetectFacesOutput{} out.Result = output var buff [1024]byte @@ -2406,7 +2400,7 @@ func (m *awsAwsjson11_deserializeOpDetectProtectiveEquipment) HandleDeserialize( return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDetectProtectiveEquipmentOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDetectFacesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2420,7 +2414,7 @@ func (m *awsAwsjson11_deserializeOpDetectProtectiveEquipment) HandleDeserialize( return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDetectProtectiveEquipment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDetectFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2495,14 +2489,14 @@ func awsAwsjson11_deserializeOpErrorDetectProtectiveEquipment(response *smithyht } } -type awsAwsjson11_deserializeOpDetectText struct { +type awsAwsjson11_deserializeOpDetectLabels struct { } -func (*awsAwsjson11_deserializeOpDetectText) ID() string { +func (*awsAwsjson11_deserializeOpDetectLabels) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpDetectText) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDetectLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2516,9 +2510,9 @@ func (m *awsAwsjson11_deserializeOpDetectText) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDetectText(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDetectLabels(response, &metadata) } - output := &DetectTextOutput{} + output := &DetectLabelsOutput{} out.Result = output var buff [1024]byte @@ -2538,7 +2532,7 @@ func (m *awsAwsjson11_deserializeOpDetectText) HandleDeserialize(ctx context.Con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentDetectTextOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDetectLabelsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2552,7 +2546,7 @@ func (m *awsAwsjson11_deserializeOpDetectText) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorDetectText(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDetectLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2627,14 +2621,14 @@ func awsAwsjson11_deserializeOpErrorDetectText(response *smithyhttp.Response, me } } -type awsAwsjson11_deserializeOpGetCelebrityInfo struct { +type awsAwsjson11_deserializeOpDetectModerationLabels struct { } -func (*awsAwsjson11_deserializeOpGetCelebrityInfo) ID() string { +func (*awsAwsjson11_deserializeOpDetectModerationLabels) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetCelebrityInfo) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDetectModerationLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2648,9 +2642,9 @@ func (m *awsAwsjson11_deserializeOpGetCelebrityInfo) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetCelebrityInfo(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDetectModerationLabels(response, &metadata) } - output := &GetCelebrityInfoOutput{} + output := &DetectModerationLabelsOutput{} out.Result = output var buff [1024]byte @@ -2670,7 +2664,7 @@ func (m *awsAwsjson11_deserializeOpGetCelebrityInfo) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetCelebrityInfoOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDetectModerationLabelsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2684,7 +2678,7 @@ func (m *awsAwsjson11_deserializeOpGetCelebrityInfo) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetCelebrityInfo(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDetectModerationLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2728,18 +2722,27 @@ func awsAwsjson11_deserializeOpErrorGetCelebrityInfo(response *smithyhttp.Respon case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("HumanLoopQuotaExceededException", errorCode): + return awsAwsjson11_deserializeErrorHumanLoopQuotaExceededException(response, errorBody) + + case strings.EqualFold("ImageTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidImageFormatException", errorCode): + return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -2753,14 +2756,14 @@ func awsAwsjson11_deserializeOpErrorGetCelebrityInfo(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpGetCelebrityRecognition struct { +type awsAwsjson11_deserializeOpDetectProtectiveEquipment struct { } -func (*awsAwsjson11_deserializeOpGetCelebrityRecognition) ID() string { +func (*awsAwsjson11_deserializeOpDetectProtectiveEquipment) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetCelebrityRecognition) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDetectProtectiveEquipment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2774,9 +2777,9 @@ func (m *awsAwsjson11_deserializeOpGetCelebrityRecognition) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetCelebrityRecognition(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDetectProtectiveEquipment(response, &metadata) } - output := &GetCelebrityRecognitionOutput{} + output := &DetectProtectiveEquipmentOutput{} out.Result = output var buff [1024]byte @@ -2796,7 +2799,7 @@ func (m *awsAwsjson11_deserializeOpGetCelebrityRecognition) HandleDeserialize(ct return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetCelebrityRecognitionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDetectProtectiveEquipmentOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2810,7 +2813,7 @@ func (m *awsAwsjson11_deserializeOpGetCelebrityRecognition) HandleDeserialize(ct return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetCelebrityRecognition(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDetectProtectiveEquipment(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2854,21 +2857,24 @@ func awsAwsjson11_deserializeOpErrorGetCelebrityRecognition(response *smithyhttp case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ImageTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidPaginationTokenException", errorCode): - return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) + case strings.EqualFold("InvalidImageFormatException", errorCode): + return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -2882,14 +2888,14 @@ func awsAwsjson11_deserializeOpErrorGetCelebrityRecognition(response *smithyhttp } } -type awsAwsjson11_deserializeOpGetContentModeration struct { +type awsAwsjson11_deserializeOpDetectText struct { } -func (*awsAwsjson11_deserializeOpGetContentModeration) ID() string { +func (*awsAwsjson11_deserializeOpDetectText) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetContentModeration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDetectText) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2903,9 +2909,9 @@ func (m *awsAwsjson11_deserializeOpGetContentModeration) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetContentModeration(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDetectText(response, &metadata) } - output := &GetContentModerationOutput{} + output := &DetectTextOutput{} out.Result = output var buff [1024]byte @@ -2925,7 +2931,7 @@ func (m *awsAwsjson11_deserializeOpGetContentModeration) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetContentModerationOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDetectTextOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2939,7 +2945,7 @@ func (m *awsAwsjson11_deserializeOpGetContentModeration) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetContentModeration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDetectText(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2983,21 +2989,24 @@ func awsAwsjson11_deserializeOpErrorGetContentModeration(response *smithyhttp.Re case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ImageTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidPaginationTokenException", errorCode): - return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) + case strings.EqualFold("InvalidImageFormatException", errorCode): + return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -3011,14 +3020,14 @@ func awsAwsjson11_deserializeOpErrorGetContentModeration(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpGetFaceDetection struct { +type awsAwsjson11_deserializeOpDistributeDatasetEntries struct { } -func (*awsAwsjson11_deserializeOpGetFaceDetection) ID() string { +func (*awsAwsjson11_deserializeOpDistributeDatasetEntries) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetFaceDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpDistributeDatasetEntries) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3032,9 +3041,9 @@ func (m *awsAwsjson11_deserializeOpGetFaceDetection) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetFaceDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorDistributeDatasetEntries(response, &metadata) } - output := &GetFaceDetectionOutput{} + output := &DistributeDatasetEntriesOutput{} out.Result = output var buff [1024]byte @@ -3054,7 +3063,7 @@ func (m *awsAwsjson11_deserializeOpGetFaceDetection) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetFaceDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentDistributeDatasetEntriesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3068,7 +3077,7 @@ func (m *awsAwsjson11_deserializeOpGetFaceDetection) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetFaceDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorDistributeDatasetEntries(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3115,9 +3124,6 @@ func awsAwsjson11_deserializeOpErrorGetFaceDetection(response *smithyhttp.Respon case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidPaginationTokenException", errorCode): - return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) - case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) @@ -3127,6 +3133,9 @@ func awsAwsjson11_deserializeOpErrorGetFaceDetection(response *smithyhttp.Respon case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ResourceNotReadyException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotReadyException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -3140,14 +3149,14 @@ func awsAwsjson11_deserializeOpErrorGetFaceDetection(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpGetFaceSearch struct { +type awsAwsjson11_deserializeOpGetCelebrityInfo struct { } -func (*awsAwsjson11_deserializeOpGetFaceSearch) ID() string { +func (*awsAwsjson11_deserializeOpGetCelebrityInfo) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetFaceSearch) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetCelebrityInfo) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3161,9 +3170,9 @@ func (m *awsAwsjson11_deserializeOpGetFaceSearch) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetFaceSearch(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetCelebrityInfo(response, &metadata) } - output := &GetFaceSearchOutput{} + output := &GetCelebrityInfoOutput{} out.Result = output var buff [1024]byte @@ -3183,7 +3192,7 @@ func (m *awsAwsjson11_deserializeOpGetFaceSearch) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetFaceSearchOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetCelebrityInfoOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3197,7 +3206,7 @@ func (m *awsAwsjson11_deserializeOpGetFaceSearch) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetFaceSearch(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetCelebrityInfo(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3244,9 +3253,6 @@ func awsAwsjson11_deserializeOpErrorGetFaceSearch(response *smithyhttp.Response, case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidPaginationTokenException", errorCode): - return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) - case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) @@ -3269,14 +3275,14 @@ func awsAwsjson11_deserializeOpErrorGetFaceSearch(response *smithyhttp.Response, } } -type awsAwsjson11_deserializeOpGetLabelDetection struct { +type awsAwsjson11_deserializeOpGetCelebrityRecognition struct { } -func (*awsAwsjson11_deserializeOpGetLabelDetection) ID() string { +func (*awsAwsjson11_deserializeOpGetCelebrityRecognition) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetLabelDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetCelebrityRecognition) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3290,9 +3296,9 @@ func (m *awsAwsjson11_deserializeOpGetLabelDetection) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetLabelDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetCelebrityRecognition(response, &metadata) } - output := &GetLabelDetectionOutput{} + output := &GetCelebrityRecognitionOutput{} out.Result = output var buff [1024]byte @@ -3312,7 +3318,7 @@ func (m *awsAwsjson11_deserializeOpGetLabelDetection) HandleDeserialize(ctx cont return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetLabelDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetCelebrityRecognitionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3326,7 +3332,7 @@ func (m *awsAwsjson11_deserializeOpGetLabelDetection) HandleDeserialize(ctx cont return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetLabelDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetCelebrityRecognition(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3398,14 +3404,14 @@ func awsAwsjson11_deserializeOpErrorGetLabelDetection(response *smithyhttp.Respo } } -type awsAwsjson11_deserializeOpGetPersonTracking struct { +type awsAwsjson11_deserializeOpGetContentModeration struct { } -func (*awsAwsjson11_deserializeOpGetPersonTracking) ID() string { +func (*awsAwsjson11_deserializeOpGetContentModeration) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetPersonTracking) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetContentModeration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3419,9 +3425,9 @@ func (m *awsAwsjson11_deserializeOpGetPersonTracking) HandleDeserialize(ctx cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetPersonTracking(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetContentModeration(response, &metadata) } - output := &GetPersonTrackingOutput{} + output := &GetContentModerationOutput{} out.Result = output var buff [1024]byte @@ -3441,7 +3447,7 @@ func (m *awsAwsjson11_deserializeOpGetPersonTracking) HandleDeserialize(ctx cont return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetPersonTrackingOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetContentModerationOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3455,7 +3461,7 @@ func (m *awsAwsjson11_deserializeOpGetPersonTracking) HandleDeserialize(ctx cont return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetPersonTracking(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetContentModeration(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3527,14 +3533,14 @@ func awsAwsjson11_deserializeOpErrorGetPersonTracking(response *smithyhttp.Respo } } -type awsAwsjson11_deserializeOpGetSegmentDetection struct { +type awsAwsjson11_deserializeOpGetFaceDetection struct { } -func (*awsAwsjson11_deserializeOpGetSegmentDetection) ID() string { +func (*awsAwsjson11_deserializeOpGetFaceDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetSegmentDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetFaceDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3548,9 +3554,9 @@ func (m *awsAwsjson11_deserializeOpGetSegmentDetection) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetSegmentDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetFaceDetection(response, &metadata) } - output := &GetSegmentDetectionOutput{} + output := &GetFaceDetectionOutput{} out.Result = output var buff [1024]byte @@ -3570,7 +3576,7 @@ func (m *awsAwsjson11_deserializeOpGetSegmentDetection) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetSegmentDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetFaceDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3584,7 +3590,7 @@ func (m *awsAwsjson11_deserializeOpGetSegmentDetection) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetSegmentDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetFaceDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3656,14 +3662,14 @@ func awsAwsjson11_deserializeOpErrorGetSegmentDetection(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpGetTextDetection struct { +type awsAwsjson11_deserializeOpGetFaceSearch struct { } -func (*awsAwsjson11_deserializeOpGetTextDetection) ID() string { +func (*awsAwsjson11_deserializeOpGetFaceSearch) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpGetTextDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetFaceSearch) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3677,9 +3683,9 @@ func (m *awsAwsjson11_deserializeOpGetTextDetection) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetTextDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetFaceSearch(response, &metadata) } - output := &GetTextDetectionOutput{} + output := &GetFaceSearchOutput{} out.Result = output var buff [1024]byte @@ -3699,7 +3705,7 @@ func (m *awsAwsjson11_deserializeOpGetTextDetection) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentGetTextDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetFaceSearchOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3713,7 +3719,7 @@ func (m *awsAwsjson11_deserializeOpGetTextDetection) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson11_deserializeOpErrorGetTextDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetFaceSearch(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3785,14 +3791,14 @@ func awsAwsjson11_deserializeOpErrorGetTextDetection(response *smithyhttp.Respon } } -type awsAwsjson11_deserializeOpIndexFaces struct { +type awsAwsjson11_deserializeOpGetLabelDetection struct { } -func (*awsAwsjson11_deserializeOpIndexFaces) ID() string { +func (*awsAwsjson11_deserializeOpGetLabelDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpIndexFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetLabelDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3806,9 +3812,9 @@ func (m *awsAwsjson11_deserializeOpIndexFaces) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorIndexFaces(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetLabelDetection(response, &metadata) } - output := &IndexFacesOutput{} + output := &GetLabelDetectionOutput{} out.Result = output var buff [1024]byte @@ -3828,7 +3834,7 @@ func (m *awsAwsjson11_deserializeOpIndexFaces) HandleDeserialize(ctx context.Con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentIndexFacesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetLabelDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3842,7 +3848,7 @@ func (m *awsAwsjson11_deserializeOpIndexFaces) HandleDeserialize(ctx context.Con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorIndexFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetLabelDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3886,30 +3892,21 @@ func awsAwsjson11_deserializeOpErrorIndexFaces(response *smithyhttp.Response, me case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidImageFormatException", errorCode): - return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -3923,14 +3920,14 @@ func awsAwsjson11_deserializeOpErrorIndexFaces(response *smithyhttp.Response, me } } -type awsAwsjson11_deserializeOpListCollections struct { +type awsAwsjson11_deserializeOpGetPersonTracking struct { } -func (*awsAwsjson11_deserializeOpListCollections) ID() string { +func (*awsAwsjson11_deserializeOpGetPersonTracking) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListCollections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetPersonTracking) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -3944,9 +3941,9 @@ func (m *awsAwsjson11_deserializeOpListCollections) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListCollections(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetPersonTracking(response, &metadata) } - output := &ListCollectionsOutput{} + output := &GetPersonTrackingOutput{} out.Result = output var buff [1024]byte @@ -3966,7 +3963,7 @@ func (m *awsAwsjson11_deserializeOpListCollections) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListCollectionsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetPersonTrackingOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -3980,7 +3977,7 @@ func (m *awsAwsjson11_deserializeOpListCollections) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListCollections(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetPersonTracking(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4052,14 +4049,14 @@ func awsAwsjson11_deserializeOpErrorListCollections(response *smithyhttp.Respons } } -type awsAwsjson11_deserializeOpListFaces struct { +type awsAwsjson11_deserializeOpGetSegmentDetection struct { } -func (*awsAwsjson11_deserializeOpListFaces) ID() string { +func (*awsAwsjson11_deserializeOpGetSegmentDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetSegmentDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4073,9 +4070,9 @@ func (m *awsAwsjson11_deserializeOpListFaces) HandleDeserialize(ctx context.Cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListFaces(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetSegmentDetection(response, &metadata) } - output := &ListFacesOutput{} + output := &GetSegmentDetectionOutput{} out.Result = output var buff [1024]byte @@ -4095,7 +4092,7 @@ func (m *awsAwsjson11_deserializeOpListFaces) HandleDeserialize(ctx context.Cont return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListFacesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetSegmentDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4109,7 +4106,7 @@ func (m *awsAwsjson11_deserializeOpListFaces) HandleDeserialize(ctx context.Cont return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetSegmentDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4181,14 +4178,14 @@ func awsAwsjson11_deserializeOpErrorListFaces(response *smithyhttp.Response, met } } -type awsAwsjson11_deserializeOpListStreamProcessors struct { +type awsAwsjson11_deserializeOpGetTextDetection struct { } -func (*awsAwsjson11_deserializeOpListStreamProcessors) ID() string { +func (*awsAwsjson11_deserializeOpGetTextDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListStreamProcessors) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpGetTextDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4202,9 +4199,9 @@ func (m *awsAwsjson11_deserializeOpListStreamProcessors) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListStreamProcessors(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorGetTextDetection(response, &metadata) } - output := &ListStreamProcessorsOutput{} + output := &GetTextDetectionOutput{} out.Result = output var buff [1024]byte @@ -4224,7 +4221,7 @@ func (m *awsAwsjson11_deserializeOpListStreamProcessors) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListStreamProcessorsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentGetTextDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4238,7 +4235,7 @@ func (m *awsAwsjson11_deserializeOpListStreamProcessors) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListStreamProcessors(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorGetTextDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4294,6 +4291,9 @@ func awsAwsjson11_deserializeOpErrorListStreamProcessors(response *smithyhttp.Re case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -4307,14 +4307,14 @@ func awsAwsjson11_deserializeOpErrorListStreamProcessors(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpListTagsForResource struct { +type awsAwsjson11_deserializeOpIndexFaces struct { } -func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { +func (*awsAwsjson11_deserializeOpIndexFaces) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpIndexFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4328,9 +4328,9 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorIndexFaces(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &IndexFacesOutput{} out.Result = output var buff [1024]byte @@ -4350,7 +4350,7 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentIndexFacesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4364,7 +4364,7 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorIndexFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4408,18 +4408,30 @@ func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Res case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ImageTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidImageFormatException", errorCode): + return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -4433,14 +4445,14 @@ func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpRecognizeCelebrities struct { +type awsAwsjson11_deserializeOpListCollections struct { } -func (*awsAwsjson11_deserializeOpRecognizeCelebrities) ID() string { +func (*awsAwsjson11_deserializeOpListCollections) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpRecognizeCelebrities) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListCollections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4454,9 +4466,9 @@ func (m *awsAwsjson11_deserializeOpRecognizeCelebrities) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorRecognizeCelebrities(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListCollections(response, &metadata) } - output := &RecognizeCelebritiesOutput{} + output := &ListCollectionsOutput{} out.Result = output var buff [1024]byte @@ -4476,7 +4488,7 @@ func (m *awsAwsjson11_deserializeOpRecognizeCelebrities) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentRecognizeCelebritiesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListCollectionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4490,7 +4502,7 @@ func (m *awsAwsjson11_deserializeOpRecognizeCelebrities) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorRecognizeCelebrities(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListCollections(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4534,24 +4546,21 @@ func awsAwsjson11_deserializeOpErrorRecognizeCelebrities(response *smithyhttp.Re case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidImageFormatException", errorCode): - return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -4565,14 +4574,14 @@ func awsAwsjson11_deserializeOpErrorRecognizeCelebrities(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpSearchFaces struct { +type awsAwsjson11_deserializeOpListDatasetEntries struct { } -func (*awsAwsjson11_deserializeOpSearchFaces) ID() string { +func (*awsAwsjson11_deserializeOpListDatasetEntries) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpSearchFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListDatasetEntries) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4586,9 +4595,9 @@ func (m *awsAwsjson11_deserializeOpSearchFaces) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorSearchFaces(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListDatasetEntries(response, &metadata) } - output := &SearchFacesOutput{} + output := &ListDatasetEntriesOutput{} out.Result = output var buff [1024]byte @@ -4608,7 +4617,7 @@ func (m *awsAwsjson11_deserializeOpSearchFaces) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentSearchFacesOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListDatasetEntriesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4622,7 +4631,7 @@ func (m *awsAwsjson11_deserializeOpSearchFaces) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorSearchFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListDatasetEntries(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4669,15 +4678,24 @@ func awsAwsjson11_deserializeOpErrorSearchFaces(response *smithyhttp.Response, m case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ResourceNotReadyException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotReadyException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -4691,14 +4709,14 @@ func awsAwsjson11_deserializeOpErrorSearchFaces(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpSearchFacesByImage struct { +type awsAwsjson11_deserializeOpListDatasetLabels struct { } -func (*awsAwsjson11_deserializeOpSearchFacesByImage) ID() string { +func (*awsAwsjson11_deserializeOpListDatasetLabels) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpSearchFacesByImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListDatasetLabels) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4712,9 +4730,9 @@ func (m *awsAwsjson11_deserializeOpSearchFacesByImage) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorSearchFacesByImage(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListDatasetLabels(response, &metadata) } - output := &SearchFacesByImageOutput{} + output := &ListDatasetLabelsOutput{} out.Result = output var buff [1024]byte @@ -4734,7 +4752,7 @@ func (m *awsAwsjson11_deserializeOpSearchFacesByImage) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentSearchFacesByImageOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListDatasetLabelsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4748,7 +4766,7 @@ func (m *awsAwsjson11_deserializeOpSearchFacesByImage) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorSearchFacesByImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListDatasetLabels(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4792,27 +4810,27 @@ func awsAwsjson11_deserializeOpErrorSearchFacesByImage(response *smithyhttp.Resp case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ImageTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - case strings.EqualFold("InvalidImageFormatException", errorCode): - return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ResourceNotReadyException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotReadyException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -4826,14 +4844,14 @@ func awsAwsjson11_deserializeOpErrorSearchFacesByImage(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpStartCelebrityRecognition struct { +type awsAwsjson11_deserializeOpListFaces struct { } -func (*awsAwsjson11_deserializeOpStartCelebrityRecognition) ID() string { +func (*awsAwsjson11_deserializeOpListFaces) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartCelebrityRecognition) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4847,9 +4865,9 @@ func (m *awsAwsjson11_deserializeOpStartCelebrityRecognition) HandleDeserialize( } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartCelebrityRecognition(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListFaces(response, &metadata) } - output := &StartCelebrityRecognitionOutput{} + output := &ListFacesOutput{} out.Result = output var buff [1024]byte @@ -4869,7 +4887,7 @@ func (m *awsAwsjson11_deserializeOpStartCelebrityRecognition) HandleDeserialize( return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartCelebrityRecognitionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListFacesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4883,7 +4901,7 @@ func (m *awsAwsjson11_deserializeOpStartCelebrityRecognition) HandleDeserialize( return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartCelebrityRecognition(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4927,30 +4945,24 @@ func awsAwsjson11_deserializeOpErrorStartCelebrityRecognition(response *smithyht case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("IdempotentParameterMismatchException", errorCode): - return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("VideoTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4961,14 +4973,14 @@ func awsAwsjson11_deserializeOpErrorStartCelebrityRecognition(response *smithyht } } -type awsAwsjson11_deserializeOpStartContentModeration struct { +type awsAwsjson11_deserializeOpListStreamProcessors struct { } -func (*awsAwsjson11_deserializeOpStartContentModeration) ID() string { +func (*awsAwsjson11_deserializeOpListStreamProcessors) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartContentModeration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListStreamProcessors) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4982,9 +4994,9 @@ func (m *awsAwsjson11_deserializeOpStartContentModeration) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartContentModeration(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListStreamProcessors(response, &metadata) } - output := &StartContentModerationOutput{} + output := &ListStreamProcessorsOutput{} out.Result = output var buff [1024]byte @@ -5004,7 +5016,7 @@ func (m *awsAwsjson11_deserializeOpStartContentModeration) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartContentModerationOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListStreamProcessorsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5018,7 +5030,7 @@ func (m *awsAwsjson11_deserializeOpStartContentModeration) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartContentModeration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListStreamProcessors(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5062,30 +5074,21 @@ func awsAwsjson11_deserializeOpErrorStartContentModeration(response *smithyhttp. case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("IdempotentParameterMismatchException", errorCode): - return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidPaginationTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("VideoTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5096,14 +5099,14 @@ func awsAwsjson11_deserializeOpErrorStartContentModeration(response *smithyhttp. } } -type awsAwsjson11_deserializeOpStartFaceDetection struct { +type awsAwsjson11_deserializeOpListTagsForResource struct { } -func (*awsAwsjson11_deserializeOpStartFaceDetection) ID() string { +func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartFaceDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5117,9 +5120,9 @@ func (m *awsAwsjson11_deserializeOpStartFaceDetection) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartFaceDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) } - output := &StartFaceDetectionOutput{} + output := &ListTagsForResourceOutput{} out.Result = output var buff [1024]byte @@ -5139,7 +5142,7 @@ func (m *awsAwsjson11_deserializeOpStartFaceDetection) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartFaceDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5153,7 +5156,7 @@ func (m *awsAwsjson11_deserializeOpStartFaceDetection) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartFaceDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5197,30 +5200,21 @@ func awsAwsjson11_deserializeOpErrorStartFaceDetection(response *smithyhttp.Resp case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("IdempotentParameterMismatchException", errorCode): - return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("VideoTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5231,14 +5225,14 @@ func awsAwsjson11_deserializeOpErrorStartFaceDetection(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpStartFaceSearch struct { +type awsAwsjson11_deserializeOpRecognizeCelebrities struct { } -func (*awsAwsjson11_deserializeOpStartFaceSearch) ID() string { +func (*awsAwsjson11_deserializeOpRecognizeCelebrities) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartFaceSearch) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpRecognizeCelebrities) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5252,9 +5246,9 @@ func (m *awsAwsjson11_deserializeOpStartFaceSearch) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartFaceSearch(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorRecognizeCelebrities(response, &metadata) } - output := &StartFaceSearchOutput{} + output := &RecognizeCelebritiesOutput{} out.Result = output var buff [1024]byte @@ -5274,7 +5268,7 @@ func (m *awsAwsjson11_deserializeOpStartFaceSearch) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartFaceSearchOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentRecognizeCelebritiesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5288,7 +5282,7 @@ func (m *awsAwsjson11_deserializeOpStartFaceSearch) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartFaceSearch(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorRecognizeCelebrities(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5332,33 +5326,27 @@ func awsAwsjson11_deserializeOpErrorStartFaceSearch(response *smithyhttp.Respons case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("IdempotentParameterMismatchException", errorCode): - return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("ImageTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidImageFormatException", errorCode): + return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) case strings.EqualFold("InvalidS3ObjectException", errorCode): return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("VideoTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5369,14 +5357,14 @@ func awsAwsjson11_deserializeOpErrorStartFaceSearch(response *smithyhttp.Respons } } -type awsAwsjson11_deserializeOpStartLabelDetection struct { +type awsAwsjson11_deserializeOpSearchFaces struct { } -func (*awsAwsjson11_deserializeOpStartLabelDetection) ID() string { +func (*awsAwsjson11_deserializeOpSearchFaces) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartLabelDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpSearchFaces) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5390,9 +5378,9 @@ func (m *awsAwsjson11_deserializeOpStartLabelDetection) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartLabelDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorSearchFaces(response, &metadata) } - output := &StartLabelDetectionOutput{} + output := &SearchFacesOutput{} out.Result = output var buff [1024]byte @@ -5412,7 +5400,7 @@ func (m *awsAwsjson11_deserializeOpStartLabelDetection) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartLabelDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentSearchFacesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5426,7 +5414,7 @@ func (m *awsAwsjson11_deserializeOpStartLabelDetection) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartLabelDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorSearchFaces(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5470,30 +5458,21 @@ func awsAwsjson11_deserializeOpErrorStartLabelDetection(response *smithyhttp.Res case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("IdempotentParameterMismatchException", errorCode): - return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("InvalidS3ObjectException", errorCode): - return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("VideoTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5504,14 +5483,14 @@ func awsAwsjson11_deserializeOpErrorStartLabelDetection(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpStartPersonTracking struct { +type awsAwsjson11_deserializeOpSearchFacesByImage struct { } -func (*awsAwsjson11_deserializeOpStartPersonTracking) ID() string { +func (*awsAwsjson11_deserializeOpSearchFacesByImage) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartPersonTracking) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpSearchFacesByImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5525,9 +5504,9 @@ func (m *awsAwsjson11_deserializeOpStartPersonTracking) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartPersonTracking(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorSearchFacesByImage(response, &metadata) } - output := &StartPersonTrackingOutput{} + output := &SearchFacesByImageOutput{} out.Result = output var buff [1024]byte @@ -5547,7 +5526,7 @@ func (m *awsAwsjson11_deserializeOpStartPersonTracking) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartPersonTrackingOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentSearchFacesByImageOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5561,7 +5540,7 @@ func (m *awsAwsjson11_deserializeOpStartPersonTracking) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartPersonTracking(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorSearchFacesByImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5605,30 +5584,30 @@ func awsAwsjson11_deserializeOpErrorStartPersonTracking(response *smithyhttp.Res case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("IdempotentParameterMismatchException", errorCode): - return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("ImageTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorImageTooLargeException(response, errorBody) case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("InvalidImageFormatException", errorCode): + return awsAwsjson11_deserializeErrorInvalidImageFormatException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) case strings.EqualFold("InvalidS3ObjectException", errorCode): return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("VideoTooLargeException", errorCode): - return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5639,14 +5618,14 @@ func awsAwsjson11_deserializeOpErrorStartPersonTracking(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpStartProjectVersion struct { +type awsAwsjson11_deserializeOpStartCelebrityRecognition struct { } -func (*awsAwsjson11_deserializeOpStartProjectVersion) ID() string { +func (*awsAwsjson11_deserializeOpStartCelebrityRecognition) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartCelebrityRecognition) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5660,9 +5639,9 @@ func (m *awsAwsjson11_deserializeOpStartProjectVersion) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartProjectVersion(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartCelebrityRecognition(response, &metadata) } - output := &StartProjectVersionOutput{} + output := &StartCelebrityRecognitionOutput{} out.Result = output var buff [1024]byte @@ -5682,7 +5661,7 @@ func (m *awsAwsjson11_deserializeOpStartProjectVersion) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartProjectVersionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartCelebrityRecognitionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5696,7 +5675,7 @@ func (m *awsAwsjson11_deserializeOpStartProjectVersion) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartCelebrityRecognition(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5740,27 +5719,30 @@ func awsAwsjson11_deserializeOpErrorStartProjectVersion(response *smithyhttp.Res case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceInUseException", errorCode): - return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) - - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("VideoTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5771,14 +5753,14 @@ func awsAwsjson11_deserializeOpErrorStartProjectVersion(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpStartSegmentDetection struct { +type awsAwsjson11_deserializeOpStartContentModeration struct { } -func (*awsAwsjson11_deserializeOpStartSegmentDetection) ID() string { +func (*awsAwsjson11_deserializeOpStartContentModeration) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartSegmentDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartContentModeration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5792,9 +5774,9 @@ func (m *awsAwsjson11_deserializeOpStartSegmentDetection) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartSegmentDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartContentModeration(response, &metadata) } - output := &StartSegmentDetectionOutput{} + output := &StartContentModerationOutput{} out.Result = output var buff [1024]byte @@ -5814,7 +5796,7 @@ func (m *awsAwsjson11_deserializeOpStartSegmentDetection) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartSegmentDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartContentModerationOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5828,7 +5810,7 @@ func (m *awsAwsjson11_deserializeOpStartSegmentDetection) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartSegmentDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartContentModeration(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5906,14 +5888,14 @@ func awsAwsjson11_deserializeOpErrorStartSegmentDetection(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpStartStreamProcessor struct { +type awsAwsjson11_deserializeOpStartFaceDetection struct { } -func (*awsAwsjson11_deserializeOpStartStreamProcessor) ID() string { +func (*awsAwsjson11_deserializeOpStartFaceDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartFaceDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5927,9 +5909,9 @@ func (m *awsAwsjson11_deserializeOpStartStreamProcessor) HandleDeserialize(ctx c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartStreamProcessor(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartFaceDetection(response, &metadata) } - output := &StartStreamProcessorOutput{} + output := &StartFaceDetectionOutput{} out.Result = output var buff [1024]byte @@ -5949,7 +5931,7 @@ func (m *awsAwsjson11_deserializeOpStartStreamProcessor) HandleDeserialize(ctx c return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartStreamProcessorOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartFaceDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5963,7 +5945,7 @@ func (m *awsAwsjson11_deserializeOpStartStreamProcessor) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartFaceDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6007,24 +5989,30 @@ func awsAwsjson11_deserializeOpErrorStartStreamProcessor(response *smithyhttp.Re case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): - return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ResourceInUseException", errorCode): - return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("VideoTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -6035,14 +6023,14 @@ func awsAwsjson11_deserializeOpErrorStartStreamProcessor(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpStartTextDetection struct { +type awsAwsjson11_deserializeOpStartFaceSearch struct { } -func (*awsAwsjson11_deserializeOpStartTextDetection) ID() string { +func (*awsAwsjson11_deserializeOpStartFaceSearch) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStartTextDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartFaceSearch) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6056,9 +6044,9 @@ func (m *awsAwsjson11_deserializeOpStartTextDetection) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartTextDetection(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartFaceSearch(response, &metadata) } - output := &StartTextDetectionOutput{} + output := &StartFaceSearchOutput{} out.Result = output var buff [1024]byte @@ -6078,7 +6066,7 @@ func (m *awsAwsjson11_deserializeOpStartTextDetection) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStartTextDetectionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartFaceSearchOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6092,7 +6080,7 @@ func (m *awsAwsjson11_deserializeOpStartTextDetection) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStartTextDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartFaceSearch(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6154,6 +6142,9 @@ func awsAwsjson11_deserializeOpErrorStartTextDetection(response *smithyhttp.Resp case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -6170,14 +6161,14 @@ func awsAwsjson11_deserializeOpErrorStartTextDetection(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpStopProjectVersion struct { +type awsAwsjson11_deserializeOpStartLabelDetection struct { } -func (*awsAwsjson11_deserializeOpStopProjectVersion) ID() string { +func (*awsAwsjson11_deserializeOpStartLabelDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStopProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartLabelDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6191,9 +6182,9 @@ func (m *awsAwsjson11_deserializeOpStopProjectVersion) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStopProjectVersion(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartLabelDetection(response, &metadata) } - output := &StopProjectVersionOutput{} + output := &StartLabelDetectionOutput{} out.Result = output var buff [1024]byte @@ -6213,7 +6204,7 @@ func (m *awsAwsjson11_deserializeOpStopProjectVersion) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStopProjectVersionOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartLabelDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6227,7 +6218,7 @@ func (m *awsAwsjson11_deserializeOpStopProjectVersion) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStopProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartLabelDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6271,24 +6262,30 @@ func awsAwsjson11_deserializeOpErrorStopProjectVersion(response *smithyhttp.Resp case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): - return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ResourceInUseException", errorCode): - return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("VideoTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -6299,14 +6296,14 @@ func awsAwsjson11_deserializeOpErrorStopProjectVersion(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpStopStreamProcessor struct { +type awsAwsjson11_deserializeOpStartPersonTracking struct { } -func (*awsAwsjson11_deserializeOpStopStreamProcessor) ID() string { +func (*awsAwsjson11_deserializeOpStartPersonTracking) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpStopStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartPersonTracking) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6320,9 +6317,9 @@ func (m *awsAwsjson11_deserializeOpStopStreamProcessor) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStopStreamProcessor(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartPersonTracking(response, &metadata) } - output := &StopStreamProcessorOutput{} + output := &StartPersonTrackingOutput{} out.Result = output var buff [1024]byte @@ -6342,7 +6339,7 @@ func (m *awsAwsjson11_deserializeOpStopStreamProcessor) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentStopStreamProcessorOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartPersonTrackingOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6356,7 +6353,7 @@ func (m *awsAwsjson11_deserializeOpStopStreamProcessor) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorStopStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartPersonTracking(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6400,24 +6397,30 @@ func awsAwsjson11_deserializeOpErrorStopStreamProcessor(response *smithyhttp.Res case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): - return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) - case strings.EqualFold("ResourceInUseException", errorCode): - return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("VideoTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -6428,14 +6431,14 @@ func awsAwsjson11_deserializeOpErrorStopStreamProcessor(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpTagResource struct { +type awsAwsjson11_deserializeOpStartProjectVersion struct { } -func (*awsAwsjson11_deserializeOpTagResource) ID() string { +func (*awsAwsjson11_deserializeOpStartProjectVersion) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6449,9 +6452,9 @@ func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartProjectVersion(response, &metadata) } - output := &TagResourceOutput{} + output := &StartProjectVersionOutput{} out.Result = output var buff [1024]byte @@ -6471,7 +6474,7 @@ func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartProjectVersionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6485,7 +6488,7 @@ func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6535,15 +6538,18 @@ func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, m case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) @@ -6557,14 +6563,14 @@ func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, m } } -type awsAwsjson11_deserializeOpUntagResource struct { +type awsAwsjson11_deserializeOpStartSegmentDetection struct { } -func (*awsAwsjson11_deserializeOpUntagResource) ID() string { +func (*awsAwsjson11_deserializeOpStartSegmentDetection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpStartSegmentDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6578,9 +6584,9 @@ func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorStartSegmentDetection(response, &metadata) } - output := &UntagResourceOutput{} + output := &StartSegmentDetectionOutput{} out.Result = output var buff [1024]byte @@ -6600,7 +6606,7 @@ func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentStartSegmentDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6614,7 +6620,7 @@ func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorStartSegmentDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6658,21 +6664,30 @@ func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) case strings.EqualFold("InvalidParameterException", errorCode): return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("VideoTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -6683,46 +6698,36 @@ func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, } } -func awsAwsjson11_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } +type awsAwsjson11_deserializeOpStartStreamProcessor struct { +} - output := &types.AccessDeniedException{} - err := awsAwsjson11_deserializeDocumentAccessDeniedException(&output, shape) +func (*awsAwsjson11_deserializeOpStartStreamProcessor) ID() string { + return "OperationDeserializer" +} +func (m *awsAwsjson11_deserializeOpStartStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output -} + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorStartStreamProcessor(response, &metadata) + } + output := &StartStreamProcessorOutput{} + out.Result = output -func awsAwsjson11_deserializeErrorHumanLoopQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -6733,12 +6738,10 @@ func awsAwsjson11_deserializeErrorHumanLoopQuotaExceededException(response *smit Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.HumanLoopQuotaExceededException{} - err := awsAwsjson11_deserializeDocumentHumanLoopQuotaExceededException(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentStartStreamProcessorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6746,34 +6749,34 @@ func awsAwsjson11_deserializeErrorHumanLoopQuotaExceededException(response *smit Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorStartStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.IdempotentParameterMismatchException{} - err := awsAwsjson11_deserializeDocumentIdempotentParameterMismatchException(&output, shape) - + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6785,49 +6788,75 @@ func awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response } errorBody.Seek(0, io.SeekStart) - return output -} + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } -func awsAwsjson11_deserializeErrorImageTooLargeException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - output := &types.ImageTooLargeException{} - err := awsAwsjson11_deserializeDocumentImageTooLargeException(&output, shape) +type awsAwsjson11_deserializeOpStartTextDetection struct { +} + +func (*awsAwsjson11_deserializeOpStartTextDetection) ID() string { + return "OperationDeserializer" +} +func (m *awsAwsjson11_deserializeOpStartTextDetection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output -} + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorStartTextDetection(response, &metadata) + } + output := &StartTextDetectionOutput{} + out.Result = output -func awsAwsjson11_deserializeErrorInternalServerError(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -6838,12 +6867,10 @@ func awsAwsjson11_deserializeErrorInternalServerError(response *smithyhttp.Respo Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.InternalServerError{} - err := awsAwsjson11_deserializeDocumentInternalServerError(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentStartTextDetectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6851,22 +6878,35 @@ func awsAwsjson11_deserializeErrorInternalServerError(response *smithyhttp.Respo Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorInvalidImageFormatException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorStartTextDetection(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ @@ -6876,63 +6916,82 @@ func awsAwsjson11_deserializeErrorInvalidImageFormatException(response *smithyht return err } - output := &types.InvalidImageFormatException{} - err := awsAwsjson11_deserializeDocumentInvalidImageFormatException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message } - errorBody.Seek(0, io.SeekStart) - return output -} + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) -func awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("VideoTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorVideoTooLargeException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - output := &types.InvalidPaginationTokenException{} - err := awsAwsjson11_deserializeDocumentInvalidPaginationTokenException(&output, shape) +type awsAwsjson11_deserializeOpStopProjectVersion struct { +} + +func (*awsAwsjson11_deserializeOpStopProjectVersion) ID() string { + return "OperationDeserializer" +} +func (m *awsAwsjson11_deserializeOpStopProjectVersion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output -} + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorStopProjectVersion(response, &metadata) + } + output := &StopProjectVersionOutput{} + out.Result = output -func awsAwsjson11_deserializeErrorInvalidParameterException(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -6943,12 +7002,10 @@ func awsAwsjson11_deserializeErrorInvalidParameterException(response *smithyhttp Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.InvalidParameterException{} - err := awsAwsjson11_deserializeDocumentInvalidParameterException(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentStopProjectVersionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6956,34 +7013,34 @@ func awsAwsjson11_deserializeErrorInvalidParameterException(response *smithyhttp Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorInvalidS3ObjectException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorStopProjectVersion(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidS3ObjectException{} - err := awsAwsjson11_deserializeDocumentInvalidS3ObjectException(&output, shape) - + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6995,49 +7052,75 @@ func awsAwsjson11_deserializeErrorInvalidS3ObjectException(response *smithyhttp. } errorBody.Seek(0, io.SeekStart) - return output -} + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } -func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - output := &types.LimitExceededException{} - err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape) +type awsAwsjson11_deserializeOpStopStreamProcessor struct { +} + +func (*awsAwsjson11_deserializeOpStopStreamProcessor) ID() string { + return "OperationDeserializer" +} +func (m *awsAwsjson11_deserializeOpStopStreamProcessor) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output -} + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorStopStreamProcessor(response, &metadata) + } + output := &StopStreamProcessorOutput{} + out.Result = output -func awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -7048,12 +7131,10 @@ func awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(respons Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.ProvisionedThroughputExceededException{} - err := awsAwsjson11_deserializeDocumentProvisionedThroughputExceededException(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentStopStreamProcessorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7061,22 +7142,35 @@ func awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(respons Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorResourceAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorStopStreamProcessor(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ @@ -7086,63 +7180,76 @@ func awsAwsjson11_deserializeErrorResourceAlreadyExistsException(response *smith return err } - output := &types.ResourceAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentResourceAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message } - errorBody.Seek(0, io.SeekStart) - return output -} + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) -func awsAwsjson11_deserializeErrorResourceInUseException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - output := &types.ResourceInUseException{} - err := awsAwsjson11_deserializeDocumentResourceInUseException(&output, shape) +type awsAwsjson11_deserializeOpTagResource struct { +} + +func (*awsAwsjson11_deserializeOpTagResource) ID() string { + return "OperationDeserializer" +} +func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output -} + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata) + } + output := &TagResourceOutput{} + out.Result = output -func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -7153,12 +7260,10 @@ func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.ResourceNotFoundException{} - err := awsAwsjson11_deserializeDocumentResourceNotFoundException(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7166,34 +7271,34 @@ func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorResourceNotReadyException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ResourceNotReadyException{} - err := awsAwsjson11_deserializeDocumentResourceNotReadyException(&output, shape) - + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7205,49 +7310,75 @@ func awsAwsjson11_deserializeErrorResourceNotReadyException(response *smithyhttp } errorBody.Seek(0, io.SeekStart) - return output -} + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } -func awsAwsjson11_deserializeErrorServiceQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsAwsjson11_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - output := &types.ServiceQuotaExceededException{} - err := awsAwsjson11_deserializeDocumentServiceQuotaExceededException(&output, shape) +type awsAwsjson11_deserializeOpUntagResource struct { +} + +func (*awsAwsjson11_deserializeOpUntagResource) ID() string { + return "OperationDeserializer" +} +func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output -} + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata) + } + output := &UntagResourceOutput{} + out.Result = output -func awsAwsjson11_deserializeErrorThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -7258,12 +7389,10 @@ func awsAwsjson11_deserializeErrorThrottlingException(response *smithyhttp.Respo Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - output := &types.ThrottlingException{} - err := awsAwsjson11_deserializeDocumentThrottlingException(&output, shape) - + err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7271,22 +7400,817 @@ func awsAwsjson11_deserializeErrorThrottlingException(response *smithyhttp.Respo Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - errorBody.Seek(0, io.SeekStart) - return output + return out, metadata, err } -func awsAwsjson11_deserializeErrorVideoTooLargeException(response *smithyhttp.Response, errorBody *bytes.Reader) error { +func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpUpdateDatasetEntries struct { +} + +func (*awsAwsjson11_deserializeOpUpdateDatasetEntries) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateDatasetEntries) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateDatasetEntries(response, &metadata) + } + output := &UpdateDatasetEntriesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentUpdateDatasetEntriesOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorUpdateDatasetEntries(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsAwsjson11_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.AccessDeniedException{} + err := awsAwsjson11_deserializeDocumentAccessDeniedException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorHumanLoopQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.HumanLoopQuotaExceededException{} + err := awsAwsjson11_deserializeDocumentHumanLoopQuotaExceededException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.IdempotentParameterMismatchException{} + err := awsAwsjson11_deserializeDocumentIdempotentParameterMismatchException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorImageTooLargeException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ImageTooLargeException{} + err := awsAwsjson11_deserializeDocumentImageTooLargeException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorInternalServerError(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.InternalServerError{} + err := awsAwsjson11_deserializeDocumentInternalServerError(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorInvalidImageFormatException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.InvalidImageFormatException{} + err := awsAwsjson11_deserializeDocumentInvalidImageFormatException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorInvalidPaginationTokenException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.InvalidPaginationTokenException{} + err := awsAwsjson11_deserializeDocumentInvalidPaginationTokenException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorInvalidParameterException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.InvalidParameterException{} + err := awsAwsjson11_deserializeDocumentInvalidParameterException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorInvalidS3ObjectException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.InvalidS3ObjectException{} + err := awsAwsjson11_deserializeDocumentInvalidS3ObjectException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.LimitExceededException{} + err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ProvisionedThroughputExceededException{} + err := awsAwsjson11_deserializeDocumentProvisionedThroughputExceededException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorResourceAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ResourceAlreadyExistsException{} + err := awsAwsjson11_deserializeDocumentResourceAlreadyExistsException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorResourceInUseException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ResourceInUseException{} + err := awsAwsjson11_deserializeDocumentResourceInUseException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ResourceNotFoundException{} + err := awsAwsjson11_deserializeDocumentResourceNotFoundException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorResourceNotReadyException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ResourceNotReadyException{} + err := awsAwsjson11_deserializeDocumentResourceNotReadyException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorServiceQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ServiceQuotaExceededException{} + err := awsAwsjson11_deserializeDocumentServiceQuotaExceededException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + output := &types.ThrottlingException{} + err := awsAwsjson11_deserializeDocumentThrottlingException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeErrorVideoTooLargeException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ @@ -7299,21 +8223,594 @@ func awsAwsjson11_deserializeErrorVideoTooLargeException(response *smithyhttp.Re output := &types.VideoTooLargeException{} err := awsAwsjson11_deserializeDocumentVideoTooLargeException(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + return output +} + +func awsAwsjson11_deserializeDocumentAccessDeniedException(v **types.AccessDeniedException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AccessDeniedException + if *v == nil { + sv = &types.AccessDeniedException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Code": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Code = ptr.String(jtv) + } + + case "Logref": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Logref = ptr.String(jtv) + } + + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAgeRange(v **types.AgeRange, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AgeRange + if *v == nil { + sv = &types.AgeRange{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "High": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.High = ptr.Int32(int32(i64)) + } + + case "Low": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.Low = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAsset(v **types.Asset, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Asset + if *v == nil { + sv = &types.Asset{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "GroundTruthManifest": + if err := awsAwsjson11_deserializeDocumentGroundTruthManifest(&sv.GroundTruthManifest, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAssets(v *[]types.Asset, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Asset + if *v == nil { + cv = []types.Asset{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Asset + destAddr := &col + if err := awsAwsjson11_deserializeDocumentAsset(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentAudioMetadata(v **types.AudioMetadata, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AudioMetadata + if *v == nil { + sv = &types.AudioMetadata{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Codec": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Codec = ptr.String(jtv) + } + + case "DurationMillis": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ULong to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.DurationMillis = ptr.Int64(i64) + } + + case "NumberOfChannels": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ULong to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.NumberOfChannels = ptr.Int64(i64) + } + + case "SampleRate": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ULong to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.SampleRate = ptr.Int64(i64) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAudioMetadataList(v *[]types.AudioMetadata, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.AudioMetadata + if *v == nil { + cv = []types.AudioMetadata{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.AudioMetadata + destAddr := &col + if err := awsAwsjson11_deserializeDocumentAudioMetadata(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentBeard(v **types.Beard, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Beard + if *v == nil { + sv = &types.Beard{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Confidence": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + + } + } + + case "Value": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.Value = jtv + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentBodyParts(v *[]types.ProtectiveEquipmentBodyPart, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ProtectiveEquipmentBodyPart + if *v == nil { + cv = []types.ProtectiveEquipmentBodyPart{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ProtectiveEquipmentBodyPart + destAddr := &col + if err := awsAwsjson11_deserializeDocumentProtectiveEquipmentBodyPart(&destAddr, value); err != nil { + return err } - return err + col = *destAddr + cv = append(cv, col) + } + *v = cv + return nil +} - errorBody.Seek(0, io.SeekStart) - return output +func awsAwsjson11_deserializeDocumentBoundingBox(v **types.BoundingBox, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.BoundingBox + if *v == nil { + sv = &types.BoundingBox{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Height": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Height = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Height = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) + + } + } + + case "Left": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Left = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Left = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) + + } + } + + case "Top": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Top = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Top = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) + + } + } + + case "Width": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Width = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Width = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil } -func awsAwsjson11_deserializeDocumentAccessDeniedException(v **types.AccessDeniedException, value interface{}) error { +func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7326,40 +8823,80 @@ func awsAwsjson11_deserializeDocumentAccessDeniedException(v **types.AccessDenie return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AccessDeniedException + var sv *types.Celebrity if *v == nil { - sv = &types.AccessDeniedException{} + sv = &types.Celebrity{} } else { sv = *v } for key, value := range shape { switch key { - case "Code": + case "Face": + if err := awsAwsjson11_deserializeDocumentComparedFace(&sv.Face, value); err != nil { + return err + } + + case "Id": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected RekognitionUniqueId to be of type string, got %T instead", value) } - sv.Code = ptr.String(jtv) + sv.Id = ptr.String(jtv) } - case "Logref": + case "KnownGender": + if err := awsAwsjson11_deserializeDocumentKnownGender(&sv.KnownGender, value); err != nil { + return err + } + + case "MatchConfidence": if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.MatchConfidence = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.MatchConfidence = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + } - sv.Logref = ptr.String(jtv) } - case "Message": + case "Name": if value != nil { jtv, ok := value.(string) if !ok { return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.Message = ptr.String(jtv) + sv.Name = ptr.String(jtv) + } + + case "Urls": + if err := awsAwsjson11_deserializeDocumentUrls(&sv.Urls, value); err != nil { + return err } default: @@ -7371,7 +8908,7 @@ func awsAwsjson11_deserializeDocumentAccessDeniedException(v **types.AccessDenie return nil } -func awsAwsjson11_deserializeDocumentAgeRange(v **types.AgeRange, value interface{}) error { +func awsAwsjson11_deserializeDocumentCelebrityDetail(v **types.CelebrityDetail, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7384,74 +8921,84 @@ func awsAwsjson11_deserializeDocumentAgeRange(v **types.AgeRange, value interfac return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AgeRange + var sv *types.CelebrityDetail if *v == nil { - sv = &types.AgeRange{} + sv = &types.CelebrityDetail{} } else { sv = *v } for key, value := range shape { switch key { - case "High": + case "BoundingBox": + if err := awsAwsjson11_deserializeDocumentBoundingBox(&sv.BoundingBox, value); err != nil { + return err + } + + case "Confidence": if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + } - sv.High = ptr.Int32(int32(i64)) } - case "Low": + case "Face": + if err := awsAwsjson11_deserializeDocumentFaceDetail(&sv.Face, value); err != nil { + return err + } + + case "Id": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected RekognitionUniqueId to be of type string, got %T instead", value) } - sv.Low = ptr.Int32(int32(i64)) + sv.Id = ptr.String(jtv) } - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentAsset(v **types.Asset, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } + case "KnownGender": + if err := awsAwsjson11_deserializeDocumentKnownGender(&sv.KnownGender, value); err != nil { + return err + } - var sv *types.Asset - if *v == nil { - sv = &types.Asset{} - } else { - sv = *v - } + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } - for key, value := range shape { - switch key { - case "GroundTruthManifest": - if err := awsAwsjson11_deserializeDocumentGroundTruthManifest(&sv.GroundTruthManifest, value); err != nil { + case "Urls": + if err := awsAwsjson11_deserializeDocumentUrls(&sv.Urls, value); err != nil { return err } @@ -7464,7 +9011,7 @@ func awsAwsjson11_deserializeDocumentAsset(v **types.Asset, value interface{}) e return nil } -func awsAwsjson11_deserializeDocumentAssets(v *[]types.Asset, value interface{}) error { +func awsAwsjson11_deserializeDocumentCelebrityList(v *[]types.Celebrity, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7477,17 +9024,17 @@ func awsAwsjson11_deserializeDocumentAssets(v *[]types.Asset, value interface{}) return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Asset + var cv []types.Celebrity if *v == nil { - cv = []types.Asset{} + cv = []types.Celebrity{} } else { cv = *v } for _, value := range shape { - var col types.Asset + var col types.Celebrity destAddr := &col - if err := awsAwsjson11_deserializeDocumentAsset(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentCelebrity(&destAddr, value); err != nil { return err } col = *destAddr @@ -7498,7 +9045,7 @@ func awsAwsjson11_deserializeDocumentAssets(v *[]types.Asset, value interface{}) return nil } -func awsAwsjson11_deserializeDocumentAudioMetadata(v **types.AudioMetadata, value interface{}) error { +func awsAwsjson11_deserializeDocumentCelebrityRecognition(v **types.CelebrityRecognition, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7511,61 +9058,31 @@ func awsAwsjson11_deserializeDocumentAudioMetadata(v **types.AudioMetadata, valu return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AudioMetadata + var sv *types.CelebrityRecognition if *v == nil { - sv = &types.AudioMetadata{} + sv = &types.CelebrityRecognition{} } else { sv = *v } for key, value := range shape { switch key { - case "Codec": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Codec = ptr.String(jtv) - } - - case "DurationMillis": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ULong to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.DurationMillis = ptr.Int64(i64) - } - - case "NumberOfChannels": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ULong to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.NumberOfChannels = ptr.Int64(i64) + case "Celebrity": + if err := awsAwsjson11_deserializeDocumentCelebrityDetail(&sv.Celebrity, value); err != nil { + return err } - case "SampleRate": + case "Timestamp": if value != nil { jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected ULong to be json.Number, got %T instead", value) + return fmt.Errorf("expected Timestamp to be json.Number, got %T instead", value) } i64, err := jtv.Int64() if err != nil { return err } - sv.SampleRate = ptr.Int64(i64) + sv.Timestamp = i64 } default: @@ -7577,7 +9094,7 @@ func awsAwsjson11_deserializeDocumentAudioMetadata(v **types.AudioMetadata, valu return nil } -func awsAwsjson11_deserializeDocumentAudioMetadataList(v *[]types.AudioMetadata, value interface{}) error { +func awsAwsjson11_deserializeDocumentCelebrityRecognitions(v *[]types.CelebrityRecognition, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7590,17 +9107,17 @@ func awsAwsjson11_deserializeDocumentAudioMetadataList(v *[]types.AudioMetadata, return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.AudioMetadata + var cv []types.CelebrityRecognition if *v == nil { - cv = []types.AudioMetadata{} + cv = []types.CelebrityRecognition{} } else { cv = *v } for _, value := range shape { - var col types.AudioMetadata + var col types.CelebrityRecognition destAddr := &col - if err := awsAwsjson11_deserializeDocumentAudioMetadata(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentCelebrityRecognition(&destAddr, value); err != nil { return err } col = *destAddr @@ -7611,7 +9128,43 @@ func awsAwsjson11_deserializeDocumentAudioMetadataList(v *[]types.AudioMetadata, return nil } -func awsAwsjson11_deserializeDocumentBeard(v **types.Beard, value interface{}) error { +func awsAwsjson11_deserializeDocumentCollectionIdList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CollectionId to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentComparedFace(v **types.ComparedFace, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7624,15 +9177,20 @@ func awsAwsjson11_deserializeDocumentBeard(v **types.Beard, value interface{}) e return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Beard + var sv *types.ComparedFace if *v == nil { - sv = &types.Beard{} + sv = &types.ComparedFace{} } else { sv = *v } for key, value := range shape { switch key { + case "BoundingBox": + if err := awsAwsjson11_deserializeDocumentBoundingBox(&sv.BoundingBox, value); err != nil { + return err + } + case "Confidence": if value != nil { switch jtv := value.(type) { @@ -7667,13 +9225,29 @@ func awsAwsjson11_deserializeDocumentBeard(v **types.Beard, value interface{}) e } } - case "Value": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) - } - sv.Value = jtv + case "Emotions": + if err := awsAwsjson11_deserializeDocumentEmotions(&sv.Emotions, value); err != nil { + return err + } + + case "Landmarks": + if err := awsAwsjson11_deserializeDocumentLandmarks(&sv.Landmarks, value); err != nil { + return err + } + + case "Pose": + if err := awsAwsjson11_deserializeDocumentPose(&sv.Pose, value); err != nil { + return err + } + + case "Quality": + if err := awsAwsjson11_deserializeDocumentImageQuality(&sv.Quality, value); err != nil { + return err + } + + case "Smile": + if err := awsAwsjson11_deserializeDocumentSmile(&sv.Smile, value); err != nil { + return err } default: @@ -7685,7 +9259,7 @@ func awsAwsjson11_deserializeDocumentBeard(v **types.Beard, value interface{}) e return nil } -func awsAwsjson11_deserializeDocumentBodyParts(v *[]types.ProtectiveEquipmentBodyPart, value interface{}) error { +func awsAwsjson11_deserializeDocumentComparedFaceList(v *[]types.ComparedFace, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7698,17 +9272,17 @@ func awsAwsjson11_deserializeDocumentBodyParts(v *[]types.ProtectiveEquipmentBod return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ProtectiveEquipmentBodyPart + var cv []types.ComparedFace if *v == nil { - cv = []types.ProtectiveEquipmentBodyPart{} + cv = []types.ComparedFace{} } else { cv = *v } for _, value := range shape { - var col types.ProtectiveEquipmentBodyPart + var col types.ComparedFace destAddr := &col - if err := awsAwsjson11_deserializeDocumentProtectiveEquipmentBodyPart(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentComparedFace(&destAddr, value); err != nil { return err } col = *destAddr @@ -7719,7 +9293,7 @@ func awsAwsjson11_deserializeDocumentBodyParts(v *[]types.ProtectiveEquipmentBod return nil } -func awsAwsjson11_deserializeDocumentBoundingBox(v **types.BoundingBox, value interface{}) error { +func awsAwsjson11_deserializeDocumentComparedSourceImageFace(v **types.ComparedSourceImageFace, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7732,118 +9306,21 @@ func awsAwsjson11_deserializeDocumentBoundingBox(v **types.BoundingBox, value in return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.BoundingBox + var sv *types.ComparedSourceImageFace if *v == nil { - sv = &types.BoundingBox{} + sv = &types.ComparedSourceImageFace{} } else { sv = *v } for key, value := range shape { switch key { - case "Height": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Height = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Height = ptr.Float32(float32(f64)) - - default: - return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) - - } - } - - case "Left": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Left = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Left = ptr.Float32(float32(f64)) - - default: - return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) - - } - } - - case "Top": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Top = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Top = ptr.Float32(float32(f64)) - - default: - return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) - - } + case "BoundingBox": + if err := awsAwsjson11_deserializeDocumentBoundingBox(&sv.BoundingBox, value); err != nil { + return err } - case "Width": + case "Confidence": if value != nil { switch jtv := value.(type) { case json.Number: @@ -7851,7 +9328,7 @@ func awsAwsjson11_deserializeDocumentBoundingBox(v **types.BoundingBox, value in if err != nil { return err } - sv.Width = ptr.Float32(float32(f64)) + sv.Confidence = ptr.Float32(float32(f64)) case string: var f64 float64 @@ -7869,10 +9346,10 @@ func awsAwsjson11_deserializeDocumentBoundingBox(v **types.BoundingBox, value in return fmt.Errorf("unknown JSON number value: %s", jtv) } - sv.Width = ptr.Float32(float32(f64)) + sv.Confidence = ptr.Float32(float32(f64)) default: - return fmt.Errorf("expected Float to be a JSON Number, got %T instead", value) + return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) } } @@ -7886,7 +9363,7 @@ func awsAwsjson11_deserializeDocumentBoundingBox(v **types.BoundingBox, value in return nil } -func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interface{}) error { +func awsAwsjson11_deserializeDocumentCompareFacesMatch(v **types.CompareFacesMatch, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7899,9 +9376,9 @@ func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interf return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Celebrity + var sv *types.CompareFacesMatch if *v == nil { - sv = &types.Celebrity{} + sv = &types.CompareFacesMatch{} } else { sv = *v } @@ -7913,21 +9390,7 @@ func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interf return err } - case "Id": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RekognitionUniqueId to be of type string, got %T instead", value) - } - sv.Id = ptr.String(jtv) - } - - case "KnownGender": - if err := awsAwsjson11_deserializeDocumentKnownGender(&sv.KnownGender, value); err != nil { - return err - } - - case "MatchConfidence": + case "Similarity": if value != nil { switch jtv := value.(type) { case json.Number: @@ -7935,7 +9398,7 @@ func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interf if err != nil { return err } - sv.MatchConfidence = ptr.Float32(float32(f64)) + sv.Similarity = ptr.Float32(float32(f64)) case string: var f64 float64 @@ -7953,7 +9416,7 @@ func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interf return fmt.Errorf("unknown JSON number value: %s", jtv) } - sv.MatchConfidence = ptr.Float32(float32(f64)) + sv.Similarity = ptr.Float32(float32(f64)) default: return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) @@ -7961,20 +9424,6 @@ func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interf } } - case "Name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "Urls": - if err := awsAwsjson11_deserializeDocumentUrls(&sv.Urls, value); err != nil { - return err - } - default: _, _ = key, value @@ -7984,7 +9433,7 @@ func awsAwsjson11_deserializeDocumentCelebrity(v **types.Celebrity, value interf return nil } -func awsAwsjson11_deserializeDocumentCelebrityDetail(v **types.CelebrityDetail, value interface{}) error { +func awsAwsjson11_deserializeDocumentCompareFacesMatchList(v *[]types.CompareFacesMatch, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -7992,97 +9441,33 @@ func awsAwsjson11_deserializeDocumentCelebrityDetail(v **types.CelebrityDetail, return nil } - shape, ok := value.(map[string]interface{}) + shape, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.CelebrityDetail + var cv []types.CompareFacesMatch if *v == nil { - sv = &types.CelebrityDetail{} + cv = []types.CompareFacesMatch{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "BoundingBox": - if err := awsAwsjson11_deserializeDocumentBoundingBox(&sv.BoundingBox, value); err != nil { - return err - } - - case "Confidence": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Confidence = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Confidence = ptr.Float32(float32(f64)) - - default: - return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) - - } - } - - case "Face": - if err := awsAwsjson11_deserializeDocumentFaceDetail(&sv.Face, value); err != nil { - return err - } - - case "Id": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RekognitionUniqueId to be of type string, got %T instead", value) - } - sv.Id = ptr.String(jtv) - } - - case "Name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "Urls": - if err := awsAwsjson11_deserializeDocumentUrls(&sv.Urls, value); err != nil { - return err - } - - default: - _, _ = key, value + for _, value := range shape { + var col types.CompareFacesMatch + destAddr := &col + if err := awsAwsjson11_deserializeDocumentCompareFacesMatch(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) - } } - *v = sv + *v = cv return nil } -func awsAwsjson11_deserializeDocumentCelebrityList(v *[]types.Celebrity, value interface{}) error { +func awsAwsjson11_deserializeDocumentCompareFacesUnmatchList(v *[]types.ComparedFace, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8095,17 +9480,17 @@ func awsAwsjson11_deserializeDocumentCelebrityList(v *[]types.Celebrity, value i return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Celebrity + var cv []types.ComparedFace if *v == nil { - cv = []types.Celebrity{} + cv = []types.ComparedFace{} } else { cv = *v } for _, value := range shape { - var col types.Celebrity + var col types.ComparedFace destAddr := &col - if err := awsAwsjson11_deserializeDocumentCelebrity(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentComparedFace(&destAddr, value); err != nil { return err } col = *destAddr @@ -8116,7 +9501,7 @@ func awsAwsjson11_deserializeDocumentCelebrityList(v *[]types.Celebrity, value i return nil } -func awsAwsjson11_deserializeDocumentCelebrityRecognition(v **types.CelebrityRecognition, value interface{}) error { +func awsAwsjson11_deserializeDocumentContentModerationDetection(v **types.ContentModerationDetection, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8129,17 +9514,17 @@ func awsAwsjson11_deserializeDocumentCelebrityRecognition(v **types.CelebrityRec return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.CelebrityRecognition + var sv *types.ContentModerationDetection if *v == nil { - sv = &types.CelebrityRecognition{} + sv = &types.ContentModerationDetection{} } else { sv = *v } for key, value := range shape { switch key { - case "Celebrity": - if err := awsAwsjson11_deserializeDocumentCelebrityDetail(&sv.Celebrity, value); err != nil { + case "ModerationLabel": + if err := awsAwsjson11_deserializeDocumentModerationLabel(&sv.ModerationLabel, value); err != nil { return err } @@ -8165,7 +9550,7 @@ func awsAwsjson11_deserializeDocumentCelebrityRecognition(v **types.CelebrityRec return nil } -func awsAwsjson11_deserializeDocumentCelebrityRecognitions(v *[]types.CelebrityRecognition, value interface{}) error { +func awsAwsjson11_deserializeDocumentContentModerationDetections(v *[]types.ContentModerationDetection, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8178,17 +9563,17 @@ func awsAwsjson11_deserializeDocumentCelebrityRecognitions(v *[]types.CelebrityR return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.CelebrityRecognition + var cv []types.ContentModerationDetection if *v == nil { - cv = []types.CelebrityRecognition{} + cv = []types.ContentModerationDetection{} } else { cv = *v } for _, value := range shape { - var col types.CelebrityRecognition + var col types.ContentModerationDetection destAddr := &col - if err := awsAwsjson11_deserializeDocumentCelebrityRecognition(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentContentModerationDetection(&destAddr, value); err != nil { return err } col = *destAddr @@ -8199,7 +9584,7 @@ func awsAwsjson11_deserializeDocumentCelebrityRecognitions(v *[]types.CelebrityR return nil } -func awsAwsjson11_deserializeDocumentCollectionIdList(v *[]string, value interface{}) error { +func awsAwsjson11_deserializeDocumentCoversBodyPart(v **types.CoversBodyPart, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8207,35 +9592,73 @@ func awsAwsjson11_deserializeDocumentCollectionIdList(v *[]string, value interfa return nil } - shape, ok := value.([]interface{}) + shape, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var cv []string + var sv *types.CoversBodyPart if *v == nil { - cv = []string{} + sv = &types.CoversBodyPart{} } else { - cv = *v + sv = *v } - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CollectionId to be of type string, got %T instead", value) + for key, value := range shape { + switch key { + case "Confidence": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Confidence = ptr.Float32(float32(f64)) + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Confidence = ptr.Float32(float32(f64)) + + default: + return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + + } + } + + case "Value": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.Value = jtv } - col = jtv - } - cv = append(cv, col) + default: + _, _ = key, value + + } } - *v = cv + *v = sv return nil } -func awsAwsjson11_deserializeDocumentComparedFace(v **types.ComparedFace, value interface{}) error { +func awsAwsjson11_deserializeDocumentCustomLabel(v **types.CustomLabel, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8248,20 +9671,15 @@ func awsAwsjson11_deserializeDocumentComparedFace(v **types.ComparedFace, value return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ComparedFace + var sv *types.CustomLabel if *v == nil { - sv = &types.ComparedFace{} + sv = &types.CustomLabel{} } else { sv = *v } for key, value := range shape { switch key { - case "BoundingBox": - if err := awsAwsjson11_deserializeDocumentBoundingBox(&sv.BoundingBox, value); err != nil { - return err - } - case "Confidence": if value != nil { switch jtv := value.(type) { @@ -8296,29 +9714,18 @@ func awsAwsjson11_deserializeDocumentComparedFace(v **types.ComparedFace, value } } - case "Emotions": - if err := awsAwsjson11_deserializeDocumentEmotions(&sv.Emotions, value); err != nil { - return err - } - - case "Landmarks": - if err := awsAwsjson11_deserializeDocumentLandmarks(&sv.Landmarks, value); err != nil { - return err - } - - case "Pose": - if err := awsAwsjson11_deserializeDocumentPose(&sv.Pose, value); err != nil { - return err - } - - case "Quality": - if err := awsAwsjson11_deserializeDocumentImageQuality(&sv.Quality, value); err != nil { + case "Geometry": + if err := awsAwsjson11_deserializeDocumentGeometry(&sv.Geometry, value); err != nil { return err } - case "Smile": - if err := awsAwsjson11_deserializeDocumentSmile(&sv.Smile, value); err != nil { - return err + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) } default: @@ -8330,7 +9737,7 @@ func awsAwsjson11_deserializeDocumentComparedFace(v **types.ComparedFace, value return nil } -func awsAwsjson11_deserializeDocumentComparedFaceList(v *[]types.ComparedFace, value interface{}) error { +func awsAwsjson11_deserializeDocumentCustomLabels(v *[]types.CustomLabel, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8343,17 +9750,17 @@ func awsAwsjson11_deserializeDocumentComparedFaceList(v *[]types.ComparedFace, v return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ComparedFace + var cv []types.CustomLabel if *v == nil { - cv = []types.ComparedFace{} + cv = []types.CustomLabel{} } else { cv = *v } for _, value := range shape { - var col types.ComparedFace + var col types.CustomLabel destAddr := &col - if err := awsAwsjson11_deserializeDocumentComparedFace(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentCustomLabel(&destAddr, value); err != nil { return err } col = *destAddr @@ -8364,7 +9771,7 @@ func awsAwsjson11_deserializeDocumentComparedFaceList(v *[]types.ComparedFace, v return nil } -func awsAwsjson11_deserializeDocumentComparedSourceImageFace(v **types.ComparedSourceImageFace, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetDescription(v **types.DatasetDescription, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8377,21 +9784,16 @@ func awsAwsjson11_deserializeDocumentComparedSourceImageFace(v **types.ComparedS return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ComparedSourceImageFace + var sv *types.DatasetDescription if *v == nil { - sv = &types.ComparedSourceImageFace{} + sv = &types.DatasetDescription{} } else { sv = *v } for key, value := range shape { switch key { - case "BoundingBox": - if err := awsAwsjson11_deserializeDocumentBoundingBox(&sv.BoundingBox, value); err != nil { - return err - } - - case "Confidence": + case "CreationTimestamp": if value != nil { switch jtv := value.(type) { case json.Number: @@ -8399,69 +9801,20 @@ func awsAwsjson11_deserializeDocumentComparedSourceImageFace(v **types.ComparedS if err != nil { return err } - sv.Confidence = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Confidence = ptr.Float32(float32(f64)) + sv.CreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) default: - return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) } } - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentCompareFacesMatch(v **types.CompareFacesMatch, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.CompareFacesMatch - if *v == nil { - sv = &types.CompareFacesMatch{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "Face": - if err := awsAwsjson11_deserializeDocumentComparedFace(&sv.Face, value); err != nil { + case "DatasetStats": + if err := awsAwsjson11_deserializeDocumentDatasetStats(&sv.DatasetStats, value); err != nil { return err } - case "Similarity": + case "LastUpdatedTimestamp": if value != nil { switch jtv := value.(type) { case json.Number: @@ -8469,30 +9822,39 @@ func awsAwsjson11_deserializeDocumentCompareFacesMatch(v **types.CompareFacesMat if err != nil { return err } - sv.Similarity = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) + sv.LastUpdatedTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) + } + } - } - sv.Similarity = ptr.Float32(float32(f64)) + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetStatus to be of type string, got %T instead", value) + } + sv.Status = types.DatasetStatus(jtv) + } - default: - return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + case "StatusMessage": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected StatusMessage to be of type string, got %T instead", value) + } + sv.StatusMessage = ptr.String(jtv) + } + case "StatusMessageCode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetStatusMessageCode to be of type string, got %T instead", value) } + sv.StatusMessageCode = types.DatasetStatusMessageCode(jtv) } default: @@ -8504,41 +9866,7 @@ func awsAwsjson11_deserializeDocumentCompareFacesMatch(v **types.CompareFacesMat return nil } -func awsAwsjson11_deserializeDocumentCompareFacesMatchList(v *[]types.CompareFacesMatch, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.CompareFacesMatch - if *v == nil { - cv = []types.CompareFacesMatch{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.CompareFacesMatch - destAddr := &col - if err := awsAwsjson11_deserializeDocumentCompareFacesMatch(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentCompareFacesUnmatchList(v *[]types.ComparedFace, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetEntries(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8551,20 +9879,22 @@ func awsAwsjson11_deserializeDocumentCompareFacesUnmatchList(v *[]types.Compared return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ComparedFace + var cv []string if *v == nil { - cv = []types.ComparedFace{} + cv = []string{} } else { cv = *v } for _, value := range shape { - var col types.ComparedFace - destAddr := &col - if err := awsAwsjson11_deserializeDocumentComparedFace(&destAddr, value); err != nil { - return err + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetEntry to be of type string, got %T instead", value) + } + col = jtv } - col = *destAddr cv = append(cv, col) } @@ -8572,7 +9902,7 @@ func awsAwsjson11_deserializeDocumentCompareFacesUnmatchList(v *[]types.Compared return nil } -func awsAwsjson11_deserializeDocumentContentModerationDetection(v **types.ContentModerationDetection, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetLabelDescription(v **types.DatasetLabelDescription, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8585,31 +9915,27 @@ func awsAwsjson11_deserializeDocumentContentModerationDetection(v **types.Conten return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ContentModerationDetection + var sv *types.DatasetLabelDescription if *v == nil { - sv = &types.ContentModerationDetection{} + sv = &types.DatasetLabelDescription{} } else { sv = *v } for key, value := range shape { switch key { - case "ModerationLabel": - if err := awsAwsjson11_deserializeDocumentModerationLabel(&sv.ModerationLabel, value); err != nil { - return err - } - - case "Timestamp": + case "LabelName": if value != nil { - jtv, ok := value.(json.Number) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Timestamp to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err + return fmt.Errorf("expected DatasetLabel to be of type string, got %T instead", value) } - sv.Timestamp = i64 + sv.LabelName = ptr.String(jtv) + } + + case "LabelStats": + if err := awsAwsjson11_deserializeDocumentDatasetLabelStats(&sv.LabelStats, value); err != nil { + return err } default: @@ -8621,7 +9947,7 @@ func awsAwsjson11_deserializeDocumentContentModerationDetection(v **types.Conten return nil } -func awsAwsjson11_deserializeDocumentContentModerationDetections(v *[]types.ContentModerationDetection, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetLabelDescriptions(v *[]types.DatasetLabelDescription, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8634,17 +9960,17 @@ func awsAwsjson11_deserializeDocumentContentModerationDetections(v *[]types.Cont return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ContentModerationDetection + var cv []types.DatasetLabelDescription if *v == nil { - cv = []types.ContentModerationDetection{} + cv = []types.DatasetLabelDescription{} } else { cv = *v } for _, value := range shape { - var col types.ContentModerationDetection + var col types.DatasetLabelDescription destAddr := &col - if err := awsAwsjson11_deserializeDocumentContentModerationDetection(&destAddr, value); err != nil { + if err := awsAwsjson11_deserializeDocumentDatasetLabelDescription(&destAddr, value); err != nil { return err } col = *destAddr @@ -8655,7 +9981,7 @@ func awsAwsjson11_deserializeDocumentContentModerationDetections(v *[]types.Cont return nil } -func awsAwsjson11_deserializeDocumentCoversBodyPart(v **types.CoversBodyPart, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetLabelStats(v **types.DatasetLabelStats, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8668,56 +9994,39 @@ func awsAwsjson11_deserializeDocumentCoversBodyPart(v **types.CoversBodyPart, va return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.CoversBodyPart + var sv *types.DatasetLabelStats if *v == nil { - sv = &types.CoversBodyPart{} + sv = &types.DatasetLabelStats{} } else { sv = *v } for key, value := range shape { switch key { - case "Confidence": + case "BoundingBoxCount": if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Confidence = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Confidence = ptr.Float32(float32(f64)) - - default: - return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) - + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.BoundingBoxCount = ptr.Int32(int32(i64)) } - case "Value": + case "EntryCount": if value != nil { - jtv, ok := value.(bool) + jtv, ok := value.(json.Number) if !ok { - return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) } - sv.Value = jtv + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.EntryCount = ptr.Int32(int32(i64)) } default: @@ -8729,7 +10038,7 @@ func awsAwsjson11_deserializeDocumentCoversBodyPart(v **types.CoversBodyPart, va return nil } -func awsAwsjson11_deserializeDocumentCustomLabel(v **types.CustomLabel, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetMetadata(v **types.DatasetMetadata, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8742,16 +10051,16 @@ func awsAwsjson11_deserializeDocumentCustomLabel(v **types.CustomLabel, value in return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.CustomLabel + var sv *types.DatasetMetadata if *v == nil { - sv = &types.CustomLabel{} + sv = &types.DatasetMetadata{} } else { sv = *v } for key, value := range shape { switch key { - case "Confidence": + case "CreationTimestamp": if value != nil { switch jtv := value.(type) { case json.Number: @@ -8759,44 +10068,57 @@ func awsAwsjson11_deserializeDocumentCustomLabel(v **types.CustomLabel, value in if err != nil { return err } - sv.Confidence = ptr.Float32(float32(f64)) - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) + sv.CreationTimestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) + default: + return fmt.Errorf("expected DateTime to be a JSON Number, got %T instead", value) - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) + } + } - } - sv.Confidence = ptr.Float32(float32(f64)) + case "DatasetArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetArn to be of type string, got %T instead", value) + } + sv.DatasetArn = ptr.String(jtv) + } - default: - return fmt.Errorf("expected Percent to be a JSON Number, got %T instead", value) + case "DatasetType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetType to be of type string, got %T instead", value) + } + sv.DatasetType = types.DatasetType(jtv) + } + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetStatus to be of type string, got %T instead", value) } + sv.Status = types.DatasetStatus(jtv) } - case "Geometry": - if err := awsAwsjson11_deserializeDocumentGeometry(&sv.Geometry, value); err != nil { - return err + case "StatusMessage": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected StatusMessage to be of type string, got %T instead", value) + } + sv.StatusMessage = ptr.String(jtv) } - case "Name": + case "StatusMessageCode": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected DatasetStatusMessageCode to be of type string, got %T instead", value) } - sv.Name = ptr.String(jtv) + sv.StatusMessageCode = types.DatasetStatusMessageCode(jtv) } default: @@ -8808,7 +10130,7 @@ func awsAwsjson11_deserializeDocumentCustomLabel(v **types.CustomLabel, value in return nil } -func awsAwsjson11_deserializeDocumentCustomLabels(v *[]types.CustomLabel, value interface{}) error { +func awsAwsjson11_deserializeDocumentDatasetMetadataList(v *[]types.DatasetMetadata, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -8821,24 +10143,107 @@ func awsAwsjson11_deserializeDocumentCustomLabels(v *[]types.CustomLabel, value return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.CustomLabel - if *v == nil { - cv = []types.CustomLabel{} - } else { - cv = *v - } + var cv []types.DatasetMetadata + if *v == nil { + cv = []types.DatasetMetadata{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.DatasetMetadata + destAddr := &col + if err := awsAwsjson11_deserializeDocumentDatasetMetadata(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentDatasetStats(v **types.DatasetStats, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.DatasetStats + if *v == nil { + sv = &types.DatasetStats{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ErrorEntries": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ErrorEntries = ptr.Int32(int32(i64)) + } + + case "LabeledEntries": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.LabeledEntries = ptr.Int32(int32(i64)) + } + + case "TotalEntries": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TotalEntries = ptr.Int32(int32(i64)) + } + + case "TotalLabels": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected UInteger to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TotalLabels = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value - for _, value := range shape { - var col types.CustomLabel - destAddr := &col - if err := awsAwsjson11_deserializeDocumentCustomLabel(&destAddr, value); err != nil { - return err } - col = *destAddr - cv = append(cv, col) - } - *v = cv + *v = sv return nil } @@ -12367,6 +13772,11 @@ func awsAwsjson11_deserializeDocumentProjectDescription(v **types.ProjectDescrip } } + case "Datasets": + if err := awsAwsjson11_deserializeDocumentDatasetMetadataList(&sv.Datasets, value); err != nil { + return err + } + case "ProjectArn": if value != nil { jtv, ok := value.(string) @@ -15134,6 +16544,46 @@ func awsAwsjson11_deserializeOpDocumentCreateCollectionOutput(v **CreateCollecti return nil } +func awsAwsjson11_deserializeOpDocumentCreateDatasetOutput(v **CreateDatasetOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *CreateDatasetOutput + if *v == nil { + sv = &CreateDatasetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DatasetArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatasetArn to be of type string, got %T instead", value) + } + sv.DatasetArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentCreateProjectOutput(v **CreateProjectOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -15298,6 +16748,37 @@ func awsAwsjson11_deserializeOpDocumentDeleteCollectionOutput(v **DeleteCollecti return nil } +func awsAwsjson11_deserializeOpDocumentDeleteDatasetOutput(v **DeleteDatasetOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DeleteDatasetOutput + if *v == nil { + sv = &DeleteDatasetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDeleteFacesOutput(v **DeleteFacesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -15523,6 +17004,42 @@ func awsAwsjson11_deserializeOpDocumentDescribeCollectionOutput(v **DescribeColl return nil } +func awsAwsjson11_deserializeOpDocumentDescribeDatasetOutput(v **DescribeDatasetOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeDatasetOutput + if *v == nil { + sv = &DescribeDatasetOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DatasetDescription": + if err := awsAwsjson11_deserializeDocumentDatasetDescription(&sv.DatasetDescription, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDescribeProjectsOutput(v **DescribeProjectsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -16016,6 +17533,37 @@ func awsAwsjson11_deserializeOpDocumentDetectTextOutput(v **DetectTextOutput, va return nil } +func awsAwsjson11_deserializeOpDocumentDistributeDatasetEntriesOutput(v **DistributeDatasetEntriesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DistributeDatasetEntriesOutput + if *v == nil { + sv = &DistributeDatasetEntriesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentGetCelebrityInfoOutput(v **GetCelebrityInfoOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -16756,6 +18304,96 @@ func awsAwsjson11_deserializeOpDocumentListCollectionsOutput(v **ListCollections return nil } +func awsAwsjson11_deserializeOpDocumentListDatasetEntriesOutput(v **ListDatasetEntriesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListDatasetEntriesOutput + if *v == nil { + sv = &ListDatasetEntriesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DatasetEntries": + if err := awsAwsjson11_deserializeDocumentDatasetEntries(&sv.DatasetEntries, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExtendedPaginationToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeOpDocumentListDatasetLabelsOutput(v **ListDatasetLabelsOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListDatasetLabelsOutput + if *v == nil { + sv = &ListDatasetLabelsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DatasetLabelDescriptions": + if err := awsAwsjson11_deserializeDocumentDatasetLabelDescriptions(&sv.DatasetLabelDescriptions, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExtendedPaginationToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentListFacesOutput(v **ListFacesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -17602,3 +19240,34 @@ func awsAwsjson11_deserializeOpDocumentUntagResourceOutput(v **UntagResourceOutp *v = sv return nil } + +func awsAwsjson11_deserializeOpDocumentUpdateDatasetEntriesOutput(v **UpdateDatasetEntriesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateDatasetEntriesOutput + if *v == nil { + sv = &UpdateDatasetEntriesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} diff --git a/service/rekognition/generated.json b/service/rekognition/generated.json index 0e08c71ed95..37cda225da7 100644 --- a/service/rekognition/generated.json +++ b/service/rekognition/generated.json @@ -8,15 +8,18 @@ "api_client.go", "api_op_CompareFaces.go", "api_op_CreateCollection.go", + "api_op_CreateDataset.go", "api_op_CreateProject.go", "api_op_CreateProjectVersion.go", "api_op_CreateStreamProcessor.go", "api_op_DeleteCollection.go", + "api_op_DeleteDataset.go", "api_op_DeleteFaces.go", "api_op_DeleteProject.go", "api_op_DeleteProjectVersion.go", "api_op_DeleteStreamProcessor.go", "api_op_DescribeCollection.go", + "api_op_DescribeDataset.go", "api_op_DescribeProjectVersions.go", "api_op_DescribeProjects.go", "api_op_DescribeStreamProcessor.go", @@ -26,6 +29,7 @@ "api_op_DetectModerationLabels.go", "api_op_DetectProtectiveEquipment.go", "api_op_DetectText.go", + "api_op_DistributeDatasetEntries.go", "api_op_GetCelebrityInfo.go", "api_op_GetCelebrityRecognition.go", "api_op_GetContentModeration.go", @@ -37,6 +41,8 @@ "api_op_GetTextDetection.go", "api_op_IndexFaces.go", "api_op_ListCollections.go", + "api_op_ListDatasetEntries.go", + "api_op_ListDatasetLabels.go", "api_op_ListFaces.go", "api_op_ListStreamProcessors.go", "api_op_ListTagsForResource.go", @@ -57,6 +63,7 @@ "api_op_StopStreamProcessor.go", "api_op_TagResource.go", "api_op_UntagResource.go", + "api_op_UpdateDatasetEntries.go", "deserializers.go", "doc.go", "endpoints.go", diff --git a/service/rekognition/internal/endpoints/endpoints.go b/service/rekognition/internal/endpoints/endpoints.go index 6eb3373675c..1751ba0acdd 100644 --- a/service/rekognition/internal/endpoints/endpoints.go +++ b/service/rekognition/internal/endpoints/endpoints.go @@ -69,9 +69,15 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "rekognition-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, "rekognition-fips.ca-central-1": endpoints.Endpoint{ Hostname: "rekognition-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -102,10 +108,59 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-west-2", }, }, + "rekognition.ca-central-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "rekognition.us-east-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "rekognition.us-east-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "rekognition.us-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "rekognition.us-west-2": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "rekognition-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "rekognition-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "rekognition-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "rekognition-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -154,7 +209,18 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-gov-west-1", }, }, + "rekognition.us-gov-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/rekognition/serializers.go b/service/rekognition/serializers.go index 631205af91f..4cceff25053 100644 --- a/service/rekognition/serializers.go +++ b/service/rekognition/serializers.go @@ -109,6 +109,53 @@ func (m *awsAwsjson11_serializeOpCreateCollection) HandleSerialize(ctx context.C return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpCreateDataset struct { +} + +func (*awsAwsjson11_serializeOpCreateDataset) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpCreateDataset) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*CreateDatasetInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.CreateDataset") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentCreateDatasetInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpCreateProject struct { } @@ -297,6 +344,53 @@ func (m *awsAwsjson11_serializeOpDeleteCollection) HandleSerialize(ctx context.C return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDeleteDataset struct { +} + +func (*awsAwsjson11_serializeOpDeleteDataset) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDeleteDataset) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteDatasetInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.DeleteDataset") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDeleteDatasetInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDeleteFaces struct { } @@ -532,6 +626,53 @@ func (m *awsAwsjson11_serializeOpDescribeCollection) HandleSerialize(ctx context return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDescribeDataset struct { +} + +func (*awsAwsjson11_serializeOpDescribeDataset) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDescribeDataset) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeDatasetInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.DescribeDataset") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDescribeDatasetInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDescribeProjects struct { } @@ -955,6 +1096,53 @@ func (m *awsAwsjson11_serializeOpDetectText) HandleSerialize(ctx context.Context return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDistributeDatasetEntries struct { +} + +func (*awsAwsjson11_serializeOpDistributeDatasetEntries) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDistributeDatasetEntries) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DistributeDatasetEntriesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.DistributeDatasetEntries") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDistributeDatasetEntriesInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpGetCelebrityInfo struct { } @@ -1472,6 +1660,100 @@ func (m *awsAwsjson11_serializeOpListCollections) HandleSerialize(ctx context.Co return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpListDatasetEntries struct { +} + +func (*awsAwsjson11_serializeOpListDatasetEntries) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListDatasetEntries) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListDatasetEntriesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.ListDatasetEntries") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListDatasetEntriesInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + +type awsAwsjson11_serializeOpListDatasetLabels struct { +} + +func (*awsAwsjson11_serializeOpListDatasetLabels) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListDatasetLabels) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListDatasetLabelsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.ListDatasetLabels") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListDatasetLabelsInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpListFaces struct { } @@ -2411,6 +2693,53 @@ func (m *awsAwsjson11_serializeOpUntagResource) HandleSerialize(ctx context.Cont return next.HandleSerialize(ctx, in) } + +type awsAwsjson11_serializeOpUpdateDatasetEntries struct { +} + +func (*awsAwsjson11_serializeOpUpdateDatasetEntries) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpUpdateDatasetEntries) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateDatasetEntriesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("RekognitionService.UpdateDatasetEntries") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentUpdateDatasetEntriesInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} func awsAwsjson11_serializeDocumentAsset(v *types.Asset, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2582,6 +2911,48 @@ func awsAwsjson11_serializeDocumentContentClassifiers(v []types.ContentClassifie return nil } +func awsAwsjson11_serializeDocumentDatasetChanges(v *types.DatasetChanges, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.GroundTruth != nil { + ok := object.Key("GroundTruth") + ok.Base64EncodeBytes(v.GroundTruth) + } + + return nil +} + +func awsAwsjson11_serializeDocumentDatasetLabels(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsAwsjson11_serializeDocumentDatasetSource(v *types.DatasetSource, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DatasetArn != nil { + ok := object.Key("DatasetArn") + ok.String(*v.DatasetArn) + } + + if v.GroundTruthManifest != nil { + ok := object.Key("GroundTruthManifest") + if err := awsAwsjson11_serializeDocumentGroundTruthManifest(v.GroundTruthManifest, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeDocumentDetectionFilter(v *types.DetectionFilter, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2664,6 +3035,31 @@ func awsAwsjson11_serializeDocumentDetectTextFilters(v *types.DetectTextFilters, return nil } +func awsAwsjson11_serializeDocumentDistributeDataset(v *types.DistributeDataset, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Arn != nil { + ok := object.Key("Arn") + ok.String(*v.Arn) + } + + return nil +} + +func awsAwsjson11_serializeDocumentDistributeDatasetMetadataList(v []types.DistributeDataset, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentDistributeDataset(&v[i], av); err != nil { + return err + } + } + return nil +} + func awsAwsjson11_serializeDocumentFaceIdList(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -2834,6 +3230,17 @@ func awsAwsjson11_serializeDocumentOutputConfig(v *types.OutputConfig, value smi return nil } +func awsAwsjson11_serializeDocumentProjectNames(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsAwsjson11_serializeDocumentProtectiveEquipmentSummarizationAttributes(v *types.ProtectiveEquipmentSummarizationAttributes, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3221,6 +3628,30 @@ func awsAwsjson11_serializeOpDocumentCreateCollectionInput(v *CreateCollectionIn return nil } +func awsAwsjson11_serializeOpDocumentCreateDatasetInput(v *CreateDatasetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DatasetSource != nil { + ok := object.Key("DatasetSource") + if err := awsAwsjson11_serializeDocumentDatasetSource(v.DatasetSource, ok); err != nil { + return err + } + } + + if len(v.DatasetType) > 0 { + ok := object.Key("DatasetType") + ok.String(string(v.DatasetType)) + } + + if v.ProjectArn != nil { + ok := object.Key("ProjectArn") + ok.String(*v.ProjectArn) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentCreateProjectInput(v *CreateProjectInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3340,6 +3771,18 @@ func awsAwsjson11_serializeOpDocumentDeleteCollectionInput(v *DeleteCollectionIn return nil } +func awsAwsjson11_serializeOpDocumentDeleteDatasetInput(v *DeleteDatasetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DatasetArn != nil { + ok := object.Key("DatasetArn") + ok.String(*v.DatasetArn) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDeleteFacesInput(v *DeleteFacesInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3407,6 +3850,18 @@ func awsAwsjson11_serializeOpDocumentDescribeCollectionInput(v *DescribeCollecti return nil } +func awsAwsjson11_serializeOpDocumentDescribeDatasetInput(v *DescribeDatasetInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DatasetArn != nil { + ok := object.Key("DatasetArn") + ok.String(*v.DatasetArn) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDescribeProjectsInput(v *DescribeProjectsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3421,6 +3876,13 @@ func awsAwsjson11_serializeOpDocumentDescribeProjectsInput(v *DescribeProjectsIn ok.String(*v.NextToken) } + if v.ProjectNames != nil { + ok := object.Key("ProjectNames") + if err := awsAwsjson11_serializeDocumentProjectNames(v.ProjectNames, ok); err != nil { + return err + } + } + return nil } @@ -3646,6 +4108,20 @@ func awsAwsjson11_serializeOpDocumentDetectTextInput(v *DetectTextInput, value s return nil } +func awsAwsjson11_serializeOpDocumentDistributeDatasetEntriesInput(v *DistributeDatasetEntriesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Datasets != nil { + ok := object.Key("Datasets") + if err := awsAwsjson11_serializeDocumentDistributeDatasetMetadataList(v.Datasets, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeOpDocumentGetCelebrityInfoInput(v *GetCelebrityInfoInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3917,6 +4393,72 @@ func awsAwsjson11_serializeOpDocumentListCollectionsInput(v *ListCollectionsInpu return nil } +func awsAwsjson11_serializeOpDocumentListDatasetEntriesInput(v *ListDatasetEntriesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ContainsLabels != nil { + ok := object.Key("ContainsLabels") + if err := awsAwsjson11_serializeDocumentDatasetLabels(v.ContainsLabels, ok); err != nil { + return err + } + } + + if v.DatasetArn != nil { + ok := object.Key("DatasetArn") + ok.String(*v.DatasetArn) + } + + if v.HasErrors != nil { + ok := object.Key("HasErrors") + ok.Boolean(*v.HasErrors) + } + + if v.Labeled != nil { + ok := object.Key("Labeled") + ok.Boolean(*v.Labeled) + } + + if v.MaxResults != nil { + ok := object.Key("MaxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + if v.SourceRefContains != nil { + ok := object.Key("SourceRefContains") + ok.String(*v.SourceRefContains) + } + + return nil +} + +func awsAwsjson11_serializeOpDocumentListDatasetLabelsInput(v *ListDatasetLabelsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DatasetArn != nil { + ok := object.Key("DatasetArn") + ok.String(*v.DatasetArn) + } + + if v.MaxResults != nil { + ok := object.Key("MaxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentListFacesInput(v *ListFacesInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4492,3 +5034,22 @@ func awsAwsjson11_serializeOpDocumentUntagResourceInput(v *UntagResourceInput, v return nil } + +func awsAwsjson11_serializeOpDocumentUpdateDatasetEntriesInput(v *UpdateDatasetEntriesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Changes != nil { + ok := object.Key("Changes") + if err := awsAwsjson11_serializeDocumentDatasetChanges(v.Changes, ok); err != nil { + return err + } + } + + if v.DatasetArn != nil { + ok := object.Key("DatasetArn") + ok.String(*v.DatasetArn) + } + + return nil +} diff --git a/service/rekognition/types/enums.go b/service/rekognition/types/enums.go index 2ea046a1e60..34534e1bdba 100644 --- a/service/rekognition/types/enums.go +++ b/service/rekognition/types/enums.go @@ -96,6 +96,72 @@ func (ContentModerationSortBy) Values() []ContentModerationSortBy { } } +type DatasetStatus string + +// Enum values for DatasetStatus +const ( + DatasetStatusCreateInProgress DatasetStatus = "CREATE_IN_PROGRESS" + DatasetStatusCreateComplete DatasetStatus = "CREATE_COMPLETE" + DatasetStatusCreateFailed DatasetStatus = "CREATE_FAILED" + DatasetStatusUpdateInProgress DatasetStatus = "UPDATE_IN_PROGRESS" + DatasetStatusUpdateComplete DatasetStatus = "UPDATE_COMPLETE" + DatasetStatusUpdateFailed DatasetStatus = "UPDATE_FAILED" + DatasetStatusDeleteInProgress DatasetStatus = "DELETE_IN_PROGRESS" +) + +// Values returns all known values for DatasetStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (DatasetStatus) Values() []DatasetStatus { + return []DatasetStatus{ + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_COMPLETE", + "UPDATE_FAILED", + "DELETE_IN_PROGRESS", + } +} + +type DatasetStatusMessageCode string + +// Enum values for DatasetStatusMessageCode +const ( + DatasetStatusMessageCodeSuccess DatasetStatusMessageCode = "SUCCESS" + DatasetStatusMessageCodeServiceError DatasetStatusMessageCode = "SERVICE_ERROR" + DatasetStatusMessageCodeClientError DatasetStatusMessageCode = "CLIENT_ERROR" +) + +// Values returns all known values for DatasetStatusMessageCode. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (DatasetStatusMessageCode) Values() []DatasetStatusMessageCode { + return []DatasetStatusMessageCode{ + "SUCCESS", + "SERVICE_ERROR", + "CLIENT_ERROR", + } +} + +type DatasetType string + +// Enum values for DatasetType +const ( + DatasetTypeTrain DatasetType = "TRAIN" + DatasetTypeTest DatasetType = "TEST" +) + +// Values returns all known values for DatasetType. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (DatasetType) Values() []DatasetType { + return []DatasetType{ + "TRAIN", + "TEST", + } +} + type EmotionName string // Enum values for EmotionName diff --git a/service/rekognition/types/types.go b/service/rekognition/types/types.go index cd55e745865..ecd3dc448b8 100644 --- a/service/rekognition/types/types.go +++ b/service/rekognition/types/types.go @@ -173,6 +173,9 @@ type CelebrityDetail struct { // The unique identifier for the celebrity. Id *string + // Retrieves the known gender for the celebrity. + KnownGender *KnownGender + // The name of the celebrity. Name *string @@ -304,6 +307,145 @@ type CustomLabel struct { noSmithyDocumentSerde } +// Describes updates or additions to a dataset. A Single update or addition is an +// entry (JSON Line) that provides information about a single image. To update an +// existing entry, you match the source-ref field of the update entry with the +// source-ref filed of the entry that you want to update. If the source-ref field +// doesn't match an existing entry, the entry is added to dataset as a new entry. +type DatasetChanges struct { + + // A Base64-encoded binary data object containing one or JSON lines that either + // update the dataset or are additions to the dataset. You change a dataset by + // calling UpdateDatasetEntries. If you are using an AWS SDK to call + // UpdateDatasetEntries, you don't need to encode Changes as the SDK encodes the + // data for you. For example JSON lines, see Image-Level labels in manifest files + // and and Object localization in manifest files in the Amazon Rekognition Custom + // Labels Developer Guide. + // + // This member is required. + GroundTruth []byte + + noSmithyDocumentSerde +} + +// A description for a dataset. For more information, see DescribeDataset. The +// status fields Status, StatusMessage, and StatusMessageCode reflect the last +// operation on the dataset. +type DatasetDescription struct { + + // The Unix timestamp for the time and date that the dataset was created. + CreationTimestamp *time.Time + + // The status message code for the dataset. + DatasetStats *DatasetStats + + // The Unix timestamp for the date and time that the dataset was last updated. + LastUpdatedTimestamp *time.Time + + // The status of the dataset. + Status DatasetStatus + + // The status message for the dataset. + StatusMessage *string + + // The status message code for the dataset operation. If a service error occurs, + // try the API call again later. If a client error occurs, check the input + // parameters to the dataset API call that failed. + StatusMessageCode DatasetStatusMessageCode + + noSmithyDocumentSerde +} + +// Describes a dataset label. For more information, see ListDatasetLabels. +type DatasetLabelDescription struct { + + // The name of the label. + LabelName *string + + // Statistics about the label. + LabelStats *DatasetLabelStats + + noSmithyDocumentSerde +} + +// Statistics about a label used in a dataset. For more information, see +// DatasetLabelDescription. +type DatasetLabelStats struct { + + // The total number of images that have the label assigned to a bounding box. + BoundingBoxCount *int32 + + // The total number of images that use the label. + EntryCount *int32 + + noSmithyDocumentSerde +} + +// Summary information for an Amazon Rekognition Custom Labels dataset. For more +// information, see ProjectDescription. +type DatasetMetadata struct { + + // The Unix timestamp for the date and time that the dataset was created. + CreationTimestamp *time.Time + + // The Amazon Resource Name (ARN) for the dataset. + DatasetArn *string + + // The type of the dataset. + DatasetType DatasetType + + // The status for the dataset. + Status DatasetStatus + + // The status message for the dataset. + StatusMessage *string + + // The status message code for the dataset operation. If a service error occurs, + // try the API call again later. If a client error occurs, check the input + // parameters to the dataset API call that failed. + StatusMessageCode DatasetStatusMessageCode + + noSmithyDocumentSerde +} + +// The source that Amazon Rekognition Custom Labels uses to create a dataset. To +// use an Amazon Sagemaker format manifest file, specify the S3 bucket location in +// the GroundTruthManifest field. The S3 bucket must be in your AWS account. To +// create a copy of an existing dataset, specify the Amazon Resource Name (ARN) of +// an existing dataset in DatasetArn. You need to specify a value for DatasetArn or +// GroundTruthManifest, but not both. if you supply both values, or if you don't +// specify any values, an InvalidParameterException exception occurs. For more +// information, see CreateDataset. +type DatasetSource struct { + + // The ARN of an Amazon Rekognition Custom Labels dataset that you want to copy. + DatasetArn *string + + // The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest + // file. + GroundTruthManifest *GroundTruthManifest + + noSmithyDocumentSerde +} + +// Provides statistics about a dataset. For more information, see DescribeDataset. +type DatasetStats struct { + + // The total number of entries that contain at least one error. + ErrorEntries *int32 + + // The total number of images in the dataset that have labels. + LabeledEntries *int32 + + // The total number of images in the dataset. + TotalEntries *int32 + + // The total number of labels declared in the dataset. + TotalLabels *int32 + + noSmithyDocumentSerde +} + // A set of parameters that allow you to filter out certain results from your // returned results. type DetectionFilter struct { @@ -343,6 +485,18 @@ type DetectTextFilters struct { noSmithyDocumentSerde } +// A training dataset or a test dataset used in a dataset distribution operation. +// For more information, see DistributeDatasetEntries. +type DistributeDataset struct { + + // The Amazon Resource Name (ARN) of the dataset that you want to use. + // + // This member is required. + Arn *string + + noSmithyDocumentSerde +} + // The emotions that appear to be expressed on the face, and the confidence level // in the determination. The API is only making a determination of the physical // appearance of a person's face. It is not a determination of the person’s @@ -577,8 +731,9 @@ type FaceSearchSettings struct { CollectionId *string // Minimum face match confidence score that must be met to return a result for a - // recognized face. Default is 80. 0 is the lowest confidence. 100 is the highest - // confidence. + // recognized face. The default is 80. 0 is the lowest confidence. 100 is the + // highest confidence. Values between 0 and 100 are accepted, and values lower than + // 80 are set to 80. FaceMatchThreshold *float32 noSmithyDocumentSerde @@ -1009,12 +1164,16 @@ type Pose struct { noSmithyDocumentSerde } -// A description of a Amazon Rekognition Custom Labels project. +// A description of an Amazon Rekognition Custom Labels project. For more +// information, see DescribeProjects. type ProjectDescription struct { // The Unix timestamp for the date and time that the project was created. CreationTimestamp *time.Time + // Information about the training and test datasets in the project. + Datasets []DatasetMetadata + // The Amazon Resource Name (ARN) of the project. ProjectArn *string @@ -1024,11 +1183,12 @@ type ProjectDescription struct { noSmithyDocumentSerde } -// The description of a version of a model. +// A description of a version of an Amazon Rekognition Custom Labels model. type ProjectVersionDescription struct { - // The duration, in seconds, that the model version has been billed for training. - // This value is only returned if the model version has been successfully trained. + // The duration, in seconds, that you were billed for a successful training of the + // model version. This value is only returned if the model version has been + // successfully trained. BillableTrainingTimeInSeconds *int64 // The Unix datetime for the date and time that training started. @@ -1038,8 +1198,8 @@ type ProjectVersionDescription struct { // successful. EvaluationResult *EvaluationResult - // The identifer for the AWS Key Management Service (AWS KMS) customer master key - // that was used to encrypt the model during training. + // The identifer for the AWS Key Management Service key (AWS KMS key) that was used + // to encrypt the model during training. KmsKeyId *string // The location of the summary manifest. The summary manifest provides aggregate @@ -1468,15 +1628,17 @@ type TechnicalCueSegment struct { } // The dataset used for testing. Optionally, if AutoCreate is set, Amazon -// Rekognition Custom Labels creates a testing dataset using an 80/20 split of the -// training dataset. +// Rekognition Custom Labels uses the training dataset to create a test dataset +// with a temporary split of the training dataset. type TestingData struct { // The assets used for testing. Assets []Asset - // If specified, Amazon Rekognition Custom Labels creates a testing dataset with an - // 80/20 split of the training dataset. + // If specified, Amazon Rekognition Custom Labels temporarily splits the training + // dataset (80%) to create a test dataset (20%) for the training job. After + // training completes, the test dataset is not stored and the training dataset + // reverts to its previous size. AutoCreate bool noSmithyDocumentSerde @@ -1613,9 +1775,7 @@ type UnindexedFace struct { // Contains the Amazon S3 bucket location of the validation data for a model // training job. The validation data includes error information for individual JSON -// lines in the dataset. -// -// For more information, see Debugging a Failed Model +// Lines in the dataset. For more information, see Debugging a Failed Model // Training in the Amazon Rekognition Custom Labels Developer Guide. You get the // ValidationData object for the training dataset (TrainingDataResult) and the test // dataset (TestingDataResult) by calling DescribeProjectVersions. The assets array diff --git a/service/rekognition/validators.go b/service/rekognition/validators.go index 078517a3f49..2ee38870c28 100644 --- a/service/rekognition/validators.go +++ b/service/rekognition/validators.go @@ -50,6 +50,26 @@ func (m *validateOpCreateCollection) HandleInitialize(ctx context.Context, in mi return next.HandleInitialize(ctx, in) } +type validateOpCreateDataset struct { +} + +func (*validateOpCreateDataset) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateDataset) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateDatasetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateDatasetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateProject struct { } @@ -130,6 +150,26 @@ func (m *validateOpDeleteCollection) HandleInitialize(ctx context.Context, in mi return next.HandleInitialize(ctx, in) } +type validateOpDeleteDataset struct { +} + +func (*validateOpDeleteDataset) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteDataset) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteDatasetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteDatasetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteFaces struct { } @@ -230,6 +270,26 @@ func (m *validateOpDescribeCollection) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpDescribeDataset struct { +} + +func (*validateOpDescribeDataset) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeDataset) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeDatasetInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeDatasetInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeProjectVersions struct { } @@ -390,6 +450,26 @@ func (m *validateOpDetectText) HandleInitialize(ctx context.Context, in middlewa return next.HandleInitialize(ctx, in) } +type validateOpDistributeDatasetEntries struct { +} + +func (*validateOpDistributeDatasetEntries) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDistributeDatasetEntries) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DistributeDatasetEntriesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDistributeDatasetEntriesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetCelebrityInfo struct { } @@ -590,6 +670,46 @@ func (m *validateOpIndexFaces) HandleInitialize(ctx context.Context, in middlewa return next.HandleInitialize(ctx, in) } +type validateOpListDatasetEntries struct { +} + +func (*validateOpListDatasetEntries) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListDatasetEntries) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListDatasetEntriesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListDatasetEntriesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpListDatasetLabels struct { +} + +func (*validateOpListDatasetLabels) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListDatasetLabels) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListDatasetLabelsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListDatasetLabelsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListFaces struct { } @@ -970,6 +1090,26 @@ func (m *validateOpUntagResource) HandleInitialize(ctx context.Context, in middl return next.HandleInitialize(ctx, in) } +type validateOpUpdateDatasetEntries struct { +} + +func (*validateOpUpdateDatasetEntries) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateDatasetEntries) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateDatasetEntriesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateDatasetEntriesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + func addOpCompareFacesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCompareFaces{}, middleware.After) } @@ -978,6 +1118,10 @@ func addOpCreateCollectionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateCollection{}, middleware.After) } +func addOpCreateDatasetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateDataset{}, middleware.After) +} + func addOpCreateProjectValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateProject{}, middleware.After) } @@ -994,6 +1138,10 @@ func addOpDeleteCollectionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteCollection{}, middleware.After) } +func addOpDeleteDatasetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteDataset{}, middleware.After) +} + func addOpDeleteFacesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteFaces{}, middleware.After) } @@ -1014,6 +1162,10 @@ func addOpDescribeCollectionValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpDescribeCollection{}, middleware.After) } +func addOpDescribeDatasetValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeDataset{}, middleware.After) +} + func addOpDescribeProjectVersionsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeProjectVersions{}, middleware.After) } @@ -1046,6 +1198,10 @@ func addOpDetectTextValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDetectText{}, middleware.After) } +func addOpDistributeDatasetEntriesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDistributeDatasetEntries{}, middleware.After) +} + func addOpGetCelebrityInfoValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetCelebrityInfo{}, middleware.After) } @@ -1086,6 +1242,14 @@ func addOpIndexFacesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpIndexFaces{}, middleware.After) } +func addOpListDatasetEntriesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListDatasetEntries{}, middleware.After) +} + +func addOpListDatasetLabelsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListDatasetLabels{}, middleware.After) +} + func addOpListFacesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListFaces{}, middleware.After) } @@ -1162,6 +1326,57 @@ func addOpUntagResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUntagResource{}, middleware.After) } +func addOpUpdateDatasetEntriesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateDatasetEntries{}, middleware.After) +} + +func validateDatasetChanges(v *types.DatasetChanges) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DatasetChanges"} + if v.GroundTruth == nil { + invalidParams.Add(smithy.NewErrParamRequired("GroundTruth")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateDistributeDataset(v *types.DistributeDataset) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DistributeDataset"} + if v.Arn == nil { + invalidParams.Add(smithy.NewErrParamRequired("Arn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateDistributeDatasetMetadataList(v []types.DistributeDataset) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DistributeDatasetMetadataList"} + for i := range v { + if err := validateDistributeDataset(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateHumanLoopConfig(v *types.HumanLoopConfig) error { if v == nil { return nil @@ -1249,6 +1464,24 @@ func validateOpCreateCollectionInput(v *CreateCollectionInput) error { } } +func validateOpCreateDatasetInput(v *CreateDatasetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateDatasetInput"} + if len(v.DatasetType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("DatasetType")) + } + if v.ProjectArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ProjectArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateProjectInput(v *CreateProjectInput) error { if v == nil { return nil @@ -1278,12 +1511,6 @@ func validateOpCreateProjectVersionInput(v *CreateProjectVersionInput) error { if v.OutputConfig == nil { invalidParams.Add(smithy.NewErrParamRequired("OutputConfig")) } - if v.TrainingData == nil { - invalidParams.Add(smithy.NewErrParamRequired("TrainingData")) - } - if v.TestingData == nil { - invalidParams.Add(smithy.NewErrParamRequired("TestingData")) - } if invalidParams.Len() > 0 { return invalidParams } else { @@ -1333,6 +1560,21 @@ func validateOpDeleteCollectionInput(v *DeleteCollectionInput) error { } } +func validateOpDeleteDatasetInput(v *DeleteDatasetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteDatasetInput"} + if v.DatasetArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DatasetArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteFacesInput(v *DeleteFacesInput) error { if v == nil { return nil @@ -1411,6 +1653,21 @@ func validateOpDescribeCollectionInput(v *DescribeCollectionInput) error { } } +func validateOpDescribeDatasetInput(v *DescribeDatasetInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeDatasetInput"} + if v.DatasetArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DatasetArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeProjectVersionsInput(v *DescribeProjectVersionsInput) error { if v == nil { return nil @@ -1544,6 +1801,25 @@ func validateOpDetectTextInput(v *DetectTextInput) error { } } +func validateOpDistributeDatasetEntriesInput(v *DistributeDatasetEntriesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DistributeDatasetEntriesInput"} + if v.Datasets == nil { + invalidParams.Add(smithy.NewErrParamRequired("Datasets")) + } else if v.Datasets != nil { + if err := validateDistributeDatasetMetadataList(v.Datasets); err != nil { + invalidParams.AddNested("Datasets", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetCelebrityInfoInput(v *GetCelebrityInfoInput) error { if v == nil { return nil @@ -1697,6 +1973,36 @@ func validateOpIndexFacesInput(v *IndexFacesInput) error { } } +func validateOpListDatasetEntriesInput(v *ListDatasetEntriesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListDatasetEntriesInput"} + if v.DatasetArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DatasetArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpListDatasetLabelsInput(v *ListDatasetLabelsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListDatasetLabelsInput"} + if v.DatasetArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DatasetArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListFacesInput(v *ListFacesInput) error { if v == nil { return nil @@ -2042,3 +2348,25 @@ func validateOpUntagResourceInput(v *UntagResourceInput) error { return nil } } + +func validateOpUpdateDatasetEntriesInput(v *UpdateDatasetEntriesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateDatasetEntriesInput"} + if v.DatasetArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DatasetArn")) + } + if v.Changes == nil { + invalidParams.Add(smithy.NewErrParamRequired("Changes")) + } else if v.Changes != nil { + if err := validateDatasetChanges(v.Changes); err != nil { + invalidParams.AddNested("Changes", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} diff --git a/service/route53resolver/api_op_GetResolverConfig.go b/service/route53resolver/api_op_GetResolverConfig.go new file mode 100644 index 00000000000..fb773b81fe3 --- /dev/null +++ b/service/route53resolver/api_op_GetResolverConfig.go @@ -0,0 +1,123 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package route53resolver + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/route53resolver/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves the behavior configuration of Route 53 Resolver behavior for a single +// VPC from Amazon Virtual Private Cloud. +func (c *Client) GetResolverConfig(ctx context.Context, params *GetResolverConfigInput, optFns ...func(*Options)) (*GetResolverConfigOutput, error) { + if params == nil { + params = &GetResolverConfigInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetResolverConfig", params, optFns, c.addOperationGetResolverConfigMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetResolverConfigOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetResolverConfigInput struct { + + // Resource ID of the Amazon VPC that you want to get information about. + // + // This member is required. + ResourceId *string + + noSmithyDocumentSerde +} + +type GetResolverConfigOutput struct { + + // Information about the behavior configuration of Route 53 Resolver behavior for + // the VPC you specified in the GetResolverConfig request. + ResolverConfig *types.ResolverConfig + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetResolverConfigMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetResolverConfig{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetResolverConfig{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetResolverConfigValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetResolverConfig(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetResolverConfig(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "route53resolver", + OperationName: "GetResolverConfig", + } +} diff --git a/service/route53resolver/api_op_ListResolverConfigs.go b/service/route53resolver/api_op_ListResolverConfigs.go new file mode 100644 index 00000000000..4dfa0c4b515 --- /dev/null +++ b/service/route53resolver/api_op_ListResolverConfigs.go @@ -0,0 +1,226 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package route53resolver + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/route53resolver/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves the Resolver configurations that you have defined. Route 53 Resolver +// uses the configurations to manage DNS resolution behavior for your VPCs. +func (c *Client) ListResolverConfigs(ctx context.Context, params *ListResolverConfigsInput, optFns ...func(*Options)) (*ListResolverConfigsOutput, error) { + if params == nil { + params = &ListResolverConfigsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListResolverConfigs", params, optFns, c.addOperationListResolverConfigsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListResolverConfigsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListResolverConfigsInput struct { + + // The maximum number of Resolver configurations that you want to return in the + // response to a ListResolverConfigs request. If you don't specify a value for + // MaxResults, up to 100 Resolver configurations are returned. + MaxResults *int32 + + // (Optional) If the current Amazon Web Services account has more than MaxResults + // Resolver configurations, use NextToken to get the second and subsequent pages of + // results. For the first ListResolverConfigs request, omit this value. For the + // second and subsequent requests, get the value of NextToken from the previous + // response and specify that value for NextToken in the request. + NextToken *string + + noSmithyDocumentSerde +} + +type ListResolverConfigsOutput struct { + + // If a response includes the last of the Resolver configurations that are + // associated with the current Amazon Web Services account, NextToken doesn't + // appear in the response. If a response doesn't include the last of the + // configurations, you can get more configurations by submitting another + // ListResolverConfigs request. Get the value of NextToken that Amazon Route 53 + // returned in the previous response and include it in NextToken in the next + // request. + NextToken *string + + // An array that contains one ResolverConfigs element for each Resolver + // configuration that is associated with the current Amazon Web Services account. + ResolverConfigs []types.ResolverConfig + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListResolverConfigsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListResolverConfigs{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListResolverConfigs{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListResolverConfigs(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListResolverConfigsAPIClient is a client that implements the ListResolverConfigs +// operation. +type ListResolverConfigsAPIClient interface { + ListResolverConfigs(context.Context, *ListResolverConfigsInput, ...func(*Options)) (*ListResolverConfigsOutput, error) +} + +var _ ListResolverConfigsAPIClient = (*Client)(nil) + +// ListResolverConfigsPaginatorOptions is the paginator options for +// ListResolverConfigs +type ListResolverConfigsPaginatorOptions struct { + // The maximum number of Resolver configurations that you want to return in the + // response to a ListResolverConfigs request. If you don't specify a value for + // MaxResults, up to 100 Resolver configurations are returned. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListResolverConfigsPaginator is a paginator for ListResolverConfigs +type ListResolverConfigsPaginator struct { + options ListResolverConfigsPaginatorOptions + client ListResolverConfigsAPIClient + params *ListResolverConfigsInput + nextToken *string + firstPage bool +} + +// NewListResolverConfigsPaginator returns a new ListResolverConfigsPaginator +func NewListResolverConfigsPaginator(client ListResolverConfigsAPIClient, params *ListResolverConfigsInput, optFns ...func(*ListResolverConfigsPaginatorOptions)) *ListResolverConfigsPaginator { + if params == nil { + params = &ListResolverConfigsInput{} + } + + options := ListResolverConfigsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListResolverConfigsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListResolverConfigsPaginator) HasMorePages() bool { + return p.firstPage || p.nextToken != nil +} + +// NextPage retrieves the next ListResolverConfigs page. +func (p *ListResolverConfigsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListResolverConfigsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListResolverConfigs(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListResolverConfigs(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "route53resolver", + OperationName: "ListResolverConfigs", + } +} diff --git a/service/route53resolver/api_op_UpdateResolverConfig.go b/service/route53resolver/api_op_UpdateResolverConfig.go new file mode 100644 index 00000000000..ee237ccef30 --- /dev/null +++ b/service/route53resolver/api_op_UpdateResolverConfig.go @@ -0,0 +1,133 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package route53resolver + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/route53resolver/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates the behavior configuration of Route 53 Resolver behavior for a single +// VPC from Amazon Virtual Private Cloud. +func (c *Client) UpdateResolverConfig(ctx context.Context, params *UpdateResolverConfigInput, optFns ...func(*Options)) (*UpdateResolverConfigOutput, error) { + if params == nil { + params = &UpdateResolverConfigInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateResolverConfig", params, optFns, c.addOperationUpdateResolverConfigMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateResolverConfigOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateResolverConfigInput struct { + + // Indicates whether or not the Resolver will create autodefined rules for reverse + // DNS lookups. This is enabled by default. Disabling this option will also affect + // EC2-Classic instances using ClassicLink. For more information, see ClassicLink + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) in + // the Amazon EC2 guide. It can take some time for the status change to be + // completed. + // + // This member is required. + AutodefinedReverseFlag types.AutodefinedReverseFlag + + // Resource ID of the Amazon VPC that you want to update the Resolver configuration + // for. + // + // This member is required. + ResourceId *string + + noSmithyDocumentSerde +} + +type UpdateResolverConfigOutput struct { + + // An array that contains settings for the specified Resolver configuration. + ResolverConfig *types.ResolverConfig + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateResolverConfigMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateResolverConfig{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateResolverConfig{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateResolverConfigValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateResolverConfig(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateResolverConfig(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "route53resolver", + OperationName: "UpdateResolverConfig", + } +} diff --git a/service/route53resolver/deserializers.go b/service/route53resolver/deserializers.go index af887fd36e4..64c8f449a63 100644 --- a/service/route53resolver/deserializers.go +++ b/service/route53resolver/deserializers.go @@ -3150,6 +3150,129 @@ func awsAwsjson11_deserializeOpErrorGetFirewallRuleGroupPolicy(response *smithyh } } +type awsAwsjson11_deserializeOpGetResolverConfig struct { +} + +func (*awsAwsjson11_deserializeOpGetResolverConfig) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpGetResolverConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorGetResolverConfig(response, &metadata) + } + output := &GetResolverConfigOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentGetResolverConfigOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorGetResolverConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpGetResolverDnssecConfig struct { } @@ -4983,6 +5106,132 @@ func awsAwsjson11_deserializeOpErrorListFirewallRules(response *smithyhttp.Respo } } +type awsAwsjson11_deserializeOpListResolverConfigs struct { +} + +func (*awsAwsjson11_deserializeOpListResolverConfigs) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpListResolverConfigs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorListResolverConfigs(response, &metadata) + } + output := &ListResolverConfigsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentListResolverConfigsOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorListResolverConfigs(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("InvalidNextTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidNextTokenException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpListResolverDnssecConfigs struct { } @@ -6657,7 +6906,130 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallConfig) HandleDeserialize(ctx c return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFirewallConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateFirewallConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson11_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsAwsjson11_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpUpdateFirewallDomains struct { +} + +func (*awsAwsjson11_deserializeOpUpdateFirewallDomains) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateFirewallDomains) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFirewallDomains(response, &metadata) + } + output := &UpdateFirewallDomainsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentUpdateFirewallDomainsOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorUpdateFirewallDomains(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6701,9 +7073,15 @@ func awsAwsjson11_deserializeOpErrorUpdateFirewallConfig(response *smithyhttp.Re case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ConflictException", errorCode): + return awsAwsjson11_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServiceErrorException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceErrorException(response, errorBody) + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) @@ -6723,14 +7101,14 @@ func awsAwsjson11_deserializeOpErrorUpdateFirewallConfig(response *smithyhttp.Re } } -type awsAwsjson11_deserializeOpUpdateFirewallDomains struct { +type awsAwsjson11_deserializeOpUpdateFirewallRule struct { } -func (*awsAwsjson11_deserializeOpUpdateFirewallDomains) ID() string { +func (*awsAwsjson11_deserializeOpUpdateFirewallRule) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateFirewallDomains) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateFirewallRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6744,9 +7122,9 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallDomains) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFirewallDomains(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFirewallRule(response, &metadata) } - output := &UpdateFirewallDomainsOutput{} + output := &UpdateFirewallRuleOutput{} out.Result = output var buff [1024]byte @@ -6766,7 +7144,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallDomains) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateFirewallDomainsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateFirewallRuleOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6780,7 +7158,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallDomains) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFirewallDomains(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateFirewallRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6830,9 +7208,6 @@ func awsAwsjson11_deserializeOpErrorUpdateFirewallDomains(response *smithyhttp.R case strings.EqualFold("InternalServiceErrorException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceErrorException(response, errorBody) - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) @@ -6852,14 +7227,14 @@ func awsAwsjson11_deserializeOpErrorUpdateFirewallDomains(response *smithyhttp.R } } -type awsAwsjson11_deserializeOpUpdateFirewallRule struct { +type awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation struct { } -func (*awsAwsjson11_deserializeOpUpdateFirewallRule) ID() string { +func (*awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateFirewallRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6873,9 +7248,9 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallRule) HandleDeserialize(ctx con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFirewallRule(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFirewallRuleGroupAssociation(response, &metadata) } - output := &UpdateFirewallRuleOutput{} + output := &UpdateFirewallRuleGroupAssociationOutput{} out.Result = output var buff [1024]byte @@ -6895,7 +7270,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallRule) HandleDeserialize(ctx con return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateFirewallRuleOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateFirewallRuleGroupAssociationOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -6909,7 +7284,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallRule) HandleDeserialize(ctx con return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFirewallRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateFirewallRuleGroupAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -6978,14 +7353,14 @@ func awsAwsjson11_deserializeOpErrorUpdateFirewallRule(response *smithyhttp.Resp } } -type awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation struct { +type awsAwsjson11_deserializeOpUpdateResolverConfig struct { } -func (*awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) ID() string { +func (*awsAwsjson11_deserializeOpUpdateResolverConfig) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpUpdateResolverConfig) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -6999,9 +7374,9 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) HandleDes } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateFirewallRuleGroupAssociation(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateResolverConfig(response, &metadata) } - output := &UpdateFirewallRuleGroupAssociationOutput{} + output := &UpdateResolverConfigOutput{} out.Result = output var buff [1024]byte @@ -7021,7 +7396,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) HandleDes return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentUpdateFirewallRuleGroupAssociationOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentUpdateResolverConfigOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -7035,7 +7410,7 @@ func (m *awsAwsjson11_deserializeOpUpdateFirewallRuleGroupAssociation) HandleDes return out, metadata, err } -func awsAwsjson11_deserializeOpErrorUpdateFirewallRuleGroupAssociation(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorUpdateResolverConfig(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -7079,21 +7454,27 @@ func awsAwsjson11_deserializeOpErrorUpdateFirewallRuleGroupAssociation(response case strings.EqualFold("AccessDeniedException", errorCode): return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) - case strings.EqualFold("ConflictException", errorCode): - return awsAwsjson11_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServiceErrorException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceErrorException(response, errorBody) + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ResourceUnavailableException", errorCode): + return awsAwsjson11_deserializeErrorResourceUnavailableException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -9540,6 +9921,107 @@ func awsAwsjson11_deserializeDocumentLimitExceededException(v **types.LimitExcee return nil } +func awsAwsjson11_deserializeDocumentResolverConfig(v **types.ResolverConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ResolverConfig + if *v == nil { + sv = &types.ResolverConfig{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AutodefinedReverse": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ResolverAutodefinedReverseStatus to be of type string, got %T instead", value) + } + sv.AutodefinedReverse = types.ResolverAutodefinedReverseStatus(jtv) + } + + case "Id": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ResourceId to be of type string, got %T instead", value) + } + sv.Id = ptr.String(jtv) + } + + case "OwnerId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + sv.OwnerId = ptr.String(jtv) + } + + case "ResourceId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ResourceId to be of type string, got %T instead", value) + } + sv.ResourceId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentResolverConfigList(v *[]types.ResolverConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ResolverConfig + if *v == nil { + cv = []types.ResolverConfig{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ResolverConfig + destAddr := &col + if err := awsAwsjson11_deserializeDocumentResolverConfig(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentResolverDnssecConfig(v **types.ResolverDnssecConfig, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -11833,6 +12315,42 @@ func awsAwsjson11_deserializeOpDocumentGetFirewallRuleGroupPolicyOutput(v **GetF return nil } +func awsAwsjson11_deserializeOpDocumentGetResolverConfigOutput(v **GetResolverConfigOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetResolverConfigOutput + if *v == nil { + sv = &GetResolverConfigOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ResolverConfig": + if err := awsAwsjson11_deserializeDocumentResolverConfig(&sv.ResolverConfig, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentGetResolverDnssecConfigOutput(v **GetResolverDnssecConfigOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12466,6 +12984,51 @@ func awsAwsjson11_deserializeOpDocumentListFirewallRulesOutput(v **ListFirewallR return nil } +func awsAwsjson11_deserializeOpDocumentListResolverConfigsOutput(v **ListResolverConfigsOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListResolverConfigsOutput + if *v == nil { + sv = &ListResolverConfigsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "ResolverConfigs": + if err := awsAwsjson11_deserializeDocumentResolverConfigList(&sv.ResolverConfigs, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentListResolverDnssecConfigsOutput(v **ListResolverDnssecConfigsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13287,6 +13850,42 @@ func awsAwsjson11_deserializeOpDocumentUpdateFirewallRuleOutput(v **UpdateFirewa return nil } +func awsAwsjson11_deserializeOpDocumentUpdateResolverConfigOutput(v **UpdateResolverConfigOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateResolverConfigOutput + if *v == nil { + sv = &UpdateResolverConfigOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ResolverConfig": + if err := awsAwsjson11_deserializeDocumentResolverConfig(&sv.ResolverConfig, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentUpdateResolverDnssecConfigOutput(v **UpdateResolverDnssecConfigOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/route53resolver/generated.json b/service/route53resolver/generated.json index 4504eb3f364..32f4f6c94c8 100644 --- a/service/route53resolver/generated.json +++ b/service/route53resolver/generated.json @@ -30,6 +30,7 @@ "api_op_GetFirewallRuleGroup.go", "api_op_GetFirewallRuleGroupAssociation.go", "api_op_GetFirewallRuleGroupPolicy.go", + "api_op_GetResolverConfig.go", "api_op_GetResolverDnssecConfig.go", "api_op_GetResolverEndpoint.go", "api_op_GetResolverQueryLogConfig.go", @@ -45,6 +46,7 @@ "api_op_ListFirewallRuleGroupAssociations.go", "api_op_ListFirewallRuleGroups.go", "api_op_ListFirewallRules.go", + "api_op_ListResolverConfigs.go", "api_op_ListResolverDnssecConfigs.go", "api_op_ListResolverEndpointIpAddresses.go", "api_op_ListResolverEndpoints.go", @@ -62,6 +64,7 @@ "api_op_UpdateFirewallDomains.go", "api_op_UpdateFirewallRule.go", "api_op_UpdateFirewallRuleGroupAssociation.go", + "api_op_UpdateResolverConfig.go", "api_op_UpdateResolverDnssecConfig.go", "api_op_UpdateResolverEndpoint.go", "api_op_UpdateResolverRule.go", diff --git a/service/route53resolver/serializers.go b/service/route53resolver/serializers.go index 4a416289493..20e0e1db855 100644 --- a/service/route53resolver/serializers.go +++ b/service/route53resolver/serializers.go @@ -1189,6 +1189,53 @@ func (m *awsAwsjson11_serializeOpGetFirewallRuleGroupPolicy) HandleSerialize(ctx return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpGetResolverConfig struct { +} + +func (*awsAwsjson11_serializeOpGetResolverConfig) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpGetResolverConfig) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetResolverConfigInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Route53Resolver.GetResolverConfig") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentGetResolverConfigInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpGetResolverDnssecConfig struct { } @@ -1894,6 +1941,53 @@ func (m *awsAwsjson11_serializeOpListFirewallRules) HandleSerialize(ctx context. return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpListResolverConfigs struct { +} + +func (*awsAwsjson11_serializeOpListResolverConfigs) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListResolverConfigs) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListResolverConfigsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Route53Resolver.ListResolverConfigs") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListResolverConfigsInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpListResolverDnssecConfigs struct { } @@ -2693,6 +2787,53 @@ func (m *awsAwsjson11_serializeOpUpdateFirewallRuleGroupAssociation) HandleSeria return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpUpdateResolverConfig struct { +} + +func (*awsAwsjson11_serializeOpUpdateResolverConfig) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpUpdateResolverConfig) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateResolverConfigInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Route53Resolver.UpdateResolverConfig") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentUpdateResolverConfigInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpUpdateResolverDnssecConfig struct { } @@ -3572,6 +3713,18 @@ func awsAwsjson11_serializeOpDocumentGetFirewallRuleGroupPolicyInput(v *GetFirew return nil } +func awsAwsjson11_serializeOpDocumentGetResolverConfigInput(v *GetResolverConfigInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ResourceId != nil { + ok := object.Key("ResourceId") + ok.String(*v.ResourceId) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentGetResolverDnssecConfigInput(v *GetResolverDnssecConfigInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3832,6 +3985,23 @@ func awsAwsjson11_serializeOpDocumentListFirewallRulesInput(v *ListFirewallRules return nil } +func awsAwsjson11_serializeOpDocumentListResolverConfigsInput(v *ListResolverConfigsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.MaxResults != nil { + ok := object.Key("MaxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentListResolverDnssecConfigsInput(v *ListResolverDnssecConfigsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4249,6 +4419,23 @@ func awsAwsjson11_serializeOpDocumentUpdateFirewallRuleInput(v *UpdateFirewallRu return nil } +func awsAwsjson11_serializeOpDocumentUpdateResolverConfigInput(v *UpdateResolverConfigInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.AutodefinedReverseFlag) > 0 { + ok := object.Key("AutodefinedReverseFlag") + ok.String(string(v.AutodefinedReverseFlag)) + } + + if v.ResourceId != nil { + ok := object.Key("ResourceId") + ok.String(*v.ResourceId) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentUpdateResolverDnssecConfigInput(v *UpdateResolverDnssecConfigInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/route53resolver/types/enums.go b/service/route53resolver/types/enums.go index 9ab5a54be8c..3aec0aca8a5 100644 --- a/service/route53resolver/types/enums.go +++ b/service/route53resolver/types/enums.go @@ -22,6 +22,24 @@ func (Action) Values() []Action { } } +type AutodefinedReverseFlag string + +// Enum values for AutodefinedReverseFlag +const ( + AutodefinedReverseFlagEnable AutodefinedReverseFlag = "ENABLE" + AutodefinedReverseFlagDisable AutodefinedReverseFlag = "DISABLE" +) + +// Values returns all known values for AutodefinedReverseFlag. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AutodefinedReverseFlag) Values() []AutodefinedReverseFlag { + return []AutodefinedReverseFlag{ + "ENABLE", + "DISABLE", + } +} + type BlockOverrideDnsType string // Enum values for BlockOverrideDnsType @@ -231,6 +249,29 @@ func (MutationProtectionStatus) Values() []MutationProtectionStatus { } } +type ResolverAutodefinedReverseStatus string + +// Enum values for ResolverAutodefinedReverseStatus +const ( + ResolverAutodefinedReverseStatusEnabling ResolverAutodefinedReverseStatus = "ENABLING" + ResolverAutodefinedReverseStatusEnabled ResolverAutodefinedReverseStatus = "ENABLED" + ResolverAutodefinedReverseStatusDisabling ResolverAutodefinedReverseStatus = "DISABLING" + ResolverAutodefinedReverseStatusDisabled ResolverAutodefinedReverseStatus = "DISABLED" +) + +// Values returns all known values for ResolverAutodefinedReverseStatus. Note that +// this can be expanded in the future, and so it is only as up to date as the +// client. The ordering of this slice is not guaranteed to be stable across +// updates. +func (ResolverAutodefinedReverseStatus) Values() []ResolverAutodefinedReverseStatus { + return []ResolverAutodefinedReverseStatus{ + "ENABLING", + "ENABLED", + "DISABLING", + "DISABLED", + } +} + type ResolverDNSSECValidationStatus string // Enum values for ResolverDNSSECValidationStatus diff --git a/service/route53resolver/types/types.go b/service/route53resolver/types/types.go index 3d24e083421..33dc967dcea 100644 --- a/service/route53resolver/types/types.go +++ b/service/route53resolver/types/types.go @@ -592,6 +592,42 @@ type IpAddressUpdate struct { noSmithyDocumentSerde } +// A complex type that contains information about a Resolver configuration for a +// VPC. +type ResolverConfig struct { + + // The status of whether or not the Resolver will create autodefined rules for + // reverse DNS lookups. This is enabled by default. The status can be one of + // following: Status of the rules generated by VPCs based on CIDR/Region for + // reverse DNS resolution. The status can be one of following: + // + // * ENABLING: + // Autodefined rules for reverse DNS lookups are being enabled but are not + // complete. + // + // * ENABLED: Autodefined rules for reverse DNS lookups are enabled. + // + // * + // DISABLING: Autodefined rules for reverse DNS lookups are being disabled but are + // not complete. + // + // * DISABLED: Autodefined rules for reverse DNS lookups are + // disabled. + AutodefinedReverse ResolverAutodefinedReverseStatus + + // ID for the Resolver configuration. + Id *string + + // The owner account ID of the Amazon Virtual Private Cloud VPC. + OwnerId *string + + // The ID of the Amazon Virtual Private Cloud VPC that you're configuring Resolver + // for. + ResourceId *string + + noSmithyDocumentSerde +} + // A complex type that contains information about a configuration for DNSSEC // validation. type ResolverDnssecConfig struct { diff --git a/service/route53resolver/validators.go b/service/route53resolver/validators.go index 66b250e645a..eb2498a2eab 100644 --- a/service/route53resolver/validators.go +++ b/service/route53resolver/validators.go @@ -510,6 +510,26 @@ func (m *validateOpGetFirewallRuleGroupPolicy) HandleInitialize(ctx context.Cont return next.HandleInitialize(ctx, in) } +type validateOpGetResolverConfig struct { +} + +func (*validateOpGetResolverConfig) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetResolverConfig) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetResolverConfigInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetResolverConfigInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetResolverDnssecConfig struct { } @@ -950,6 +970,26 @@ func (m *validateOpUpdateFirewallRule) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpUpdateResolverConfig struct { +} + +func (*validateOpUpdateResolverConfig) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateResolverConfig) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateResolverConfigInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateResolverConfigInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateResolverDnssecConfig struct { } @@ -1110,6 +1150,10 @@ func addOpGetFirewallRuleGroupPolicyValidationMiddleware(stack *middleware.Stack return stack.Initialize.Add(&validateOpGetFirewallRuleGroupPolicy{}, middleware.After) } +func addOpGetResolverConfigValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetResolverConfig{}, middleware.After) +} + func addOpGetResolverDnssecConfigValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetResolverDnssecConfig{}, middleware.After) } @@ -1198,6 +1242,10 @@ func addOpUpdateFirewallRuleValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpUpdateFirewallRule{}, middleware.After) } +func addOpUpdateResolverConfigValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateResolverConfig{}, middleware.After) +} + func addOpUpdateResolverDnssecConfigValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateResolverDnssecConfig{}, middleware.After) } @@ -1815,6 +1863,21 @@ func validateOpGetFirewallRuleGroupPolicyInput(v *GetFirewallRuleGroupPolicyInpu } } +func validateOpGetResolverConfigInput(v *GetResolverConfigInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetResolverConfigInput"} + if v.ResourceId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetResolverDnssecConfigInput(v *GetResolverDnssecConfigInput) error { if v == nil { return nil @@ -2182,6 +2245,24 @@ func validateOpUpdateFirewallRuleInput(v *UpdateFirewallRuleInput) error { } } +func validateOpUpdateResolverConfigInput(v *UpdateResolverConfigInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateResolverConfigInput"} + if v.ResourceId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceId")) + } + if len(v.AutodefinedReverseFlag) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AutodefinedReverseFlag")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateResolverDnssecConfigInput(v *UpdateResolverDnssecConfigInput) error { if v == nil { return nil diff --git a/service/s3/internal/endpoints/endpoints.go b/service/s3/internal/endpoints/endpoints.go index 45737b42754..f6f1fb1997b 100644 --- a/service/s3/internal/endpoints/endpoints.go +++ b/service/s3/internal/endpoints/endpoints.go @@ -65,90 +65,6 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "accesspoint-af-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.af-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-northeast-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-northeast-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-northeast-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-northeast-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-northeast-3": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-northeast-3.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-southeast-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-southeast-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-southeast-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-southeast-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ca-central-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ca-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-central-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-north-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-north-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-west-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-west-3": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-west-3.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-me-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.me-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-sa-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.sa-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-east-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-east-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-west-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, "af-south-1": endpoints.Endpoint{}, "ap-east-1": endpoints.Endpoint{}, "ap-northeast-1": endpoints.Endpoint{ @@ -183,25 +99,35 @@ var defaultPartitions = endpoints.Partitions{ }, "eu-west-2": endpoints.Endpoint{}, "eu-west-3": endpoints.Endpoint{}, - "fips-accesspoint-ca-central-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.ca-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-ca-central-1": endpoints.Endpoint{ + Hostname: "s3-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, }, - "fips-accesspoint-us-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-east-1": endpoints.Endpoint{ + Hostname: "s3-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, }, - "fips-accesspoint-us-east-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-east-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-east-2": endpoints.Endpoint{ + Hostname: "s3-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, }, - "fips-accesspoint-us-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-west-1": endpoints.Endpoint{ + Hostname: "s3-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, }, - "fips-accesspoint-us-west-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-west-2": endpoints.Endpoint{ + Hostname: "s3-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, }, "me-south-1": endpoints.Endpoint{}, "s3-external-1": endpoints.Endpoint{ @@ -240,14 +166,6 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "accesspoint-cn-north-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.cn-north-1.amazonaws.com.cn", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-cn-northwest-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.cn-northwest-1.amazonaws.com.cn", - SignatureVersions: []string{"s3v4"}, - }, "cn-north-1": endpoints.Endpoint{}, "cn-northwest-1": endpoints.Endpoint{}, }, @@ -266,6 +184,7 @@ var defaultPartitions = endpoints.Partitions{ Protocols: []string{"http", "https"}, SignatureVersions: []string{"s3v4"}, }, + "us-iso-west-1": endpoints.Endpoint{}, }, }, { @@ -291,21 +210,11 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "accesspoint-us-gov-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-gov-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-gov-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "fips-accesspoint-us-gov-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-gov-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "fips-accesspoint-us-gov-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-gov-east-1": endpoints.Endpoint{ + Hostname: "s3-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, }, "fips-us-gov-west-1": endpoints.Endpoint{ Hostname: "s3-fips.us-gov-west-1.amazonaws.com", diff --git a/service/s3control/internal/endpoints/s3/endpoints.go b/service/s3control/internal/endpoints/s3/endpoints.go index 633cfcbde91..5706e096e89 100644 --- a/service/s3control/internal/endpoints/s3/endpoints.go +++ b/service/s3control/internal/endpoints/s3/endpoints.go @@ -63,90 +63,6 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "accesspoint-af-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.af-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-northeast-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-northeast-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-northeast-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-northeast-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-northeast-3": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-northeast-3.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-southeast-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-southeast-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ap-southeast-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ap-southeast-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-ca-central-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.ca-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-central-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-north-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-north-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-west-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-eu-west-3": endpoints.Endpoint{ - Hostname: "s3-accesspoint.eu-west-3.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-me-south-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.me-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-sa-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.sa-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-east-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-east-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-west-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, "af-south-1": endpoints.Endpoint{}, "ap-east-1": endpoints.Endpoint{}, "ap-northeast-1": endpoints.Endpoint{ @@ -181,25 +97,35 @@ var defaultPartitions = endpoints.Partitions{ }, "eu-west-2": endpoints.Endpoint{}, "eu-west-3": endpoints.Endpoint{}, - "fips-accesspoint-ca-central-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.ca-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-ca-central-1": endpoints.Endpoint{ + Hostname: "s3-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, }, - "fips-accesspoint-us-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-east-1": endpoints.Endpoint{ + Hostname: "s3-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, }, - "fips-accesspoint-us-east-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-east-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-east-2": endpoints.Endpoint{ + Hostname: "s3-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, }, - "fips-accesspoint-us-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-west-1": endpoints.Endpoint{ + Hostname: "s3-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, }, - "fips-accesspoint-us-west-2": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-west-2": endpoints.Endpoint{ + Hostname: "s3-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, }, "me-south-1": endpoints.Endpoint{}, "s3-external-1": endpoints.Endpoint{ @@ -238,14 +164,6 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "accesspoint-cn-north-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.cn-north-1.amazonaws.com.cn", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-cn-northwest-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.cn-northwest-1.amazonaws.com.cn", - SignatureVersions: []string{"s3v4"}, - }, "cn-north-1": endpoints.Endpoint{}, "cn-northwest-1": endpoints.Endpoint{}, }, @@ -264,6 +182,7 @@ var defaultPartitions = endpoints.Partitions{ Protocols: []string{"http", "https"}, SignatureVersions: []string{"s3v4"}, }, + "us-iso-west-1": endpoints.Endpoint{}, }, }, { @@ -289,21 +208,11 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ - "accesspoint-us-gov-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-gov-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "accesspoint-us-gov-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "fips-accesspoint-us-gov-east-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-gov-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - }, - "fips-accesspoint-us-gov-west-1": endpoints.Endpoint{ - Hostname: "s3-accesspoint-fips.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, + "fips-us-gov-east-1": endpoints.Endpoint{ + Hostname: "s3-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, }, "fips-us-gov-west-1": endpoints.Endpoint{ Hostname: "s3-fips.us-gov-west-1.amazonaws.com", diff --git a/service/sagemaker/api_op_BatchDescribeModelPackage.go b/service/sagemaker/api_op_BatchDescribeModelPackage.go new file mode 100644 index 00000000000..2ea67cad0ea --- /dev/null +++ b/service/sagemaker/api_op_BatchDescribeModelPackage.go @@ -0,0 +1,125 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package sagemaker + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/sagemaker/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// This action batch describes a list of versioned model packages +func (c *Client) BatchDescribeModelPackage(ctx context.Context, params *BatchDescribeModelPackageInput, optFns ...func(*Options)) (*BatchDescribeModelPackageOutput, error) { + if params == nil { + params = &BatchDescribeModelPackageInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "BatchDescribeModelPackage", params, optFns, c.addOperationBatchDescribeModelPackageMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*BatchDescribeModelPackageOutput) + out.ResultMetadata = metadata + return out, nil +} + +type BatchDescribeModelPackageInput struct { + + // The list of Amazon Resource Name (ARN) of the model package groups. + // + // This member is required. + ModelPackageArnList []string + + noSmithyDocumentSerde +} + +type BatchDescribeModelPackageOutput struct { + + // A map of the resource and BatchDescribeModelPackageError objects reporting the + // error associated with describing the model package. + BatchDescribeModelPackageErrorMap map[string]types.BatchDescribeModelPackageError + + // The summaries for the model package versions + ModelPackageSummaries map[string]types.BatchDescribeModelPackageSummary + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationBatchDescribeModelPackageMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchDescribeModelPackage{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchDescribeModelPackage{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpBatchDescribeModelPackageValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchDescribeModelPackage(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opBatchDescribeModelPackage(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "sagemaker", + OperationName: "BatchDescribeModelPackage", + } +} diff --git a/service/sagemaker/api_op_CreateDomain.go b/service/sagemaker/api_op_CreateDomain.go index 96e53aed3f5..7f5ba7230a3 100644 --- a/service/sagemaker/api_op_CreateDomain.go +++ b/service/sagemaker/api_op_CreateDomain.go @@ -104,6 +104,16 @@ type CreateDomainInput struct { // All Studio traffic is through the specified VPC and subnets AppNetworkAccessType types.AppNetworkAccessType + // The entity that creates and manages the required security groups for inter-app + // communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType + // is VPCOnly and + // DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is + // provided. + AppSecurityGroupManagement types.AppSecurityGroupManagement + + // A collection of Domain settings. + DomainSettings *types.DomainSettings + // This member is deprecated and replaced with KmsKeyId. // // Deprecated: This property is deprecated, use KmsKeyId instead. diff --git a/service/sagemaker/api_op_CreateModelPackage.go b/service/sagemaker/api_op_CreateModelPackage.go index cc765727a63..02354c97ab9 100644 --- a/service/sagemaker/api_op_CreateModelPackage.go +++ b/service/sagemaker/api_op_CreateModelPackage.go @@ -52,6 +52,9 @@ type CreateModelPackageInput struct { // A unique token that guarantees that the call to this API is idempotent. ClientToken *string + // The metadata properties associated with the model package versions. + CustomerMetadataProperties map[string]string + // Specifies details about inference jobs that can be run with models based on this // model package, including the following: // @@ -80,8 +83,9 @@ type CreateModelPackageInput struct { // A description of the model package. ModelPackageDescription *string - // The name of the model group that this model version belongs to. This parameter - // is required for versioned models, and does not apply to unversioned models. + // The name or Amazon Resource Name (ARN) of the model package group that this + // model version belongs to. This parameter is required for versioned models, and + // does not apply to unversioned models. ModelPackageGroupName *string // The name of the model package. The name must have 1 to 63 characters. Valid diff --git a/service/sagemaker/api_op_DescribeDomain.go b/service/sagemaker/api_op_DescribeDomain.go index 24614e2e757..9dca79d9409 100644 --- a/service/sagemaker/api_op_DescribeDomain.go +++ b/service/sagemaker/api_op_DescribeDomain.go @@ -50,6 +50,13 @@ type DescribeDomainOutput struct { // All Studio traffic is through the specified VPC and subnets AppNetworkAccessType types.AppNetworkAccessType + // The entity that creates and manages the required security groups for inter-app + // communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType + // is VPCOnly and + // DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is + // provided. + AppSecurityGroupManagement types.AppSecurityGroupManagement + // The domain's authentication mode. AuthMode types.AuthMode @@ -69,6 +76,9 @@ type DescribeDomainOutput struct { // The domain name. DomainName *string + // A collection of Domain settings. + DomainSettings *types.DomainSettings + // The failure reason. FailureReason *string @@ -87,6 +97,10 @@ type DescribeDomainOutput struct { // The last modified time. LastModifiedTime *time.Time + // The ID of the security group that authorizes traffic between the RSessionGateway + // apps and the RStudioServerPro app. + SecurityGroupIdForDomainBoundary *string + // The SSO managed application instance ID. SingleSignOnManagedApplicationInstanceId *string diff --git a/service/sagemaker/api_op_DescribeModelPackage.go b/service/sagemaker/api_op_DescribeModelPackage.go index 6f5e6561e6b..0d5b7ceaf6c 100644 --- a/service/sagemaker/api_op_DescribeModelPackage.go +++ b/service/sagemaker/api_op_DescribeModelPackage.go @@ -13,9 +13,9 @@ import ( ) // Returns a description of the specified model package, which is used to create -// Amazon SageMaker models or list them on Amazon Web Services Marketplace. To -// create models in Amazon SageMaker, buyers can subscribe to model packages listed -// on Amazon Web Services Marketplace. +// SageMaker models or list them on Amazon Web Services Marketplace. To create +// models in SageMaker, buyers can subscribe to model packages listed on Amazon Web +// Services Marketplace. func (c *Client) DescribeModelPackage(ctx context.Context, params *DescribeModelPackageInput, optFns ...func(*Options)) (*DescribeModelPackageOutput, error) { if params == nil { params = &DescribeModelPackageInput{} @@ -81,6 +81,9 @@ type DescribeModelPackageOutput struct { // component, or project. CreatedBy *types.UserContext + // The metadata properties associated with the model package versions. + CustomerMetadataProperties map[string]string + // Details about inference jobs that can be run with models based on this model // package. InferenceSpecification *types.InferenceSpecification @@ -114,8 +117,8 @@ type DescribeModelPackageOutput struct { // Details about the algorithm that was used to create the model package. SourceAlgorithmSpecification *types.SourceAlgorithmSpecification - // Configurations for one or more transform jobs that Amazon SageMaker runs to test - // the model package. + // Configurations for one or more transform jobs that SageMaker runs to test the + // model package. ValidationSpecification *types.ModelPackageValidationSpecification // Metadata pertaining to the operation's result. diff --git a/service/sagemaker/api_op_DescribeProject.go b/service/sagemaker/api_op_DescribeProject.go index 15fe49f521a..6cf3ba72b86 100644 --- a/service/sagemaker/api_op_DescribeProject.go +++ b/service/sagemaker/api_op_DescribeProject.go @@ -76,6 +76,13 @@ type DescribeProjectOutput struct { // component, or project. CreatedBy *types.UserContext + // Information about the user who created or modified an experiment, trial, trial + // component, or project. + LastModifiedBy *types.UserContext + + // The timestamp when project was last modified. + LastModifiedTime *time.Time + // The description of the project. ProjectDescription *string diff --git a/service/sagemaker/api_op_UpdateDomain.go b/service/sagemaker/api_op_UpdateDomain.go index d3732732cb9..c6c210b2c14 100644 --- a/service/sagemaker/api_op_UpdateDomain.go +++ b/service/sagemaker/api_op_UpdateDomain.go @@ -37,6 +37,9 @@ type UpdateDomainInput struct { // A collection of settings. DefaultUserSettings *types.UserSettings + // A collection of DomainSettings configuration values to update. + DomainSettingsForUpdate *types.DomainSettingsForUpdate + noSmithyDocumentSerde } diff --git a/service/sagemaker/api_op_UpdateModelPackage.go b/service/sagemaker/api_op_UpdateModelPackage.go index 5aedd4e8bf8..fd8f24007b1 100644 --- a/service/sagemaker/api_op_UpdateModelPackage.go +++ b/service/sagemaker/api_op_UpdateModelPackage.go @@ -29,12 +29,7 @@ func (c *Client) UpdateModelPackage(ctx context.Context, params *UpdateModelPack type UpdateModelPackageInput struct { - // The approval status of the model. - // - // This member is required. - ModelApprovalStatus types.ModelApprovalStatus - - // The Amazon Resource Name (ARN) of the model. + // The Amazon Resource Name (ARN) of the model package. // // This member is required. ModelPackageArn *string @@ -42,6 +37,15 @@ type UpdateModelPackageInput struct { // A description for the approval status of the model. ApprovalDescription *string + // The metadata properties associated with the model package versions. + CustomerMetadataProperties map[string]string + + // The metadata properties associated with the model package versions to remove. + CustomerMetadataPropertiesToRemove []string + + // The approval status of the model. + ModelApprovalStatus types.ModelApprovalStatus + noSmithyDocumentSerde } diff --git a/service/sagemaker/api_op_UpdateProject.go b/service/sagemaker/api_op_UpdateProject.go new file mode 100644 index 00000000000..1ea287a3ecf --- /dev/null +++ b/service/sagemaker/api_op_UpdateProject.go @@ -0,0 +1,143 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package sagemaker + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/sagemaker/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Updates a machine learning (ML) project that is created from a template that +// sets up an ML pipeline from training to deploying an approved model. You must +// not update a project that is in use. If you update the +// ServiceCatalogProvisioningUpdateDetails of a project that is active or being +// created, or updated, you may lose resources already created by the project. +func (c *Client) UpdateProject(ctx context.Context, params *UpdateProjectInput, optFns ...func(*Options)) (*UpdateProjectOutput, error) { + if params == nil { + params = &UpdateProjectInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UpdateProject", params, optFns, c.addOperationUpdateProjectMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UpdateProjectOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UpdateProjectInput struct { + + // The name of the project. + // + // This member is required. + ProjectName *string + + // The description for the project. + ProjectDescription *string + + // The product ID and provisioning artifact ID to provision a service catalog. The + // provisioning artifact ID will default to the latest provisioning artifact ID of + // the product, if you don't provide the provisioning artifact ID. For more + // information, see What is Amazon Web Services Service Catalog + // (https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html). + ServiceCatalogProvisioningUpdateDetails *types.ServiceCatalogProvisioningUpdateDetails + + // An array of key-value pairs. You can use tags to categorize your Amazon Web + // Services resources in different ways, for example, by purpose, owner, or + // environment. For more information, see Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + Tags []types.Tag + + noSmithyDocumentSerde +} + +type UpdateProjectOutput struct { + + // The Amazon Resource Name (ARN) of the project. + // + // This member is required. + ProjectArn *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUpdateProjectMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateProject{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateProject{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUpdateProjectValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateProject(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUpdateProject(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "sagemaker", + OperationName: "UpdateProject", + } +} diff --git a/service/sagemaker/deserializers.go b/service/sagemaker/deserializers.go index 8f7bd42608c..d03650071e3 100644 --- a/service/sagemaker/deserializers.go +++ b/service/sagemaker/deserializers.go @@ -357,6 +357,114 @@ func awsAwsjson11_deserializeOpErrorAssociateTrialComponent(response *smithyhttp } } +type awsAwsjson11_deserializeOpBatchDescribeModelPackage struct { +} + +func (*awsAwsjson11_deserializeOpBatchDescribeModelPackage) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpBatchDescribeModelPackage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorBatchDescribeModelPackage(response, &metadata) + } + output := &BatchDescribeModelPackageOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentBatchDescribeModelPackageOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorBatchDescribeModelPackage(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpCreateAction struct { } @@ -25000,6 +25108,114 @@ func awsAwsjson11_deserializeOpErrorUpdatePipelineExecution(response *smithyhttp } } +type awsAwsjson11_deserializeOpUpdateProject struct { +} + +func (*awsAwsjson11_deserializeOpUpdateProject) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpUpdateProject) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorUpdateProject(response, &metadata) + } + output := &UpdateProjectOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentUpdateProjectOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorUpdateProject(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpUpdateTrainingJob struct { } @@ -28792,6 +29008,200 @@ func awsAwsjson11_deserializeDocumentAutoRollbackConfig(v **types.AutoRollbackCo return nil } +func awsAwsjson11_deserializeDocumentBatchDescribeModelPackageError(v **types.BatchDescribeModelPackageError, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.BatchDescribeModelPackageError + if *v == nil { + sv = &types.BatchDescribeModelPackageError{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ErrorCode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ErrorCode = ptr.String(jtv) + } + + case "ErrorResponse": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ErrorResponse = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentBatchDescribeModelPackageErrorMap(v *map[string]types.BatchDescribeModelPackageError, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]types.BatchDescribeModelPackageError + if *v == nil { + mv = map[string]types.BatchDescribeModelPackageError{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.BatchDescribeModelPackageError + mapVar := parsedVal + destAddr := &mapVar + if err := awsAwsjson11_deserializeDocumentBatchDescribeModelPackageError(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsAwsjson11_deserializeDocumentBatchDescribeModelPackageSummary(v **types.BatchDescribeModelPackageSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.BatchDescribeModelPackageSummary + if *v == nil { + sv = &types.BatchDescribeModelPackageSummary{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "CreationTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreationTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected CreationTime to be a JSON Number, got %T instead", value) + + } + } + + case "InferenceSpecification": + if err := awsAwsjson11_deserializeDocumentInferenceSpecification(&sv.InferenceSpecification, value); err != nil { + return err + } + + case "ModelApprovalStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ModelApprovalStatus to be of type string, got %T instead", value) + } + sv.ModelApprovalStatus = types.ModelApprovalStatus(jtv) + } + + case "ModelPackageArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ModelPackageArn to be of type string, got %T instead", value) + } + sv.ModelPackageArn = ptr.String(jtv) + } + + case "ModelPackageDescription": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EntityDescription to be of type string, got %T instead", value) + } + sv.ModelPackageDescription = ptr.String(jtv) + } + + case "ModelPackageGroupName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EntityName to be of type string, got %T instead", value) + } + sv.ModelPackageGroupName = ptr.String(jtv) + } + + case "ModelPackageStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ModelPackageStatus to be of type string, got %T instead", value) + } + sv.ModelPackageStatus = types.ModelPackageStatus(jtv) + } + + case "ModelPackageVersion": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ModelPackageVersion to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ModelPackageVersion = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentBias(v **types.Bias, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -30952,6 +31362,42 @@ func awsAwsjson11_deserializeDocumentCsvContentTypes(v *[]string, value interfac return nil } +func awsAwsjson11_deserializeDocumentCustomerMetadataMap(v *map[string]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CustomerMetadataValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsAwsjson11_deserializeDocumentCustomImage(v **types.CustomImage, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -32498,6 +32944,83 @@ func awsAwsjson11_deserializeDocumentDomainList(v *[]types.DomainDetails, value return nil } +func awsAwsjson11_deserializeDocumentDomainSecurityGroupIds(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SecurityGroupId to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentDomainSettings(v **types.DomainSettings, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.DomainSettings + if *v == nil { + sv = &types.DomainSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "RStudioServerProDomainSettings": + if err := awsAwsjson11_deserializeDocumentRStudioServerProDomainSettings(&sv.RStudioServerProDomainSettings, value); err != nil { + return err + } + + case "SecurityGroupIds": + if err := awsAwsjson11_deserializeDocumentDomainSecurityGroupIds(&sv.SecurityGroupIds, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentEdgeModel(v **types.EdgeModel, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -39606,6 +40129,11 @@ func awsAwsjson11_deserializeDocumentModelPackage(v **types.ModelPackage, value } } + case "CustomerMetadataProperties": + if err := awsAwsjson11_deserializeDocumentCustomerMetadataMap(&sv.CustomerMetadataProperties, value); err != nil { + return err + } + case "InferenceSpecification": if err := awsAwsjson11_deserializeDocumentInferenceSpecification(&sv.InferenceSpecification, value); err != nil { return err @@ -40196,6 +40724,41 @@ func awsAwsjson11_deserializeDocumentModelPackageStatusItemList(v *[]types.Model return nil } +func awsAwsjson11_deserializeDocumentModelPackageSummaries(v *map[string]types.BatchDescribeModelPackageSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]types.BatchDescribeModelPackageSummary + if *v == nil { + mv = map[string]types.BatchDescribeModelPackageSummary{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.BatchDescribeModelPackageSummary + mapVar := parsedVal + destAddr := &mapVar + if err := awsAwsjson11_deserializeDocumentBatchDescribeModelPackageSummary(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsAwsjson11_deserializeDocumentModelPackageSummary(v **types.ModelPackageSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -46547,6 +47110,27 @@ func awsAwsjson11_deserializeDocumentProject(v **types.Project, value interface{ } } + case "LastModifiedBy": + if err := awsAwsjson11_deserializeDocumentUserContext(&sv.LastModifiedBy, value); err != nil { + return err + } + + case "LastModifiedTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastModifiedTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + case "ProjectArn": if value != nil { jtv, ok := value.(string) @@ -47695,6 +48279,149 @@ func awsAwsjson11_deserializeDocumentRetryStrategy(v **types.RetryStrategy, valu return nil } +func awsAwsjson11_deserializeDocumentRSessionAppSettings(v **types.RSessionAppSettings, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.RSessionAppSettings + if *v == nil { + sv = &types.RSessionAppSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentRStudioServerProAppSettings(v **types.RStudioServerProAppSettings, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.RStudioServerProAppSettings + if *v == nil { + sv = &types.RStudioServerProAppSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AccessStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RStudioServerProAccessStatus to be of type string, got %T instead", value) + } + sv.AccessStatus = types.RStudioServerProAccessStatus(jtv) + } + + case "UserGroup": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RStudioServerProUserGroup to be of type string, got %T instead", value) + } + sv.UserGroup = types.RStudioServerProUserGroup(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentRStudioServerProDomainSettings(v **types.RStudioServerProDomainSettings, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.RStudioServerProDomainSettings + if *v == nil { + sv = &types.RStudioServerProDomainSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DefaultResourceSpec": + if err := awsAwsjson11_deserializeDocumentResourceSpec(&sv.DefaultResourceSpec, value); err != nil { + return err + } + + case "DomainExecutionRoleArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RoleArn to be of type string, got %T instead", value) + } + sv.DomainExecutionRoleArn = ptr.String(jtv) + } + + case "RStudioConnectUrl": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.RStudioConnectUrl = ptr.String(jtv) + } + + case "RStudioPackageManagerUrl": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.RStudioPackageManagerUrl = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentRuleParameters(v *map[string]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -52742,6 +53469,16 @@ func awsAwsjson11_deserializeDocumentUserSettings(v **types.UserSettings, value return err } + case "RSessionAppSettings": + if err := awsAwsjson11_deserializeDocumentRSessionAppSettings(&sv.RSessionAppSettings, value); err != nil { + return err + } + + case "RStudioServerProAppSettings": + if err := awsAwsjson11_deserializeDocumentRStudioServerProAppSettings(&sv.RStudioServerProAppSettings, value); err != nil { + return err + } + case "SecurityGroups": if err := awsAwsjson11_deserializeDocumentSecurityGroupIds(&sv.SecurityGroups, value); err != nil { return err @@ -53273,6 +54010,47 @@ func awsAwsjson11_deserializeOpDocumentAssociateTrialComponentOutput(v **Associa return nil } +func awsAwsjson11_deserializeOpDocumentBatchDescribeModelPackageOutput(v **BatchDescribeModelPackageOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *BatchDescribeModelPackageOutput + if *v == nil { + sv = &BatchDescribeModelPackageOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "BatchDescribeModelPackageErrorMap": + if err := awsAwsjson11_deserializeDocumentBatchDescribeModelPackageErrorMap(&sv.BatchDescribeModelPackageErrorMap, value); err != nil { + return err + } + + case "ModelPackageSummaries": + if err := awsAwsjson11_deserializeDocumentModelPackageSummaries(&sv.ModelPackageSummaries, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentCreateActionOutput(v **CreateActionOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -57141,6 +57919,15 @@ func awsAwsjson11_deserializeOpDocumentDescribeDomainOutput(v **DescribeDomainOu sv.AppNetworkAccessType = types.AppNetworkAccessType(jtv) } + case "AppSecurityGroupManagement": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AppSecurityGroupManagement to be of type string, got %T instead", value) + } + sv.AppSecurityGroupManagement = types.AppSecurityGroupManagement(jtv) + } + case "AuthMode": if value != nil { jtv, ok := value.(string) @@ -57198,6 +57985,11 @@ func awsAwsjson11_deserializeOpDocumentDescribeDomainOutput(v **DescribeDomainOu sv.DomainName = ptr.String(jtv) } + case "DomainSettings": + if err := awsAwsjson11_deserializeDocumentDomainSettings(&sv.DomainSettings, value); err != nil { + return err + } + case "FailureReason": if value != nil { jtv, ok := value.(string) @@ -57250,6 +58042,15 @@ func awsAwsjson11_deserializeOpDocumentDescribeDomainOutput(v **DescribeDomainOu } } + case "SecurityGroupIdForDomainBoundary": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SecurityGroupId to be of type string, got %T instead", value) + } + sv.SecurityGroupIdForDomainBoundary = ptr.String(jtv) + } + case "SingleSignOnManagedApplicationInstanceId": if value != nil { jtv, ok := value.(string) @@ -59198,6 +59999,11 @@ func awsAwsjson11_deserializeOpDocumentDescribeModelPackageOutput(v **DescribeMo } } + case "CustomerMetadataProperties": + if err := awsAwsjson11_deserializeDocumentCustomerMetadataMap(&sv.CustomerMetadataProperties, value); err != nil { + return err + } + case "InferenceSpecification": if err := awsAwsjson11_deserializeDocumentInferenceSpecification(&sv.InferenceSpecification, value); err != nil { return err @@ -60477,6 +61283,27 @@ func awsAwsjson11_deserializeOpDocumentDescribeProjectOutput(v **DescribeProject } } + case "LastModifiedBy": + if err := awsAwsjson11_deserializeDocumentUserContext(&sv.LastModifiedBy, value); err != nil { + return err + } + + case "LastModifiedTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastModifiedTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + case "ProjectArn": if value != nil { jtv, ok := value.(string) @@ -65432,6 +66259,46 @@ func awsAwsjson11_deserializeOpDocumentUpdatePipelineOutput(v **UpdatePipelineOu return nil } +func awsAwsjson11_deserializeOpDocumentUpdateProjectOutput(v **UpdateProjectOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateProjectOutput + if *v == nil { + sv = &UpdateProjectOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ProjectArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ProjectArn to be of type string, got %T instead", value) + } + sv.ProjectArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentUpdateTrainingJobOutput(v **UpdateTrainingJobOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/sagemaker/generated.json b/service/sagemaker/generated.json index 49481379b20..2b700cf7931 100644 --- a/service/sagemaker/generated.json +++ b/service/sagemaker/generated.json @@ -9,6 +9,7 @@ "api_op_AddAssociation.go", "api_op_AddTags.go", "api_op_AssociateTrialComponent.go", + "api_op_BatchDescribeModelPackage.go", "api_op_CreateAction.go", "api_op_CreateAlgorithm.go", "api_op_CreateApp.go", @@ -240,6 +241,7 @@ "api_op_UpdateNotebookInstanceLifecycleConfig.go", "api_op_UpdatePipeline.go", "api_op_UpdatePipelineExecution.go", + "api_op_UpdateProject.go", "api_op_UpdateTrainingJob.go", "api_op_UpdateTrial.go", "api_op_UpdateTrialComponent.go", diff --git a/service/sagemaker/internal/endpoints/endpoints.go b/service/sagemaker/internal/endpoints/endpoints.go index dedb5bbba69..5325df3f997 100644 --- a/service/sagemaker/internal/endpoints/endpoints.go +++ b/service/sagemaker/internal/endpoints/endpoints.go @@ -170,6 +170,11 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-gov-west-1", }, }, + "us-gov-west-1-secondary": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/sagemaker/serializers.go b/service/sagemaker/serializers.go index 2c362b4d008..09be257bc5f 100644 --- a/service/sagemaker/serializers.go +++ b/service/sagemaker/serializers.go @@ -157,6 +157,53 @@ func (m *awsAwsjson11_serializeOpAssociateTrialComponent) HandleSerialize(ctx co return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpBatchDescribeModelPackage struct { +} + +func (*awsAwsjson11_serializeOpBatchDescribeModelPackage) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpBatchDescribeModelPackage) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*BatchDescribeModelPackageInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("SageMaker.BatchDescribeModelPackage") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentBatchDescribeModelPackageInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpCreateAction struct { } @@ -11014,6 +11061,53 @@ func (m *awsAwsjson11_serializeOpUpdatePipelineExecution) HandleSerialize(ctx co return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpUpdateProject struct { +} + +func (*awsAwsjson11_serializeOpUpdateProject) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpUpdateProject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UpdateProjectInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("SageMaker.UpdateProject") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentUpdateProjectInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpUpdateTrainingJob struct { } @@ -12412,6 +12506,28 @@ func awsAwsjson11_serializeDocumentCsvContentTypes(v []string, value smithyjson. return nil } +func awsAwsjson11_serializeDocumentCustomerMetadataKeyList(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsAwsjson11_serializeDocumentCustomerMetadataMap(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) + } + return nil +} + func awsAwsjson11_serializeDocumentCustomImage(v *types.CustomImage, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -12875,6 +12991,52 @@ func awsAwsjson11_serializeDocumentDevices(v []types.Device, value smithyjson.Va return nil } +func awsAwsjson11_serializeDocumentDomainSecurityGroupIds(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsAwsjson11_serializeDocumentDomainSettings(v *types.DomainSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.RStudioServerProDomainSettings != nil { + ok := object.Key("RStudioServerProDomainSettings") + if err := awsAwsjson11_serializeDocumentRStudioServerProDomainSettings(v.RStudioServerProDomainSettings, ok); err != nil { + return err + } + } + + if v.SecurityGroupIds != nil { + ok := object.Key("SecurityGroupIds") + if err := awsAwsjson11_serializeDocumentDomainSecurityGroupIds(v.SecurityGroupIds, ok); err != nil { + return err + } + } + + return nil +} + +func awsAwsjson11_serializeDocumentDomainSettingsForUpdate(v *types.DomainSettingsForUpdate, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.RStudioServerProDomainSettingsForUpdate != nil { + ok := object.Key("RStudioServerProDomainSettingsForUpdate") + if err := awsAwsjson11_serializeDocumentRStudioServerProDomainSettingsForUpdate(v.RStudioServerProDomainSettingsForUpdate, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeDocumentEdgeOutputConfig(v *types.EdgeOutputConfig, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -14525,6 +14687,17 @@ func awsAwsjson11_serializeDocumentModelMetrics(v *types.ModelMetrics, value smi return nil } +func awsAwsjson11_serializeDocumentModelPackageArnList(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsAwsjson11_serializeDocumentModelPackageContainerDefinition(v *types.ModelPackageContainerDefinition, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -16307,6 +16480,78 @@ func awsAwsjson11_serializeDocumentRetryStrategy(v *types.RetryStrategy, value s return nil } +func awsAwsjson11_serializeDocumentRSessionAppSettings(v *types.RSessionAppSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + return nil +} + +func awsAwsjson11_serializeDocumentRStudioServerProAppSettings(v *types.RStudioServerProAppSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.AccessStatus) > 0 { + ok := object.Key("AccessStatus") + ok.String(string(v.AccessStatus)) + } + + if len(v.UserGroup) > 0 { + ok := object.Key("UserGroup") + ok.String(string(v.UserGroup)) + } + + return nil +} + +func awsAwsjson11_serializeDocumentRStudioServerProDomainSettings(v *types.RStudioServerProDomainSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DefaultResourceSpec != nil { + ok := object.Key("DefaultResourceSpec") + if err := awsAwsjson11_serializeDocumentResourceSpec(v.DefaultResourceSpec, ok); err != nil { + return err + } + } + + if v.DomainExecutionRoleArn != nil { + ok := object.Key("DomainExecutionRoleArn") + ok.String(*v.DomainExecutionRoleArn) + } + + if v.RStudioConnectUrl != nil { + ok := object.Key("RStudioConnectUrl") + ok.String(*v.RStudioConnectUrl) + } + + if v.RStudioPackageManagerUrl != nil { + ok := object.Key("RStudioPackageManagerUrl") + ok.String(*v.RStudioPackageManagerUrl) + } + + return nil +} + +func awsAwsjson11_serializeDocumentRStudioServerProDomainSettingsForUpdate(v *types.RStudioServerProDomainSettingsForUpdate, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DefaultResourceSpec != nil { + ok := object.Key("DefaultResourceSpec") + if err := awsAwsjson11_serializeDocumentResourceSpec(v.DefaultResourceSpec, ok); err != nil { + return err + } + } + + if v.DomainExecutionRoleArn != nil { + ok := object.Key("DomainExecutionRoleArn") + ok.String(*v.DomainExecutionRoleArn) + } + + return nil +} + func awsAwsjson11_serializeDocumentRuleParameters(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -16467,6 +16712,25 @@ func awsAwsjson11_serializeDocumentServiceCatalogProvisioningDetails(v *types.Se return nil } +func awsAwsjson11_serializeDocumentServiceCatalogProvisioningUpdateDetails(v *types.ServiceCatalogProvisioningUpdateDetails, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ProvisioningArtifactId != nil { + ok := object.Key("ProvisioningArtifactId") + ok.String(*v.ProvisioningArtifactId) + } + + if v.ProvisioningParameters != nil { + ok := object.Key("ProvisioningParameters") + if err := awsAwsjson11_serializeDocumentProvisioningParameters(v.ProvisioningParameters, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeDocumentSharingSettings(v *types.SharingSettings, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -17233,6 +17497,20 @@ func awsAwsjson11_serializeDocumentUserSettings(v *types.UserSettings, value smi } } + if v.RSessionAppSettings != nil { + ok := object.Key("RSessionAppSettings") + if err := awsAwsjson11_serializeDocumentRSessionAppSettings(v.RSessionAppSettings, ok); err != nil { + return err + } + } + + if v.RStudioServerProAppSettings != nil { + ok := object.Key("RStudioServerProAppSettings") + if err := awsAwsjson11_serializeDocumentRStudioServerProAppSettings(v.RStudioServerProAppSettings, ok); err != nil { + return err + } + } + if v.SecurityGroups != nil { ok := object.Key("SecurityGroups") if err := awsAwsjson11_serializeDocumentSecurityGroupIds(v.SecurityGroups, ok); err != nil { @@ -17372,6 +17650,20 @@ func awsAwsjson11_serializeOpDocumentAssociateTrialComponentInput(v *AssociateTr return nil } +func awsAwsjson11_serializeOpDocumentBatchDescribeModelPackageInput(v *BatchDescribeModelPackageInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ModelPackageArnList != nil { + ok := object.Key("ModelPackageArnList") + if err := awsAwsjson11_serializeDocumentModelPackageArnList(v.ModelPackageArnList, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeOpDocumentCreateActionInput(v *CreateActionInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -17902,6 +18194,11 @@ func awsAwsjson11_serializeOpDocumentCreateDomainInput(v *CreateDomainInput, val ok.String(string(v.AppNetworkAccessType)) } + if len(v.AppSecurityGroupManagement) > 0 { + ok := object.Key("AppSecurityGroupManagement") + ok.String(string(v.AppSecurityGroupManagement)) + } + if len(v.AuthMode) > 0 { ok := object.Key("AuthMode") ok.String(string(v.AuthMode)) @@ -17919,6 +18216,13 @@ func awsAwsjson11_serializeOpDocumentCreateDomainInput(v *CreateDomainInput, val ok.String(*v.DomainName) } + if v.DomainSettings != nil { + ok := object.Key("DomainSettings") + if err := awsAwsjson11_serializeDocumentDomainSettings(v.DomainSettings, ok); err != nil { + return err + } + } + if v.HomeEfsFileSystemKmsKeyId != nil { ok := object.Key("HomeEfsFileSystemKmsKeyId") ok.String(*v.HomeEfsFileSystemKmsKeyId) @@ -18651,6 +18955,13 @@ func awsAwsjson11_serializeOpDocumentCreateModelPackageInput(v *CreateModelPacka ok.String(*v.ClientToken) } + if v.CustomerMetadataProperties != nil { + ok := object.Key("CustomerMetadataProperties") + if err := awsAwsjson11_serializeDocumentCustomerMetadataMap(v.CustomerMetadataProperties, ok); err != nil { + return err + } + } + if v.InferenceSpecification != nil { ok := object.Key("InferenceSpecification") if err := awsAwsjson11_serializeDocumentInferenceSpecification(v.InferenceSpecification, ok); err != nil { @@ -23932,6 +24243,13 @@ func awsAwsjson11_serializeOpDocumentUpdateDomainInput(v *UpdateDomainInput, val ok.String(*v.DomainId) } + if v.DomainSettingsForUpdate != nil { + ok := object.Key("DomainSettingsForUpdate") + if err := awsAwsjson11_serializeDocumentDomainSettingsForUpdate(v.DomainSettingsForUpdate, ok); err != nil { + return err + } + } + return nil } @@ -24055,6 +24373,20 @@ func awsAwsjson11_serializeOpDocumentUpdateModelPackageInput(v *UpdateModelPacka ok.String(*v.ApprovalDescription) } + if v.CustomerMetadataProperties != nil { + ok := object.Key("CustomerMetadataProperties") + if err := awsAwsjson11_serializeDocumentCustomerMetadataMap(v.CustomerMetadataProperties, ok); err != nil { + return err + } + } + + if v.CustomerMetadataPropertiesToRemove != nil { + ok := object.Key("CustomerMetadataPropertiesToRemove") + if err := awsAwsjson11_serializeDocumentCustomerMetadataKeyList(v.CustomerMetadataPropertiesToRemove, ok); err != nil { + return err + } + } + if len(v.ModelApprovalStatus) > 0 { ok := object.Key("ModelApprovalStatus") ok.String(string(v.ModelApprovalStatus)) @@ -24243,6 +24575,37 @@ func awsAwsjson11_serializeOpDocumentUpdatePipelineInput(v *UpdatePipelineInput, return nil } +func awsAwsjson11_serializeOpDocumentUpdateProjectInput(v *UpdateProjectInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ProjectDescription != nil { + ok := object.Key("ProjectDescription") + ok.String(*v.ProjectDescription) + } + + if v.ProjectName != nil { + ok := object.Key("ProjectName") + ok.String(*v.ProjectName) + } + + if v.ServiceCatalogProvisioningUpdateDetails != nil { + ok := object.Key("ServiceCatalogProvisioningUpdateDetails") + if err := awsAwsjson11_serializeDocumentServiceCatalogProvisioningUpdateDetails(v.ServiceCatalogProvisioningUpdateDetails, ok); err != nil { + return err + } + } + + if v.Tags != nil { + ok := object.Key("Tags") + if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeOpDocumentUpdateTrainingJobInput(v *UpdateTrainingJobInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/sagemaker/types/enums.go b/service/sagemaker/types/enums.go index 90de8ea5ae4..227e14c4100 100644 --- a/service/sagemaker/types/enums.go +++ b/service/sagemaker/types/enums.go @@ -220,6 +220,24 @@ func (AppNetworkAccessType) Values() []AppNetworkAccessType { } } +type AppSecurityGroupManagement string + +// Enum values for AppSecurityGroupManagement +const ( + AppSecurityGroupManagementService AppSecurityGroupManagement = "Service" + AppSecurityGroupManagementCustomer AppSecurityGroupManagement = "Customer" +) + +// Values returns all known values for AppSecurityGroupManagement. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (AppSecurityGroupManagement) Values() []AppSecurityGroupManagement { + return []AppSecurityGroupManagement{ + "Service", + "Customer", + } +} + type AppSortKey string // Enum values for AppSortKey @@ -264,9 +282,11 @@ type AppType string // Enum values for AppType const ( - AppTypeJupyterServer AppType = "JupyterServer" - AppTypeKernelGateway AppType = "KernelGateway" - AppTypeTensorBoard AppType = "TensorBoard" + AppTypeJupyterServer AppType = "JupyterServer" + AppTypeKernelGateway AppType = "KernelGateway" + AppTypeTensorBoard AppType = "TensorBoard" + AppTypeRStudioServerPro AppType = "RStudioServerPro" + AppTypeRSessionGateway AppType = "RSessionGateway" ) // Values returns all known values for AppType. Note that this can be expanded in @@ -277,6 +297,8 @@ func (AppType) Values() []AppType { "JupyterServer", "KernelGateway", "TensorBoard", + "RStudioServerPro", + "RSessionGateway", } } @@ -2985,6 +3007,9 @@ const ( ProjectStatusDeleteInProgress ProjectStatus = "DeleteInProgress" ProjectStatusDeleteFailed ProjectStatus = "DeleteFailed" ProjectStatusDeleteCompleted ProjectStatus = "DeleteCompleted" + ProjectStatusUpdateInProgress ProjectStatus = "UpdateInProgress" + ProjectStatusUpdateCompleted ProjectStatus = "UpdateCompleted" + ProjectStatusUpdateFailed ProjectStatus = "UpdateFailed" ) // Values returns all known values for ProjectStatus. Note that this can be @@ -2999,6 +3024,9 @@ func (ProjectStatus) Values() []ProjectStatus { "DeleteInProgress", "DeleteFailed", "DeleteCompleted", + "UpdateInProgress", + "UpdateCompleted", + "UpdateFailed", } } @@ -3153,6 +3181,42 @@ func (RootAccess) Values() []RootAccess { } } +type RStudioServerProAccessStatus string + +// Enum values for RStudioServerProAccessStatus +const ( + RStudioServerProAccessStatusEnabled RStudioServerProAccessStatus = "ENABLED" + RStudioServerProAccessStatusDisabled RStudioServerProAccessStatus = "DISABLED" +) + +// Values returns all known values for RStudioServerProAccessStatus. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (RStudioServerProAccessStatus) Values() []RStudioServerProAccessStatus { + return []RStudioServerProAccessStatus{ + "ENABLED", + "DISABLED", + } +} + +type RStudioServerProUserGroup string + +// Enum values for RStudioServerProUserGroup +const ( + RStudioServerProUserGroupAdmin RStudioServerProUserGroup = "R_STUDIO_ADMIN" + RStudioServerProUserGroupUser RStudioServerProUserGroup = "R_STUDIO_USER" +) + +// Values returns all known values for RStudioServerProUserGroup. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (RStudioServerProUserGroup) Values() []RStudioServerProUserGroup { + return []RStudioServerProUserGroup{ + "R_STUDIO_ADMIN", + "R_STUDIO_USER", + } +} + type RuleEvaluationStatus string // Enum values for RuleEvaluationStatus diff --git a/service/sagemaker/types/types.go b/service/sagemaker/types/types.go index 471ee95c4da..49666dbd4c3 100644 --- a/service/sagemaker/types/types.go +++ b/service/sagemaker/types/types.go @@ -1806,6 +1806,62 @@ type AutoRollbackConfig struct { noSmithyDocumentSerde } +// The error code and error description associated with the resource. +type BatchDescribeModelPackageError struct { + + // + // + // This member is required. + ErrorCode *string + + // + // + // This member is required. + ErrorResponse *string + + noSmithyDocumentSerde +} + +// Provides summary information about the model package. +type BatchDescribeModelPackageSummary struct { + + // The creation time of the mortgage package summary. + // + // This member is required. + CreationTime *time.Time + + // Defines how to perform inference generation after a training job is run. + // + // This member is required. + InferenceSpecification *InferenceSpecification + + // The Amazon Resource Name (ARN) of the model package. + // + // This member is required. + ModelPackageArn *string + + // The group name for the model package + // + // This member is required. + ModelPackageGroupName *string + + // The status of the mortgage package. + // + // This member is required. + ModelPackageStatus ModelPackageStatus + + // The approval status of the model. + ModelApprovalStatus ModelApprovalStatus + + // The description of the model package. + ModelPackageDescription *string + + // The version number of a versioned model. + ModelPackageVersion *int32 + + noSmithyDocumentSerde +} + // Contains bias metrics for a model. type Bias struct { @@ -2889,6 +2945,29 @@ type DomainDetails struct { noSmithyDocumentSerde } +// A collection of settings that apply to the SageMaker Domain. These settings are +// specified through the CreateDomain API call. +type DomainSettings struct { + + // A collection of settings that configure the RStudioServerPro Domain-level app. + RStudioServerProDomainSettings *RStudioServerProDomainSettings + + // The security groups for the Amazon Virtual Private Cloud that the Domain uses + // for communication between Domain-level apps and user apps. + SecurityGroupIds []string + + noSmithyDocumentSerde +} + +// A collection of Domain configuration settings to update. +type DomainSettingsForUpdate struct { + + // A collection of RStudioServerPro Domain-level app settings to update. + RStudioServerProDomainSettingsForUpdate *RStudioServerProDomainSettingsForUpdate + + noSmithyDocumentSerde +} + // The model on the edge device. type EdgeModel struct { @@ -6685,6 +6764,9 @@ type ModelPackage struct { // The time that the model package was created. CreationTime *time.Time + // The metadata properties for the model package. + CustomerMetadataProperties map[string]string + // Defines how to perform inference generation after a training job is run. InferenceSpecification *InferenceSpecification @@ -9106,6 +9188,13 @@ type Project struct { // A timestamp specifying when the project was created. CreationTime *time.Time + // Information about the user who created or modified an experiment, trial, trial + // component, or project. + LastModifiedBy *UserContext + + // A timestamp container for when the project was last modified. + LastModifiedTime *time.Time + // The Amazon Resource Name (ARN) of the project. ProjectArn *string @@ -9681,6 +9770,64 @@ type RetryStrategy struct { noSmithyDocumentSerde } +// A collection of settings that apply to an RSessionGateway app. +type RSessionAppSettings struct { + noSmithyDocumentSerde +} + +// A collection of settings that configure user interaction with the +// RStudioServerPro app. RStudioServerProAppSettings cannot be updated. The +// RStudioServerPro app must be deleted and a new one created to make any changes. +type RStudioServerProAppSettings struct { + + // Indicates whether the current user has access to the RStudioServerPro app. + AccessStatus RStudioServerProAccessStatus + + // The level of permissions that the user has within the RStudioServerPro app. This + // value defaults to `User`. The `Admin` value allows the user access to the + // RStudio Administrative Dashboard. + UserGroup RStudioServerProUserGroup + + noSmithyDocumentSerde +} + +// A collection of settings that configure the RStudioServerPro Domain-level app. +type RStudioServerProDomainSettings struct { + + // The ARN of the execution role for the RStudioServerPro Domain-level app. + // + // This member is required. + DomainExecutionRoleArn *string + + // Specifies the ARN's of a SageMaker image and SageMaker image version, and the + // instance type that the version runs on. + DefaultResourceSpec *ResourceSpec + + // A URL pointing to an RStudio Connect server. + RStudioConnectUrl *string + + // A URL pointing to an RStudio Package Manager server. + RStudioPackageManagerUrl *string + + noSmithyDocumentSerde +} + +// A collection of settings that update the current configuration for the +// RStudioServerPro Domain-level app. +type RStudioServerProDomainSettingsForUpdate struct { + + // The execution role for the RStudioServerPro Domain-level app. + // + // This member is required. + DomainExecutionRoleArn *string + + // Specifies the ARN's of a SageMaker image and SageMaker image version, and the + // instance type that the version runs on. + DefaultResourceSpec *ResourceSpec + + noSmithyDocumentSerde +} + // Describes the S3 data source. type S3DataSource struct { @@ -10070,6 +10217,20 @@ type ServiceCatalogProvisioningDetails struct { noSmithyDocumentSerde } +// Details that you specify to provision a service catalog product. For information +// about service catalog, see What is Amazon Web Services Service Catalog +// (https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html). +type ServiceCatalogProvisioningUpdateDetails struct { + + // The ID of the provisioning artifact. + ProvisioningArtifactId *string + + // A list of key value pairs that you specify when you provision a product. + ProvisioningParameters []ProvisioningParameter + + noSmithyDocumentSerde +} + // Specifies options for sharing SageMaker Studio notebooks. These settings are // specified as part of DefaultUserSettings when the CreateDomain API is called, // and as part of UserSettings when the CreateUserProfile API is called. When @@ -11738,6 +11899,13 @@ type UserSettings struct { // The kernel gateway app settings. KernelGatewayAppSettings *KernelGatewayAppSettings + // A collection of settings that configure the RSessionGateway app. + RSessionAppSettings *RSessionAppSettings + + // A collection of settings that configure user interaction with the + // RStudioServerPro app. + RStudioServerProAppSettings *RStudioServerProAppSettings + // The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses // for communication. Optional when the CreateDomain.AppNetworkAccessType parameter // is set to PublicInternetOnly. Required when the diff --git a/service/sagemaker/validators.go b/service/sagemaker/validators.go index 292d8de46ba..3d3cbf90d55 100644 --- a/service/sagemaker/validators.go +++ b/service/sagemaker/validators.go @@ -70,6 +70,26 @@ func (m *validateOpAssociateTrialComponent) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpBatchDescribeModelPackage struct { +} + +func (*validateOpBatchDescribeModelPackage) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpBatchDescribeModelPackage) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*BatchDescribeModelPackageInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpBatchDescribeModelPackageInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateAction struct { } @@ -3690,6 +3710,26 @@ func (m *validateOpUpdatePipeline) HandleInitialize(ctx context.Context, in midd return next.HandleInitialize(ctx, in) } +type validateOpUpdateProject struct { +} + +func (*validateOpUpdateProject) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUpdateProject) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UpdateProjectInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUpdateProjectInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUpdateTrainingJob struct { } @@ -3822,6 +3862,10 @@ func addOpAssociateTrialComponentValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpAssociateTrialComponent{}, middleware.After) } +func addOpBatchDescribeModelPackageValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpBatchDescribeModelPackage{}, middleware.After) +} + func addOpCreateActionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateAction{}, middleware.After) } @@ -4546,6 +4590,10 @@ func addOpUpdatePipelineValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdatePipeline{}, middleware.After) } +func addOpUpdateProjectValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUpdateProject{}, middleware.After) +} + func addOpUpdateTrainingJobValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateTrainingJob{}, middleware.After) } @@ -5609,6 +5657,40 @@ func validateDevices(v []types.Device) error { } } +func validateDomainSettings(v *types.DomainSettings) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DomainSettings"} + if v.RStudioServerProDomainSettings != nil { + if err := validateRStudioServerProDomainSettings(v.RStudioServerProDomainSettings); err != nil { + invalidParams.AddNested("RStudioServerProDomainSettings", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateDomainSettingsForUpdate(v *types.DomainSettingsForUpdate) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DomainSettingsForUpdate"} + if v.RStudioServerProDomainSettingsForUpdate != nil { + if err := validateRStudioServerProDomainSettingsForUpdate(v.RStudioServerProDomainSettingsForUpdate); err != nil { + invalidParams.AddNested("RStudioServerProDomainSettingsForUpdate", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateEdgeOutputConfig(v *types.EdgeOutputConfig) error { if v == nil { return nil @@ -7808,6 +7890,36 @@ func validateRetryStrategy(v *types.RetryStrategy) error { } } +func validateRStudioServerProDomainSettings(v *types.RStudioServerProDomainSettings) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "RStudioServerProDomainSettings"} + if v.DomainExecutionRoleArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainExecutionRoleArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateRStudioServerProDomainSettingsForUpdate(v *types.RStudioServerProDomainSettingsForUpdate) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "RStudioServerProDomainSettingsForUpdate"} + if v.DomainExecutionRoleArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainExecutionRoleArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateS3DataSource(v *types.S3DataSource) error { if v == nil { return nil @@ -8490,6 +8602,21 @@ func validateOpAssociateTrialComponentInput(v *AssociateTrialComponentInput) err } } +func validateOpBatchDescribeModelPackageInput(v *BatchDescribeModelPackageInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "BatchDescribeModelPackageInput"} + if v.ModelPackageArnList == nil { + invalidParams.Add(smithy.NewErrParamRequired("ModelPackageArnList")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateActionInput(v *CreateActionInput) error { if v == nil { return nil @@ -8904,6 +9031,11 @@ func validateOpCreateDomainInput(v *CreateDomainInput) error { invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) } } + if v.DomainSettings != nil { + if err := validateDomainSettings(v.DomainSettings); err != nil { + invalidParams.AddNested("DomainSettings", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -12091,6 +12223,11 @@ func validateOpUpdateDomainInput(v *UpdateDomainInput) error { invalidParams.AddNested("DefaultUserSettings", err.(smithy.InvalidParamsError)) } } + if v.DomainSettingsForUpdate != nil { + if err := validateDomainSettingsForUpdate(v.DomainSettingsForUpdate); err != nil { + invalidParams.AddNested("DomainSettingsForUpdate", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -12186,9 +12323,6 @@ func validateOpUpdateModelPackageInput(v *UpdateModelPackageInput) error { if v.ModelPackageArn == nil { invalidParams.Add(smithy.NewErrParamRequired("ModelPackageArn")) } - if len(v.ModelApprovalStatus) == 0 { - invalidParams.Add(smithy.NewErrParamRequired("ModelApprovalStatus")) - } if invalidParams.Len() > 0 { return invalidParams } else { @@ -12278,6 +12412,26 @@ func validateOpUpdatePipelineInput(v *UpdatePipelineInput) error { } } +func validateOpUpdateProjectInput(v *UpdateProjectInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UpdateProjectInput"} + if v.ProjectName == nil { + invalidParams.Add(smithy.NewErrParamRequired("ProjectName")) + } + if v.Tags != nil { + if err := validateTagList(v.Tags); err != nil { + invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUpdateTrainingJobInput(v *UpdateTrainingJobInput) error { if v == nil { return nil diff --git a/service/servicediscovery/internal/endpoints/endpoints.go b/service/servicediscovery/internal/endpoints/endpoints.go index 2b4ea4d8aa5..ea654d93374 100644 --- a/service/servicediscovery/internal/endpoints/endpoints.go +++ b/service/servicediscovery/internal/endpoints/endpoints.go @@ -71,14 +71,25 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, - "me-south-1": endpoints.Endpoint{}, - "sa-east-1": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, + "me-south-1": endpoints.Endpoint{}, + "sa-east-1": endpoints.Endpoint{}, + "servicediscovery": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, "servicediscovery-fips": endpoints.Endpoint{ Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -86,9 +97,33 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-east-1": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -135,6 +170,11 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "servicediscovery": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, "servicediscovery-fips": endpoints.Endpoint{ Hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -142,7 +182,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/ssmincidents/api_op_CreateReplicationSet.go b/service/ssmincidents/api_op_CreateReplicationSet.go index c02c76f7d2a..be6d816354c 100644 --- a/service/ssmincidents/api_op_CreateReplicationSet.go +++ b/service/ssmincidents/api_op_CreateReplicationSet.go @@ -37,7 +37,8 @@ type CreateReplicationSetInput struct { // This member is required. Regions map[string]types.RegionMapInputValue - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string noSmithyDocumentSerde diff --git a/service/ssmincidents/api_op_CreateResponsePlan.go b/service/ssmincidents/api_op_CreateResponsePlan.go index 90ed4f826f8..0602f62ebb2 100644 --- a/service/ssmincidents/api_op_CreateResponsePlan.go +++ b/service/ssmincidents/api_op_CreateResponsePlan.go @@ -45,10 +45,11 @@ type CreateResponsePlanInput struct { // The actions that the response plan starts at the beginning of an incident. Actions []types.Action - // The AWS Chatbot chat channel used for collaboration during an incident. + // The Chatbot chat channel used for collaboration during an incident. ChatChannel types.ChatChannel - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string // The long format of the response plan name. This field can contain spaces. diff --git a/service/ssmincidents/api_op_CreateTimelineEvent.go b/service/ssmincidents/api_op_CreateTimelineEvent.go index 6978fa96bf4..b020fc91091 100644 --- a/service/ssmincidents/api_op_CreateTimelineEvent.go +++ b/service/ssmincidents/api_op_CreateTimelineEvent.go @@ -33,8 +33,8 @@ func (c *Client) CreateTimelineEvent(ctx context.Context, params *CreateTimeline type CreateTimelineEventInput struct { - // A valid JSON string. There is no other schema imposed. A short description of - // the event. + // A short description of the event as a valid JSON string. There is no other + // schema imposed. // // This member is required. EventData *string @@ -49,8 +49,8 @@ type CreateTimelineEventInput struct { // This member is required. EventType *string - // The Amazon Resource Name (ARN) of the incident record you are adding the event - // to. + // The Amazon Resource Name (ARN) of the incident record to which the event will be + // added. // // This member is required. IncidentRecordArn *string diff --git a/service/ssmincidents/api_op_DeleteResourcePolicy.go b/service/ssmincidents/api_op_DeleteResourcePolicy.go index 562ea0d5805..5cb5e7d8006 100644 --- a/service/ssmincidents/api_op_DeleteResourcePolicy.go +++ b/service/ssmincidents/api_op_DeleteResourcePolicy.go @@ -10,7 +10,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deletes the resource policy that AWS Resource Access Manager uses to share your +// Deletes the resource policy that Resource Access Manager uses to share your // Incident Manager resource. func (c *Client) DeleteResourcePolicy(ctx context.Context, params *DeleteResourcePolicyInput, optFns ...func(*Options)) (*DeleteResourcePolicyOutput, error) { if params == nil { diff --git a/service/ssmincidents/api_op_DeleteTimelineEvent.go b/service/ssmincidents/api_op_DeleteTimelineEvent.go index 28c841aa1ca..69c641c67a5 100644 --- a/service/ssmincidents/api_op_DeleteTimelineEvent.go +++ b/service/ssmincidents/api_op_DeleteTimelineEvent.go @@ -34,7 +34,7 @@ type DeleteTimelineEventInput struct { // This member is required. EventId *string - // The Amazon Resource Name (ARN) of the incident that the event is part of. + // The Amazon Resource Name (ARN) of the incident that includes the timeline event. // // This member is required. IncidentRecordArn *string diff --git a/service/ssmincidents/api_op_GetIncidentRecord.go b/service/ssmincidents/api_op_GetIncidentRecord.go index 65afcfade8c..3f146a36020 100644 --- a/service/ssmincidents/api_op_GetIncidentRecord.go +++ b/service/ssmincidents/api_op_GetIncidentRecord.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns the details of the specified incident record. +// Returns the details for the specified incident record. func (c *Client) GetIncidentRecord(ctx context.Context, params *GetIncidentRecordInput, optFns ...func(*Options)) (*GetIncidentRecordOutput, error) { if params == nil { params = &GetIncidentRecordInput{} @@ -39,7 +39,7 @@ type GetIncidentRecordInput struct { type GetIncidentRecordOutput struct { - // Details structure of the incident record. + // Details the structure of the incident record. // // This member is required. IncidentRecord *types.IncidentRecord diff --git a/service/ssmincidents/api_op_GetResponsePlan.go b/service/ssmincidents/api_op_GetResponsePlan.go index 07a547ec4af..26e1ab3ac87 100644 --- a/service/ssmincidents/api_op_GetResponsePlan.go +++ b/service/ssmincidents/api_op_GetResponsePlan.go @@ -49,7 +49,7 @@ type GetResponsePlanOutput struct { // This member is required. IncidentTemplate *types.IncidentTemplate - // The short format name of the response plan. Can't contain spaces. + // The short format name of the response plan. The name can't contain spaces. // // This member is required. Name *string @@ -57,7 +57,7 @@ type GetResponsePlanOutput struct { // The actions that this response plan takes at the beginning of the incident. Actions []types.Action - // The AWS Chatbot chat channel used for collaboration during an incident. + // The Chatbot chat channel used for collaboration during an incident. ChatChannel types.ChatChannel // The long format name of the response plan. Can contain spaces. diff --git a/service/ssmincidents/api_op_GetTimelineEvent.go b/service/ssmincidents/api_op_GetTimelineEvent.go index 37047be3979..466e9aeba94 100644 --- a/service/ssmincidents/api_op_GetTimelineEvent.go +++ b/service/ssmincidents/api_op_GetTimelineEvent.go @@ -29,14 +29,13 @@ func (c *Client) GetTimelineEvent(ctx context.Context, params *GetTimelineEventI type GetTimelineEventInput struct { - // The ID of the event. You can get an event's ID when you create it or by using + // The ID of the event. You can get an event's ID when you create it, or by using // ListTimelineEvents. // // This member is required. EventId *string - // The Amazon Resource Name (ARN) of the incident that the timeline event is part - // of. + // The Amazon Resource Name (ARN) of the incident that includes the timeline event. // // This member is required. IncidentRecordArn *string diff --git a/service/ssmincidents/api_op_ListIncidentRecords.go b/service/ssmincidents/api_op_ListIncidentRecords.go index efa079c9834..95cd7535866 100644 --- a/service/ssmincidents/api_op_ListIncidentRecords.go +++ b/service/ssmincidents/api_op_ListIncidentRecords.go @@ -31,8 +31,8 @@ func (c *Client) ListIncidentRecords(ctx context.Context, params *ListIncidentRe type ListIncidentRecordsInput struct { - // Filter the list of incident records you are searching through. You can filter on - // the following keys: + // Filters the list of incident records through which you are searching. You can + // filter on the following keys: // // * creationTime // @@ -40,7 +40,20 @@ type ListIncidentRecordsInput struct { // // * status // - // * createdBy + // * + // createdBy + // + // Note the following when deciding how to use Filters: + // + // * If you don't + // specify a Filter, the response includes all incident records. + // + // * If you specify + // more than one filter in a single request, the response returns incident records + // that match all filters. + // + // * If you specify a filter with more than one value, the + // response returns incident records that match any of the values provided. Filters []types.Filter // The maximum number of results per page. diff --git a/service/ssmincidents/api_op_ListRelatedItems.go b/service/ssmincidents/api_op_ListRelatedItems.go index baf4faa6933..95d7565fe02 100644 --- a/service/ssmincidents/api_op_ListRelatedItems.go +++ b/service/ssmincidents/api_op_ListRelatedItems.go @@ -30,8 +30,8 @@ func (c *Client) ListRelatedItems(ctx context.Context, params *ListRelatedItemsI type ListRelatedItemsInput struct { - // The Amazon Resource Name (ARN) of the incident record that you are listing - // related items for. + // The Amazon Resource Name (ARN) of the incident record containing the listed + // related items. // // This member is required. IncidentRecordArn *string diff --git a/service/ssmincidents/api_op_ListTimelineEvents.go b/service/ssmincidents/api_op_ListTimelineEvents.go index 4b8209629d2..a4315a661d0 100644 --- a/service/ssmincidents/api_op_ListTimelineEvents.go +++ b/service/ssmincidents/api_op_ListTimelineEvents.go @@ -12,7 +12,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists timeline events of the specified incident record. +// Lists timeline events for the specified incident record. func (c *Client) ListTimelineEvents(ctx context.Context, params *ListTimelineEventsInput, optFns ...func(*Options)) (*ListTimelineEventsOutput, error) { if params == nil { params = &ListTimelineEventsInput{} @@ -30,7 +30,7 @@ func (c *Client) ListTimelineEvents(ctx context.Context, params *ListTimelineEve type ListTimelineEventsInput struct { - // The Amazon Resource Name (ARN) of the incident that the event is part of. + // The Amazon Resource Name (ARN) of the incident that includes the timeline event. // // This member is required. IncidentRecordArn *string @@ -41,6 +41,19 @@ type ListTimelineEventsInput struct { // * eventTime // // * eventType + // + // Note + // the following when deciding how to use Filters: + // + // * If you don't specify a + // Filter, the response includes all timeline events. + // + // * If you specify more than + // one filter in a single request, the response returns timeline events that match + // all filters. + // + // * If you specify a filter with more than one value, the response + // returns timeline events that match any of the values provided. Filters []types.Filter // The maximum number of results per page. diff --git a/service/ssmincidents/api_op_StartIncident.go b/service/ssmincidents/api_op_StartIncident.go index a62954a6957..c4f93e4b642 100644 --- a/service/ssmincidents/api_op_StartIncident.go +++ b/service/ssmincidents/api_op_StartIncident.go @@ -32,12 +32,13 @@ func (c *Client) StartIncident(ctx context.Context, params *StartIncidentInput, type StartIncidentInput struct { // The Amazon Resource Name (ARN) of the response plan that pre-defines summary, - // chat channels, SNS topics, runbooks, title, and impact of the incident. + // chat channels, Amazon SNS topics, runbooks, title, and impact of the incident. // // This member is required. ResponsePlanArn *string - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string // Defines the impact to the customers. Providing an impact overwrites the impact @@ -61,7 +62,7 @@ type StartIncidentInput struct { Impact *int32 // Add related items to the incident for other responders to use. Related items are - // AWS resources, external links, or files uploaded to an S3 bucket. + // AWS resources, external links, or files uploaded to an Amazon S3 bucket. RelatedItems []types.RelatedItem // Provide a title for the incident. Providing a title overwrites the title diff --git a/service/ssmincidents/api_op_UpdateDeletionProtection.go b/service/ssmincidents/api_op_UpdateDeletionProtection.go index 50771c79bdd..bf44a70c03f 100644 --- a/service/ssmincidents/api_op_UpdateDeletionProtection.go +++ b/service/ssmincidents/api_op_UpdateDeletionProtection.go @@ -40,7 +40,8 @@ type UpdateDeletionProtectionInput struct { // This member is required. DeletionProtected *bool - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string noSmithyDocumentSerde diff --git a/service/ssmincidents/api_op_UpdateIncidentRecord.go b/service/ssmincidents/api_op_UpdateIncidentRecord.go index 13238122eb4..b9eec98f768 100644 --- a/service/ssmincidents/api_op_UpdateIncidentRecord.go +++ b/service/ssmincidents/api_op_UpdateIncidentRecord.go @@ -12,9 +12,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Update the details of an incident record. You can use this action to update an -// incident record from the defined chat channel. For more information about using -// actions in chat channels, see Interacting through chat +// Update the details of an incident record. You can use this operation to update +// an incident record from the defined chat channel. For more information about +// using actions in chat channels, see Interacting through chat // (https://docs.aws.amazon.com/incident-manager/latest/userguide/chat.html#chat-interact). func (c *Client) UpdateIncidentRecord(ctx context.Context, params *UpdateIncidentRecordInput, optFns ...func(*Options)) (*UpdateIncidentRecordOutput, error) { if params == nil { @@ -38,44 +38,45 @@ type UpdateIncidentRecordInput struct { // This member is required. Arn *string - // The AWS Chatbot chat channel for responders to collaborate in. + // The Chatbot chat channel where responders can collaborate. ChatChannel types.ChatChannel - // A token ensuring that the action is called only once with the specified details. + // A token that ensures that the operation is called only once with the specified + // details. ClientToken *string - // Defines the impact to customers and applications. Providing an impact overwrites - // the impact provided by the response plan. Possible impacts: + // Defines the impact of the incident to customers and applications. Providing an + // impact overwrites the impact provided by the response plan. Possible impacts: // - // * 1 - Critical - // impact, this typically relates to full application failure that impacts many to - // all customers. + // * + // 1 - Critical impact, full application failure that impacts many to all + // customers. // - // * 2 - High impact, partial application failure with impact to - // many customers. + // * 2 - High impact, partial application failure with impact to many + // customers. // - // * 3 - Medium impact, the application is providing reduced - // service to customers. + // * 3 - Medium impact, the application is providing reduced service to + // customers. // - // * 4 - Low impact, customer might aren't impacted by the - // problem yet. + // * 4 - Low impact, customer aren't impacted by the problem yet. // - // * 5 - No impact, customers aren't currently impacted but urgent - // action is needed to avoid impact. + // * 5 + // - No impact, customers aren't currently impacted but urgent action is needed to + // avoid impact. Impact *int32 - // The SNS targets that are notified when updates are made to an incident. Using - // multiple SNS topics creates redundancy in the case that a Region is down during - // the incident. + // The Amazon SNS targets that are notified when updates are made to an incident. + // Using multiple SNS topics creates redundancy in the event that a Region is down + // during the incident. NotificationTargets []types.NotificationTargetItem // The status of the incident. An incident can be Open or Resolved. Status types.IncidentRecordStatus - // The summary describes what has happened during the incident. + // A longer description of what occurred during the incident. Summary *string - // The title of the incident is a brief and easily recognizable. + // A brief description of the incident. Title *string noSmithyDocumentSerde diff --git a/service/ssmincidents/api_op_UpdateRelatedItems.go b/service/ssmincidents/api_op_UpdateRelatedItems.go index 394487e2c5c..ed56cf6db27 100644 --- a/service/ssmincidents/api_op_UpdateRelatedItems.go +++ b/service/ssmincidents/api_op_UpdateRelatedItems.go @@ -30,8 +30,8 @@ func (c *Client) UpdateRelatedItems(ctx context.Context, params *UpdateRelatedIt type UpdateRelatedItemsInput struct { - // The Amazon Resource Name (ARN) of the incident record you are updating related - // items in. + // The Amazon Resource Name (ARN) of the incident record containing the related + // items you are updating. // // This member is required. IncidentRecordArn *string @@ -41,7 +41,8 @@ type UpdateRelatedItemsInput struct { // This member is required. RelatedItemsUpdate types.RelatedItemsUpdate - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string noSmithyDocumentSerde diff --git a/service/ssmincidents/api_op_UpdateReplicationSet.go b/service/ssmincidents/api_op_UpdateReplicationSet.go index 63f4318c4db..dd3d594bb09 100644 --- a/service/ssmincidents/api_op_UpdateReplicationSet.go +++ b/service/ssmincidents/api_op_UpdateReplicationSet.go @@ -40,7 +40,8 @@ type UpdateReplicationSetInput struct { // This member is required. Arn *string - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string noSmithyDocumentSerde diff --git a/service/ssmincidents/api_op_UpdateResponsePlan.go b/service/ssmincidents/api_op_UpdateResponsePlan.go index 4db102b99a4..91b1674f16c 100644 --- a/service/ssmincidents/api_op_UpdateResponsePlan.go +++ b/service/ssmincidents/api_op_UpdateResponsePlan.go @@ -38,21 +38,24 @@ type UpdateResponsePlanInput struct { // The actions that this response plan takes at the beginning of an incident. Actions []types.Action - // The AWS Chatbot chat channel used for collaboration during an incident. Use the + // The Chatbot chat channel used for collaboration during an incident. Use the // empty structure to remove the chat channel from the response plan. ChatChannel types.ChatChannel - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string - // The long format name of the response plan. Can't contain spaces. + // The long format name of the response plan. The display name can't contain + // spaces. DisplayName *string // The contacts and escalation plans that Incident Manager engages at the start of // the incident. Engagements []string - // Used to create only one incident record for an incident. + // The string Incident Manager uses to prevent duplicate incidents from being + // created by the same incident in the same account. IncidentTemplateDedupeString *string // Defines the impact to the customers. Providing an impact overwrites the impact @@ -70,14 +73,14 @@ type UpdateResponsePlanInput struct { // * 1 - No impact IncidentTemplateImpact *int32 - // The SNS targets that are notified when updates are made to an incident. + // The Amazon SNS targets that are notified when updates are made to an incident. IncidentTemplateNotificationTargets []types.NotificationTargetItem // A brief summary of the incident. This typically contains what has happened, // what's currently happening, and next steps. IncidentTemplateSummary *string - // The short format name of the incident. Can't contain spaces. + // The short format name of the incident. The title can't contain spaces. IncidentTemplateTitle *string noSmithyDocumentSerde diff --git a/service/ssmincidents/api_op_UpdateTimelineEvent.go b/service/ssmincidents/api_op_UpdateTimelineEvent.go index b0011b89ca3..39027c02fa9 100644 --- a/service/ssmincidents/api_op_UpdateTimelineEvent.go +++ b/service/ssmincidents/api_op_UpdateTimelineEvent.go @@ -36,13 +36,13 @@ type UpdateTimelineEventInput struct { // This member is required. EventId *string - // The Amazon Resource Name (ARN) of the incident that the timeline event is part - // of. + // The Amazon Resource Name (ARN) of the incident that includes the timeline event. // // This member is required. IncidentRecordArn *string - // A token ensuring that the action is called only once with the specified details. + // A token ensuring that the operation is called only once with the specified + // details. ClientToken *string // A short description of the event. diff --git a/service/ssmincidents/deserializers.go b/service/ssmincidents/deserializers.go index 06f72b6ee60..6e9746ee8c2 100644 --- a/service/ssmincidents/deserializers.go +++ b/service/ssmincidents/deserializers.go @@ -4503,6 +4503,22 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti sv.ResourceType = types.ResourceType(jtv) } + case "retryAfter": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.RetryAfter = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + default: _, _ = key, value diff --git a/service/ssmincidents/doc.go b/service/ssmincidents/doc.go index 8952142effd..30c8dc28dfa 100644 --- a/service/ssmincidents/doc.go +++ b/service/ssmincidents/doc.go @@ -3,12 +3,13 @@ // Package ssmincidents provides the API client, operations, and parameter types // for AWS Systems Manager Incident Manager. // -// AWS Systems Manager Incident Manager is an incident management console designed -// to help users mitigate and recover from incidents affecting their AWS-hosted -// applications. An incident is any unplanned interruption or reduction in quality -// of services. Incident Manager increases incident resolution by notifying -// responders of impact, highlighting relevant troubleshooting data, and providing -// collaboration tools to get services back up and running. To achieve the primary -// goal of reducing the time-to-resolution of critical incidents, Incident Manager -// automates response plans and enables responder team escalation. +// Systems Manager Incident Manager is an incident management console designed to +// help users mitigate and recover from incidents affecting their Amazon Web +// Services-hosted applications. An incident is any unplanned interruption or +// reduction in quality of services. Incident Manager increases incident resolution +// by notifying responders of impact, highlighting relevant troubleshooting data, +// and providing collaboration tools to get services back up and running. To +// achieve the primary goal of reducing the time-to-resolution of critical +// incidents, Incident Manager automates response plans and enables responder team +// escalation. package ssmincidents diff --git a/service/ssmincidents/types/errors.go b/service/ssmincidents/types/errors.go index a7ca712d7f5..53d9634abe0 100644 --- a/service/ssmincidents/types/errors.go +++ b/service/ssmincidents/types/errors.go @@ -5,9 +5,10 @@ package types import ( "fmt" smithy "github.com/aws/smithy-go" + "time" ) -// You don't have sufficient access to perform this action. +// You don't have sufficient access to perform this operation. type AccessDeniedException struct { Message *string @@ -32,6 +33,7 @@ type ConflictException struct { ResourceIdentifier *string ResourceType ResourceType + RetryAfter *time.Time noSmithyDocumentSerde } @@ -68,7 +70,7 @@ func (e *InternalServerException) ErrorMessage() string { func (e *InternalServerException) ErrorCode() string { return "InternalServerException" } func (e *InternalServerException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } -// Request references a resource which does not exist. +// Request references a resource which doesn't exist. type ResourceNotFoundException struct { Message *string @@ -136,7 +138,8 @@ func (e *ThrottlingException) ErrorMessage() string { func (e *ThrottlingException) ErrorCode() string { return "ThrottlingException" } func (e *ThrottlingException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The input fails to satisfy the constraints specified by an AWS service. +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. type ValidationException struct { Message *string diff --git a/service/ssmincidents/types/types.go b/service/ssmincidents/types/types.go index a58fa66957e..f3557b779c5 100644 --- a/service/ssmincidents/types/types.go +++ b/service/ssmincidents/types/types.go @@ -26,10 +26,11 @@ type ActionMemberSsmAutomation struct { func (*ActionMemberSsmAutomation) isAction() {} -// Defines the Region and KMS key to add to the replication set. +// Defines the Amazon Web Services Region and KMS key to add to the replication +// set. type AddRegionAction struct { - // The Region name to add to the replication set. + // The Amazon Web Services Region name to add to the replication set. // // This member is required. RegionName *string @@ -85,7 +86,7 @@ type AutomationExecutionMemberSsmExecutionArn struct { func (*AutomationExecutionMemberSsmExecutionArn) isAutomationExecution() {} -// The AWS Chatbot chat channel used for collaboration during an incident. +// The Chatbot chat channel used for collaboration during an incident. // // The following types satisfy this interface: // ChatChannelMemberEmpty @@ -103,9 +104,9 @@ type ChatChannelMemberEmpty struct { func (*ChatChannelMemberEmpty) isChatChannel() {} -// The SNS targets that AWS Chatbot uses to notify the chat channel of updates to -// an incident. You can also make updates to the incident through the chat channel -// by using the SNS topics. +// The Amazon SNS targets that Chatbot uses to notify the chat channel of updates +// to an incident. You can also make updates to the incident through the chat +// channel by using the Amazon SNS topics. type ChatChannelMemberChatbotSns struct { Value []string @@ -154,11 +155,12 @@ type ConditionMemberEquals struct { func (*ConditionMemberEquals) isCondition() {} -// Defines the information about the Region you're deleting from your replication -// set. +// Defines the information about the Amazon Web Services Region you're deleting +// from your replication set. type DeleteRegionAction struct { - // The name of the Region you're deleting from the replication set. + // The name of the Amazon Web Services Region you're deleting from the replication + // set. // // This member is required. RegionName *string @@ -233,7 +235,7 @@ type IncidentRecord struct { CreationTime *time.Time // The string Incident Manager uses to prevent duplicate incidents from being - // created by the same incident. + // created by the same incident in the same account. // // This member is required. DedupeString *string @@ -275,20 +277,20 @@ type IncidentRecord struct { // The chat channel used for collaboration during an incident. ChatChannel ChatChannel - // The SNS targets that are notified when updates are made to an incident. + // The Amazon SNS targets that are notified when updates are made to an incident. NotificationTargets []NotificationTargetItem // The time at which the incident was resolved. This appears as a timeline event. ResolvedTime *time.Time // The summary of the incident. The summary is a brief synopsis of what occurred, - // what is currently happening, and context. + // what's currently happening, and context of the incident. Summary *string noSmithyDocumentSerde } -// Details about how the incident record was created and when. +// Details about what created the incident record and when it was created. type IncidentRecordSource struct { // The principal that started the incident. @@ -297,8 +299,8 @@ type IncidentRecordSource struct { CreatedBy *string // The service that started the incident. This can be manually created from - // Incident Manager, automatically created using an AWS CloudWatch alarm, or Amazon - // EventBridge event. + // Incident Manager, automatically created using an Amazon CloudWatch alarm, or + // Amazon EventBridge event. // // This member is required. Source *string @@ -370,7 +372,7 @@ type IncidentTemplate struct { // same incident. DedupeString *string - // The SNS targets that are notified when updates are made to an incident. + // The Amazon SNS targets that are notified when updates are made to an incident. NotificationTargets []NotificationTargetItem // The summary of the incident. The summary is a brief synopsis of what occurred, @@ -429,7 +431,7 @@ type ItemValueMemberArn struct { func (*ItemValueMemberArn) isItemValue() {} -// The URL, if the related item is a non-AWS resource. +// The URL, if the related item is a non-Amazon Web Services resource. type ItemValueMemberUrl struct { Value string @@ -438,7 +440,7 @@ type ItemValueMemberUrl struct { func (*ItemValueMemberUrl) isItemValue() {} -// The metric definition, if the related item is a metric in CloudWatch. +// The metric definition, if the related item is a metric in Amazon CloudWatch. type ItemValueMemberMetricDefinition struct { Value string @@ -464,29 +466,32 @@ type NotificationTargetItemMemberSnsTopicArn struct { func (*NotificationTargetItemMemberSnsTopicArn) isNotificationTargetItem() {} -// Information about a Region in your replication set. +// Information about a Amazon Web Services Region in your replication set. type RegionInfo struct { - // The status of the Region in the replication set. + // The status of the Amazon Web Services Region in the replication set. // // This member is required. Status RegionStatus - // The most recent date and time that the Region's status was updated. + // The most recent date and time that Incident Manager updated the Amazon Web + // Services Region's status. // // This member is required. StatusUpdateDateTime *time.Time - // The ID of the KMS key used to encrypt the data in this Region. + // The ID of the KMS key used to encrypt the data in this Amazon Web Services + // Region. SseKmsKeyId *string - // Information displayed about the status of the Region. + // Information displayed about the status of the Amazon Web Services Region. StatusMessage *string noSmithyDocumentSerde } -// The mapping between a Region and the key that's used to encrypt the data. +// The mapping between a Amazon Web Services Region and the key that's used to +// encrypt the data. type RegionMapInputValue struct { // The KMS key used to encrypt the data in your replication set. @@ -536,8 +541,8 @@ type RelatedItemsUpdateMemberItemToRemove struct { func (*RelatedItemsUpdateMemberItemToRemove) isRelatedItemsUpdate() {} -// The set of Regions that your Incident Manager data will be replicated to and the -// KMS key used to encrypt the data. +// The set of Amazon Web Services Region that your Incident Manager data will be +// replicated to and the KMS key used to encrypt the data. type ReplicationSet struct { // Details about who created the replication set. @@ -551,8 +556,8 @@ type ReplicationSet struct { CreatedTime *time.Time // Determines if the replication set deletion protection is enabled or not. If - // deletion protection is enabled, you can't delete the last Region in the - // replication set. + // deletion protection is enabled, you can't delete the last Amazon Web Services + // Region in the replication set. // // This member is required. DeletionProtected *bool @@ -567,8 +572,8 @@ type ReplicationSet struct { // This member is required. LastModifiedTime *time.Time - // The map between each Region in your replication set and the KMS key that is used - // to encrypt the data in that Region. + // The map between each Amazon Web Services Region in your replication set and the + // KMS key that's used to encrypt the data in that Region. // // This member is required. RegionMap map[string]RegionInfo @@ -599,7 +604,7 @@ type ResourcePolicy struct { // This member is required. PolicyId *string - // The Region that policy allows resources to be used in. + // The Amazon Web Services Region that policy allows resources to be used in. // // This member is required. RamResourceShareRegion *string @@ -695,9 +700,9 @@ type TimelineEvent struct { type TriggerDetails struct { // Identifies the service that sourced the event. All events sourced from within - // AWS begin with "aws." Customer-generated events can have any value here, as long - // as it doesn't begin with "aws." We recommend the use of Java package-name style - // reverse domain-name strings. + // Amazon Web Services begin with "aws." Customer-generated events can have any + // value here, as long as it doesn't begin with "aws." We recommend the use of Java + // package-name style reverse domain-name strings. // // This member is required. Source *string @@ -707,11 +712,11 @@ type TriggerDetails struct { // This member is required. Timestamp *time.Time - // Raw data passed from either EventBridge, CloudWatch, or Incident Manager when an - // incident is created. + // Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or Incident + // Manager when an incident is created. RawData *string - // The ARN of the source that detected the incident. + // The Amazon Resource Name (ARN) of the source that detected the incident. TriggerArn *string noSmithyDocumentSerde @@ -726,7 +731,8 @@ type UpdateReplicationSetAction interface { isUpdateReplicationSetAction() } -// Details about the Region that you're adding to the replication set. +// Details about the Amazon Web Services Region that you're adding to the +// replication set. type UpdateReplicationSetActionMemberAddRegionAction struct { Value AddRegionAction @@ -735,7 +741,8 @@ type UpdateReplicationSetActionMemberAddRegionAction struct { func (*UpdateReplicationSetActionMemberAddRegionAction) isUpdateReplicationSetAction() {} -// Details about the Region that you're deleting to the replication set. +// Details about the Amazon Web Services Region that you're deleting to the +// replication set. type UpdateReplicationSetActionMemberDeleteRegionAction struct { Value DeleteRegionAction diff --git a/service/sso/internal/endpoints/endpoints.go b/service/sso/internal/endpoints/endpoints.go index 398f8bc96aa..187ae55b713 100644 --- a/service/sso/internal/endpoints/endpoints.go +++ b/service/sso/internal/endpoints/endpoints.go @@ -63,6 +63,24 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "ap-northeast-1": endpoints.Endpoint{ + Hostname: "portal.sso.ap-northeast-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-northeast-1", + }, + }, + "ap-northeast-2": endpoints.Endpoint{ + Hostname: "portal.sso.ap-northeast-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-northeast-2", + }, + }, + "ap-south-1": endpoints.Endpoint{ + Hostname: "portal.sso.ap-south-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-south-1", + }, + }, "ap-southeast-1": endpoints.Endpoint{ Hostname: "portal.sso.ap-southeast-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -87,6 +105,12 @@ var defaultPartitions = endpoints.Partitions{ Region: "eu-central-1", }, }, + "eu-north-1": endpoints.Endpoint{ + Hostname: "portal.sso.eu-north-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-north-1", + }, + }, "eu-west-1": endpoints.Endpoint{ Hostname: "portal.sso.eu-west-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -99,6 +123,18 @@ var defaultPartitions = endpoints.Partitions{ Region: "eu-west-2", }, }, + "eu-west-3": endpoints.Endpoint{ + Hostname: "portal.sso.eu-west-3.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "eu-west-3", + }, + }, + "sa-east-1": endpoints.Endpoint{ + Hostname: "portal.sso.sa-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "sa-east-1", + }, + }, "us-east-1": endpoints.Endpoint{ Hostname: "portal.sso.us-east-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -158,5 +194,13 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "us-gov-west-1": endpoints.Endpoint{ + Hostname: "portal.sso.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, + }, }, } diff --git a/service/storagegateway/internal/endpoints/endpoints.go b/service/storagegateway/internal/endpoints/endpoints.go index a456fd142ed..149a83d29a9 100644 --- a/service/storagegateway/internal/endpoints/endpoints.go +++ b/service/storagegateway/internal/endpoints/endpoints.go @@ -72,12 +72,18 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-1": endpoints.Endpoint{}, "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, - "eu-central-1": endpoints.Endpoint{}, - "eu-north-1": endpoints.Endpoint{}, - "eu-south-1": endpoints.Endpoint{}, - "eu-west-1": endpoints.Endpoint{}, - "eu-west-2": endpoints.Endpoint{}, - "eu-west-3": endpoints.Endpoint{}, + "ca-central-1-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + }, + "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, + "eu-south-1": endpoints.Endpoint{}, + "eu-west-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "eu-west-3": endpoints.Endpoint{}, "fips": endpoints.Endpoint{ Hostname: "storagegateway-fips.ca-central-1.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -87,9 +93,33 @@ var defaultPartitions = endpoints.Partitions{ "me-south-1": endpoints.Endpoint{}, "sa-east-1": endpoints.Endpoint{}, "us-east-1": endpoints.Endpoint{}, - "us-east-2": endpoints.Endpoint{}, - "us-west-1": endpoints.Endpoint{}, - "us-west-2": endpoints.Endpoint{}, + "us-east-1-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, + "us-east-2": endpoints.Endpoint{}, + "us-east-2-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + }, + "us-west-1": endpoints.Endpoint{}, + "us-west-1-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + }, + "us-west-2": endpoints.Endpoint{}, + "us-west-2-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + }, }, }, { @@ -143,7 +173,19 @@ var defaultPartitions = endpoints.Partitions{ }, }, "us-gov-east-1": endpoints.Endpoint{}, + "us-gov-east-1-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoints.Endpoint{}, + "us-gov-west-1-fips": endpoints.Endpoint{ + Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/support/internal/endpoints/endpoints.go b/service/support/internal/endpoints/endpoints.go index abf6d4c1969..0294772a4f1 100644 --- a/service/support/internal/endpoints/endpoints.go +++ b/service/support/internal/endpoints/endpoints.go @@ -147,6 +147,11 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-gov-west-1", }, }, + "us-gov-west-1": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, } diff --git a/service/textract/api_op_GetExpenseAnalysis.go b/service/textract/api_op_GetExpenseAnalysis.go new file mode 100644 index 00000000000..00f88b6cd3f --- /dev/null +++ b/service/textract/api_op_GetExpenseAnalysis.go @@ -0,0 +1,173 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package textract + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/textract/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets the results for an Amazon Textract asynchronous operation that analyzes +// invoices and receipts. Amazon Textract finds contact information, items +// purchased, and vendor name, from input invoices and receipts. You start +// asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, which +// returns a job identifier (JobId). Upon completion of the invoice/receipt +// analysis, Amazon Textract publishes the completion status to the Amazon Simple +// Notification Service (Amazon SNS) topic. This topic must be registered in the +// initial call to StartExpenseAnalysis. To get the results of the invoice/receipt +// analysis operation, first ensure that the status value published to the Amazon +// SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job +// identifier (JobId) from the initial call to StartExpenseAnalysis. Use the +// MaxResults parameter to limit the number of blocks that are returned. If there +// are more results than specified in MaxResults, the value of NextToken in the +// operation response contains a pagination token for getting the next set of +// results. To get the next page of results, call GetExpenseAnalysis, and populate +// the NextToken request parameter with the token value that's returned from the +// previous call to GetExpenseAnalysis. For more information, see Analyzing +// Invoices and Receipts +// (https://docs.aws.amazon.com/textract/latest/dg/invoices-receipts.html). +func (c *Client) GetExpenseAnalysis(ctx context.Context, params *GetExpenseAnalysisInput, optFns ...func(*Options)) (*GetExpenseAnalysisOutput, error) { + if params == nil { + params = &GetExpenseAnalysisInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetExpenseAnalysis", params, optFns, c.addOperationGetExpenseAnalysisMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetExpenseAnalysisOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetExpenseAnalysisInput struct { + + // A unique identifier for the text detection job. The JobId is returned from + // StartExpenseAnalysis. A JobId value is only valid for 7 days. + // + // This member is required. + JobId *string + + // The maximum number of results to return per paginated call. The largest value + // you can specify is 20. If you specify a value greater than 20, a maximum of 20 + // results is returned. The default value is 20. + MaxResults *int32 + + // If the previous response was incomplete (because there are more blocks to + // retrieve), Amazon Textract returns a pagination token in the response. You can + // use this pagination token to retrieve the next set of blocks. + NextToken *string + + noSmithyDocumentSerde +} + +type GetExpenseAnalysisOutput struct { + + // The current model version of AnalyzeExpense. + AnalyzeExpenseModelVersion *string + + // Information about a document that Amazon Textract processed. DocumentMetadata is + // returned in every page of paginated responses from an Amazon Textract operation. + DocumentMetadata *types.DocumentMetadata + + // The expenses detected by Amazon Textract. + ExpenseDocuments []types.ExpenseDocument + + // The current status of the text detection job. + JobStatus types.JobStatus + + // If the response is truncated, Amazon Textract returns this token. You can use + // this token in the subsequent request to retrieve the next set of text-detection + // results. + NextToken *string + + // Returns if the detection job could not be completed. Contains explanation for + // what error occured. + StatusMessage *string + + // A list of warnings that occurred during the text-detection operation for the + // document. + Warnings []types.Warning + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetExpenseAnalysisMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetExpenseAnalysis{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetExpenseAnalysis{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetExpenseAnalysisValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetExpenseAnalysis(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetExpenseAnalysis(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "textract", + OperationName: "GetExpenseAnalysis", + } +} diff --git a/service/textract/api_op_StartDocumentAnalysis.go b/service/textract/api_op_StartDocumentAnalysis.go index ac285da1b70..472619f7977 100644 --- a/service/textract/api_op_StartDocumentAnalysis.go +++ b/service/textract/api_op_StartDocumentAnalysis.go @@ -13,8 +13,8 @@ import ( // Starts the asynchronous analysis of an input document for relationships between // detected items such as key-value pairs, tables, and selection elements. -// StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and -// PDF format. The documents are stored in an Amazon S3 bucket. Use +// StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, +// and PDF format. The documents are stored in an Amazon S3 bucket. Use // DocumentLocation to specify the bucket name and file name of the document. // StartDocumentAnalysis returns a job identifier (JobId) that you use to get the // results of the operation. When text analysis is finished, Amazon Textract diff --git a/service/textract/api_op_StartDocumentTextDetection.go b/service/textract/api_op_StartDocumentTextDetection.go index 4626f95c3cf..96881b5a0a4 100644 --- a/service/textract/api_op_StartDocumentTextDetection.go +++ b/service/textract/api_op_StartDocumentTextDetection.go @@ -14,7 +14,7 @@ import ( // Starts the asynchronous detection of text in a document. Amazon Textract can // detect lines of text and the words that make up a line of text. // StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, -// and PDF format. The documents are stored in an Amazon S3 bucket. Use +// TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. Use // DocumentLocation to specify the bucket name and file name of the document. // StartTextDetection returns a job identifier (JobId) that you use to get the // results of the operation. When text detection is finished, Amazon Textract diff --git a/service/textract/api_op_StartExpenseAnalysis.go b/service/textract/api_op_StartExpenseAnalysis.go new file mode 100644 index 00000000000..9b1c8c06a7e --- /dev/null +++ b/service/textract/api_op_StartExpenseAnalysis.go @@ -0,0 +1,165 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package textract + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/textract/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Starts the asynchronous analysis of invoices or receipts for data like contact +// information, items purchased, and vendor names. StartExpenseAnalysis can analyze +// text in documents that are in JPEG, PNG, and PDF format. The documents must be +// stored in an Amazon S3 bucket. Use the DocumentLocation parameter to specify the +// name of your S3 bucket and the name of the document in that bucket. +// StartExpenseAnalysis returns a job identifier (JobId) that you will provide to +// GetExpenseAnalysis to retrieve the results of the operation. When the analysis +// of the input invoices/receipts is finished, Amazon Textract publishes a +// completion status to the Amazon Simple Notification Service (Amazon SNS) topic +// that you provide to the NotificationChannel. To obtain the results of the +// invoice and receipt analysis operation, ensure that the status value published +// to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass +// the job identifier (JobId) that was returned by your call to +// StartExpenseAnalysis. For more information, see Analyzing Invoices and Receipts +// (https://docs.aws.amazon.com/textract/latest/dg/invoice-receipts.html). +func (c *Client) StartExpenseAnalysis(ctx context.Context, params *StartExpenseAnalysisInput, optFns ...func(*Options)) (*StartExpenseAnalysisOutput, error) { + if params == nil { + params = &StartExpenseAnalysisInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "StartExpenseAnalysis", params, optFns, c.addOperationStartExpenseAnalysisMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*StartExpenseAnalysisOutput) + out.ResultMetadata = metadata + return out, nil +} + +type StartExpenseAnalysisInput struct { + + // The location of the document to be processed. + // + // This member is required. + DocumentLocation *types.DocumentLocation + + // The idempotent token that's used to identify the start request. If you use the + // same token with multiple StartDocumentTextDetection requests, the same JobId is + // returned. Use ClientRequestToken to prevent the same job from being accidentally + // started more than once. For more information, see Calling Amazon Textract + // Asynchronous Operations + // (https://docs.aws.amazon.com/textract/latest/dg/api-async.html) + ClientRequestToken *string + + // An identifier you specify that's included in the completion notification + // published to the Amazon SNS topic. For example, you can use JobTag to identify + // the type of document that the completion notification corresponds to (such as a + // tax form or a receipt). + JobTag *string + + // The KMS key used to encrypt the inference results. This can be in either Key ID + // or Key Alias format. When a KMS key is provided, the KMS key will be used for + // server-side encryption of the objects in the customer bucket. When this + // parameter is not enabled, the result will be encrypted server side,using SSE-S3. + KMSKeyId *string + + // The Amazon SNS topic ARN that you want Amazon Textract to publish the completion + // status of the operation to. + NotificationChannel *types.NotificationChannel + + // Sets if the output will go to a customer defined bucket. By default, Amazon + // Textract will save the results internally to be accessed by the + // GetExpenseAnalysis operation. + OutputConfig *types.OutputConfig + + noSmithyDocumentSerde +} + +type StartExpenseAnalysisOutput struct { + + // A unique identifier for the text detection job. The JobId is returned from + // StartExpenseAnalysis. A JobId value is only valid for 7 days. + JobId *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationStartExpenseAnalysisMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpStartExpenseAnalysis{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpStartExpenseAnalysis{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpStartExpenseAnalysisValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartExpenseAnalysis(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opStartExpenseAnalysis(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "textract", + OperationName: "StartExpenseAnalysis", + } +} diff --git a/service/textract/deserializers.go b/service/textract/deserializers.go index b16eab9e2ee..bc53830f3e9 100644 --- a/service/textract/deserializers.go +++ b/service/textract/deserializers.go @@ -691,6 +691,138 @@ func awsAwsjson11_deserializeOpErrorGetDocumentTextDetection(response *smithyhtt } } +type awsAwsjson11_deserializeOpGetExpenseAnalysis struct { +} + +func (*awsAwsjson11_deserializeOpGetExpenseAnalysis) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpGetExpenseAnalysis) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorGetExpenseAnalysis(response, &metadata) + } + output := &GetExpenseAnalysisOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentGetExpenseAnalysisOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorGetExpenseAnalysis(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidJobIdException", errorCode): + return awsAwsjson11_deserializeErrorInvalidJobIdException(response, errorBody) + + case strings.EqualFold("InvalidKMSKeyException", errorCode): + return awsAwsjson11_deserializeErrorInvalidKMSKeyException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpStartDocumentAnalysis struct { } @@ -979,6 +1111,150 @@ func awsAwsjson11_deserializeOpErrorStartDocumentTextDetection(response *smithyh } } +type awsAwsjson11_deserializeOpStartExpenseAnalysis struct { +} + +func (*awsAwsjson11_deserializeOpStartExpenseAnalysis) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpStartExpenseAnalysis) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorStartExpenseAnalysis(response, &metadata) + } + output := &StartExpenseAnalysisOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentStartExpenseAnalysisOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorStartExpenseAnalysis(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("BadDocumentException", errorCode): + return awsAwsjson11_deserializeErrorBadDocumentException(response, errorBody) + + case strings.EqualFold("DocumentTooLargeException", errorCode): + return awsAwsjson11_deserializeErrorDocumentTooLargeException(response, errorBody) + + case strings.EqualFold("IdempotentParameterMismatchException", errorCode): + return awsAwsjson11_deserializeErrorIdempotentParameterMismatchException(response, errorBody) + + case strings.EqualFold("InternalServerError", errorCode): + return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) + + case strings.EqualFold("InvalidKMSKeyException", errorCode): + return awsAwsjson11_deserializeErrorInvalidKMSKeyException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("InvalidS3ObjectException", errorCode): + return awsAwsjson11_deserializeErrorInvalidS3ObjectException(response, errorBody) + + case strings.EqualFold("LimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) + + case strings.EqualFold("ProvisionedThroughputExceededException", errorCode): + return awsAwsjson11_deserializeErrorProvisionedThroughputExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsAwsjson11_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("UnsupportedDocumentException", errorCode): + return awsAwsjson11_deserializeErrorUnsupportedDocumentException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + func awsAwsjson11_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) @@ -3948,6 +4224,88 @@ func awsAwsjson11_deserializeOpDocumentGetDocumentTextDetectionOutput(v **GetDoc return nil } +func awsAwsjson11_deserializeOpDocumentGetExpenseAnalysisOutput(v **GetExpenseAnalysisOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetExpenseAnalysisOutput + if *v == nil { + sv = &GetExpenseAnalysisOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AnalyzeExpenseModelVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.AnalyzeExpenseModelVersion = ptr.String(jtv) + } + + case "DocumentMetadata": + if err := awsAwsjson11_deserializeDocumentDocumentMetadata(&sv.DocumentMetadata, value); err != nil { + return err + } + + case "ExpenseDocuments": + if err := awsAwsjson11_deserializeDocumentExpenseDocumentList(&sv.ExpenseDocuments, value); err != nil { + return err + } + + case "JobStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected JobStatus to be of type string, got %T instead", value) + } + sv.JobStatus = types.JobStatus(jtv) + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PaginationToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "StatusMessage": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected StatusMessage to be of type string, got %T instead", value) + } + sv.StatusMessage = ptr.String(jtv) + } + + case "Warnings": + if err := awsAwsjson11_deserializeDocumentWarnings(&sv.Warnings, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentStartDocumentAnalysisOutput(v **StartDocumentAnalysisOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -4027,3 +4385,43 @@ func awsAwsjson11_deserializeOpDocumentStartDocumentTextDetectionOutput(v **Star *v = sv return nil } + +func awsAwsjson11_deserializeOpDocumentStartExpenseAnalysisOutput(v **StartExpenseAnalysisOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StartExpenseAnalysisOutput + if *v == nil { + sv = &StartExpenseAnalysisOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "JobId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected JobId to be of type string, got %T instead", value) + } + sv.JobId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} diff --git a/service/textract/generated.json b/service/textract/generated.json index 38c006b3b06..572a11130d3 100644 --- a/service/textract/generated.json +++ b/service/textract/generated.json @@ -10,8 +10,10 @@ "api_op_DetectDocumentText.go", "api_op_GetDocumentAnalysis.go", "api_op_GetDocumentTextDetection.go", + "api_op_GetExpenseAnalysis.go", "api_op_StartDocumentAnalysis.go", "api_op_StartDocumentTextDetection.go", + "api_op_StartExpenseAnalysis.go", "deserializers.go", "doc.go", "endpoints.go", diff --git a/service/textract/serializers.go b/service/textract/serializers.go index 3a7dad7bfe7..5a56928bbf4 100644 --- a/service/textract/serializers.go +++ b/service/textract/serializers.go @@ -249,6 +249,53 @@ func (m *awsAwsjson11_serializeOpGetDocumentTextDetection) HandleSerialize(ctx c return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpGetExpenseAnalysis struct { +} + +func (*awsAwsjson11_serializeOpGetExpenseAnalysis) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpGetExpenseAnalysis) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetExpenseAnalysisInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Textract.GetExpenseAnalysis") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentGetExpenseAnalysisInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpStartDocumentAnalysis struct { } @@ -342,6 +389,53 @@ func (m *awsAwsjson11_serializeOpStartDocumentTextDetection) HandleSerialize(ctx return next.HandleSerialize(ctx, in) } + +type awsAwsjson11_serializeOpStartExpenseAnalysis struct { +} + +func (*awsAwsjson11_serializeOpStartExpenseAnalysis) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpStartExpenseAnalysis) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*StartExpenseAnalysisInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + request.Request.URL.Path = "/" + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Textract.StartExpenseAnalysis") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentStartExpenseAnalysisInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} func awsAwsjson11_serializeDocumentContentClassifiers(v []types.ContentClassifier, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -591,6 +685,28 @@ func awsAwsjson11_serializeOpDocumentGetDocumentTextDetectionInput(v *GetDocumen return nil } +func awsAwsjson11_serializeOpDocumentGetExpenseAnalysisInput(v *GetExpenseAnalysisInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.JobId != nil { + ok := object.Key("JobId") + ok.String(*v.JobId) + } + + if v.MaxResults != nil { + ok := object.Key("MaxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentStartDocumentAnalysisInput(v *StartDocumentAnalysisInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -683,3 +799,46 @@ func awsAwsjson11_serializeOpDocumentStartDocumentTextDetectionInput(v *StartDoc return nil } + +func awsAwsjson11_serializeOpDocumentStartExpenseAnalysisInput(v *StartExpenseAnalysisInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ClientRequestToken != nil { + ok := object.Key("ClientRequestToken") + ok.String(*v.ClientRequestToken) + } + + if v.DocumentLocation != nil { + ok := object.Key("DocumentLocation") + if err := awsAwsjson11_serializeDocumentDocumentLocation(v.DocumentLocation, ok); err != nil { + return err + } + } + + if v.JobTag != nil { + ok := object.Key("JobTag") + ok.String(*v.JobTag) + } + + if v.KMSKeyId != nil { + ok := object.Key("KMSKeyId") + ok.String(*v.KMSKeyId) + } + + if v.NotificationChannel != nil { + ok := object.Key("NotificationChannel") + if err := awsAwsjson11_serializeDocumentNotificationChannel(v.NotificationChannel, ok); err != nil { + return err + } + } + + if v.OutputConfig != nil { + ok := object.Key("OutputConfig") + if err := awsAwsjson11_serializeDocumentOutputConfig(v.OutputConfig, ok); err != nil { + return err + } + } + + return nil +} diff --git a/service/textract/types/types.go b/service/textract/types/types.go index 6406d7a8143..d5bb50cca8d 100644 --- a/service/textract/types/types.go +++ b/service/textract/types/types.go @@ -99,10 +99,10 @@ type Block struct { // The page on which a block was detected. Page is returned by asynchronous // operations. Page values greater than 1 are only returned for multipage documents - // that are in PDF format. A scanned image (JPEG/PNG), even if it contains multiple - // document pages, is considered to be a single-page document. The value of Page is - // always 1. Synchronous operations don't return Page because every input document - // is considered to be a single-page document. + // that are in PDF or TIFF format. A scanned image (JPEG/PNG), even if it contains + // multiple document pages, is considered to be a single-page document. The value + // of Page is always 1. Synchronous operations don't return Page because every + // input document is considered to be a single-page document. Page *int32 // A list of child blocks of the current block. For example, a LINE object has @@ -477,8 +477,8 @@ type S3Object struct { Bucket *string // The file name of the input document. Synchronous operations can use image files - // that are in JPEG or PNG format. Asynchronous operations also support PDF format - // files. + // that are in JPEG or PNG format. Asynchronous operations also support PDF and + // TIFF format files. Name *string // If the bucket has versioning enabled, you can specify the object version. diff --git a/service/textract/validators.go b/service/textract/validators.go index 5c07b4bbc55..26897e22f46 100644 --- a/service/textract/validators.go +++ b/service/textract/validators.go @@ -110,6 +110,26 @@ func (m *validateOpGetDocumentTextDetection) HandleInitialize(ctx context.Contex return next.HandleInitialize(ctx, in) } +type validateOpGetExpenseAnalysis struct { +} + +func (*validateOpGetExpenseAnalysis) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetExpenseAnalysis) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetExpenseAnalysisInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetExpenseAnalysisInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpStartDocumentAnalysis struct { } @@ -150,6 +170,26 @@ func (m *validateOpStartDocumentTextDetection) HandleInitialize(ctx context.Cont return next.HandleInitialize(ctx, in) } +type validateOpStartExpenseAnalysis struct { +} + +func (*validateOpStartExpenseAnalysis) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpStartExpenseAnalysis) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*StartExpenseAnalysisInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpStartExpenseAnalysisInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + func addOpAnalyzeDocumentValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpAnalyzeDocument{}, middleware.After) } @@ -170,6 +210,10 @@ func addOpGetDocumentTextDetectionValidationMiddleware(stack *middleware.Stack) return stack.Initialize.Add(&validateOpGetDocumentTextDetection{}, middleware.After) } +func addOpGetExpenseAnalysisValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetExpenseAnalysis{}, middleware.After) +} + func addOpStartDocumentAnalysisValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpStartDocumentAnalysis{}, middleware.After) } @@ -178,6 +222,10 @@ func addOpStartDocumentTextDetectionValidationMiddleware(stack *middleware.Stack return stack.Initialize.Add(&validateOpStartDocumentTextDetection{}, middleware.After) } +func addOpStartExpenseAnalysisValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpStartExpenseAnalysis{}, middleware.After) +} + func validateHumanLoopConfig(v *types.HumanLoopConfig) error { if v == nil { return nil @@ -312,6 +360,21 @@ func validateOpGetDocumentTextDetectionInput(v *GetDocumentTextDetectionInput) e } } +func validateOpGetExpenseAnalysisInput(v *GetExpenseAnalysisInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetExpenseAnalysisInput"} + if v.JobId == nil { + invalidParams.Add(smithy.NewErrParamRequired("JobId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpStartDocumentAnalysisInput(v *StartDocumentAnalysisInput) error { if v == nil { return nil @@ -364,3 +427,28 @@ func validateOpStartDocumentTextDetectionInput(v *StartDocumentTextDetectionInpu return nil } } + +func validateOpStartExpenseAnalysisInput(v *StartExpenseAnalysisInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "StartExpenseAnalysisInput"} + if v.DocumentLocation == nil { + invalidParams.Add(smithy.NewErrParamRequired("DocumentLocation")) + } + if v.NotificationChannel != nil { + if err := validateNotificationChannel(v.NotificationChannel); err != nil { + invalidParams.AddNested("NotificationChannel", err.(smithy.InvalidParamsError)) + } + } + if v.OutputConfig != nil { + if err := validateOutputConfig(v.OutputConfig); err != nil { + invalidParams.AddNested("OutputConfig", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} diff --git a/service/transcribe/api_op_ListTagsForResource.go b/service/transcribe/api_op_ListTagsForResource.go index 9948ae72841..ed6ccb42739 100644 --- a/service/transcribe/api_op_ListTagsForResource.go +++ b/service/transcribe/api_op_ListTagsForResource.go @@ -30,7 +30,12 @@ func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForRes type ListTagsForResourceInput struct { - // Lists all tags associated with a given Amazon Resource Name (ARN). + // Lists all tags associated with a given Amazon Resource Name (ARN). ARNs have the + // format arn:partition:service:region:account-id:resource-type/resource-id (for + // example, + // arn:aws:transcribe:us-east-1:account-id:transcription-job/your-job-name). Valid + // values for resource-type are: transcription-job, medical-transcription-job, + // vocabulary, medical-vocabulary, vocabulary-filter, and language-model. // // This member is required. ResourceArn *string diff --git a/service/transcribe/api_op_StartMedicalTranscriptionJob.go b/service/transcribe/api_op_StartMedicalTranscriptionJob.go index 76b76ce729a..213df5ae83b 100644 --- a/service/transcribe/api_op_StartMedicalTranscriptionJob.go +++ b/service/transcribe/api_op_StartMedicalTranscriptionJob.go @@ -116,7 +116,7 @@ type StartMedicalTranscriptionJobInput struct { // // * Amazon Resource Name // (ARN) of a KMS key in the current account or another account: - // "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef-1234567890ab" + // "arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab" // // * ARN // of a KMS Key Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias" diff --git a/service/transcribe/api_op_StartTranscriptionJob.go b/service/transcribe/api_op_StartTranscriptionJob.go index ce5d2aed454..929263dac68 100644 --- a/service/transcribe/api_op_StartTranscriptionJob.go +++ b/service/transcribe/api_op_StartTranscriptionJob.go @@ -64,6 +64,11 @@ type StartTranscriptionJobInput struct { // encoded at a sample rate of 16,000 Hz or higher. LanguageCode types.LanguageCode + // The language identification settings associated with your transcription job. + // These settings include VocabularyName, VocabularyFilterName, and + // LanguageModelName. + LanguageIdSettings map[string]types.LanguageIdSettings + // An object containing a list of languages that might be present in your // collection of audio files. Automatic language identification chooses a language // that best matches the source audio from that list. To transcribe speech in @@ -124,7 +129,7 @@ type StartTranscriptionJobInput struct { // ID:key/1234abcd-12ab-34cd-56ef-1234567890ab" // // * ARN of a KMS Key Alias: - // "arn:aws:kms:region:account ID:alias/ExampleAlias" + // "arn:aws:kms:region:account-ID:alias/ExampleAlias" // // If you don't specify an // encryption key, the output of the transcription job is encrypted with the diff --git a/service/transcribe/api_op_TagResource.go b/service/transcribe/api_op_TagResource.go index 0b9ca6ea652..c746c58e121 100644 --- a/service/transcribe/api_op_TagResource.go +++ b/service/transcribe/api_op_TagResource.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Tags a Amazon Transcribe resource with the given list of tags. +// Tags an Amazon Transcribe resource with the given list of tags. func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error) { if params == nil { params = &TagResourceInput{} @@ -30,7 +30,11 @@ func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optF type TagResourceInput struct { // The Amazon Resource Name (ARN) of the Amazon Transcribe resource you want to - // tag. + // tag. ARNs have the format + // arn:partition:service:region:account-id:resource-type/resource-id (for example, + // arn:aws:transcribe:us-east-1:account-id:transcription-job/your-job-name). Valid + // values for resource-type are: transcription-job, medical-transcription-job, + // vocabulary, medical-vocabulary, vocabulary-filter, and language-model. // // This member is required. ResourceArn *string diff --git a/service/transcribe/api_op_UntagResource.go b/service/transcribe/api_op_UntagResource.go index 49160a99557..61efd8a97e9 100644 --- a/service/transcribe/api_op_UntagResource.go +++ b/service/transcribe/api_op_UntagResource.go @@ -29,7 +29,11 @@ func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, type UntagResourceInput struct { // The Amazon Resource Name (ARN) of the Amazon Transcribe resource you want to - // remove tags from. + // remove tags from. ARNs have the format + // arn:partition:service:region:account-id:resource-type/resource-id (for example, + // arn:aws:transcribe:us-east-1:account-id:transcription-job/your-job-name). Valid + // values for resource-type are: transcription-job, medical-transcription-job, + // vocabulary, medical-vocabulary, vocabulary-filter, and language-model. // // This member is required. ResourceArn *string diff --git a/service/transcribe/deserializers.go b/service/transcribe/deserializers.go index 6cf649fbe99..a6888ccf508 100644 --- a/service/transcribe/deserializers.go +++ b/service/transcribe/deserializers.go @@ -5073,6 +5073,11 @@ func awsAwsjson11_deserializeDocumentCallAnalyticsJobSettings(v **types.CallAnal return err } + case "LanguageIdSettings": + if err := awsAwsjson11_deserializeDocumentLanguageIdSettingsMap(&sv.LanguageIdSettings, value); err != nil { + return err + } + case "LanguageModelName": if value != nil { jtv, ok := value.(string) @@ -5778,6 +5783,99 @@ func awsAwsjson11_deserializeDocumentJobExecutionSettings(v **types.JobExecution return nil } +func awsAwsjson11_deserializeDocumentLanguageIdSettings(v **types.LanguageIdSettings, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.LanguageIdSettings + if *v == nil { + sv = &types.LanguageIdSettings{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "LanguageModelName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ModelName to be of type string, got %T instead", value) + } + sv.LanguageModelName = ptr.String(jtv) + } + + case "VocabularyFilterName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VocabularyFilterName to be of type string, got %T instead", value) + } + sv.VocabularyFilterName = ptr.String(jtv) + } + + case "VocabularyName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VocabularyName to be of type string, got %T instead", value) + } + sv.VocabularyName = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentLanguageIdSettingsMap(v *map[string]types.LanguageIdSettings, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]types.LanguageIdSettings + if *v == nil { + mv = map[string]types.LanguageIdSettings{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.LanguageIdSettings + mapVar := parsedVal + destAddr := &mapVar + if err := awsAwsjson11_deserializeDocumentLanguageIdSettings(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsAwsjson11_deserializeDocumentLanguageModel(v **types.LanguageModel, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -7579,6 +7677,11 @@ func awsAwsjson11_deserializeDocumentTranscriptionJob(v **types.TranscriptionJob sv.LanguageCode = types.LanguageCode(jtv) } + case "LanguageIdSettings": + if err := awsAwsjson11_deserializeDocumentLanguageIdSettingsMap(&sv.LanguageIdSettings, value); err != nil { + return err + } + case "LanguageOptions": if err := awsAwsjson11_deserializeDocumentLanguageOptions(&sv.LanguageOptions, value); err != nil { return err diff --git a/service/transcribe/internal/endpoints/endpoints.go b/service/transcribe/internal/endpoints/endpoints.go index 69edd845334..b71dd473bc9 100644 --- a/service/transcribe/internal/endpoints/endpoints.go +++ b/service/transcribe/internal/endpoints/endpoints.go @@ -63,6 +63,7 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + "af-south-1": endpoints.Endpoint{}, "ap-east-1": endpoints.Endpoint{}, "ap-northeast-1": endpoints.Endpoint{}, "ap-northeast-2": endpoints.Endpoint{}, @@ -71,6 +72,7 @@ var defaultPartitions = endpoints.Partitions{ "ap-southeast-2": endpoints.Endpoint{}, "ca-central-1": endpoints.Endpoint{}, "eu-central-1": endpoints.Endpoint{}, + "eu-north-1": endpoints.Endpoint{}, "eu-west-1": endpoints.Endpoint{}, "eu-west-2": endpoints.Endpoint{}, "eu-west-3": endpoints.Endpoint{}, diff --git a/service/transcribe/serializers.go b/service/transcribe/serializers.go index 49d2eea38cc..95e29c383e5 100644 --- a/service/transcribe/serializers.go +++ b/service/transcribe/serializers.go @@ -1884,6 +1884,13 @@ func awsAwsjson11_serializeDocumentCallAnalyticsJobSettings(v *types.CallAnalyti } } + if v.LanguageIdSettings != nil { + ok := object.Key("LanguageIdSettings") + if err := awsAwsjson11_serializeDocumentLanguageIdSettingsMap(v.LanguageIdSettings, ok); err != nil { + return err + } + } + if v.LanguageModelName != nil { ok := object.Key("LanguageModelName") ok.String(*v.LanguageModelName) @@ -2047,6 +2054,42 @@ func awsAwsjson11_serializeDocumentKMSEncryptionContextMap(v map[string]string, return nil } +func awsAwsjson11_serializeDocumentLanguageIdSettings(v *types.LanguageIdSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.LanguageModelName != nil { + ok := object.Key("LanguageModelName") + ok.String(*v.LanguageModelName) + } + + if v.VocabularyFilterName != nil { + ok := object.Key("VocabularyFilterName") + ok.String(*v.VocabularyFilterName) + } + + if v.VocabularyName != nil { + ok := object.Key("VocabularyName") + ok.String(*v.VocabularyName) + } + + return nil +} + +func awsAwsjson11_serializeDocumentLanguageIdSettingsMap(v map[string]types.LanguageIdSettings, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + mapVar := v[key] + if err := awsAwsjson11_serializeDocumentLanguageIdSettings(&mapVar, om); err != nil { + return err + } + } + return nil +} + func awsAwsjson11_serializeDocumentLanguageOptions(v []types.LanguageCode, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -3201,6 +3244,13 @@ func awsAwsjson11_serializeOpDocumentStartTranscriptionJobInput(v *StartTranscri ok.String(string(v.LanguageCode)) } + if v.LanguageIdSettings != nil { + ok := object.Key("LanguageIdSettings") + if err := awsAwsjson11_serializeDocumentLanguageIdSettingsMap(v.LanguageIdSettings, ok); err != nil { + return err + } + } + if v.LanguageOptions != nil { ok := object.Key("LanguageOptions") if err := awsAwsjson11_serializeDocumentLanguageOptions(v.LanguageOptions, ok); err != nil { diff --git a/service/transcribe/types/types.go b/service/transcribe/types/types.go index 5bc1db31737..b7c574d3a39 100644 --- a/service/transcribe/types/types.go +++ b/service/transcribe/types/types.go @@ -69,8 +69,9 @@ type CallAnalyticsJob struct { // A timestamp that shows when the analytics job was created. CreationTime *time.Time - // The Amazon Resource Number (ARN) that you use to get access to the analytics - // job. + // The Amazon Resource Number (ARN) that you use to access the analytics job. ARNs + // have the format + // arn:partition:service:region:account-id:resource-type/resource-id. DataAccessRoleArn *string // If the AnalyticsJobStatus is FAILED, this field contains information about why @@ -152,6 +153,11 @@ type CallAnalyticsJobSettings struct { // Settings for content redaction within a transcription job. ContentRedaction *ContentRedaction + // The language identification settings associated with your call analytics job. + // These settings include VocabularyName, VocabularyFilterName, and + // LanguageModelName. + LanguageIdSettings map[string]LanguageIdSettings + // The structure used to describe a custom language model. LanguageModelName *string @@ -272,7 +278,8 @@ type InputDataConfig struct { // The Amazon Resource Name (ARN) that uniquely identifies the permissions you've // given Amazon Transcribe to access your Amazon S3 buckets containing your media - // files or text data. + // files or text data. ARNs have the format + // arn:partition:service:region:account-id:resource-type/resource-id. // // This member is required. DataAccessRoleArn *string @@ -332,17 +339,41 @@ type JobExecutionSettings struct { // must specify the DataAccessRoleArn field. AllowDeferredExecution *bool - // The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that - // contains the input files. Amazon Transcribe assumes this role to read queued - // media files. If you have specified an output S3 bucket for the transcription - // results, this role should have access to the output bucket as well. If you - // specify the AllowDeferredExecution field, you must specify the DataAccessRoleArn - // field. + // The Amazon Resource Name (ARN), in the form + // arn:partition:service:region:account-id:resource-type/resource-id, of a role + // that has access to the S3 bucket that contains the input files. Amazon + // Transcribe assumes this role to read queued media files. If you have specified + // an output S3 bucket for the transcription results, this role should have access + // to the output bucket as well. If you specify the AllowDeferredExecution field, + // you must specify the DataAccessRoleArn field. DataAccessRoleArn *string noSmithyDocumentSerde } +// Language-specific settings that can be specified when language identification is +// enabled. +type LanguageIdSettings struct { + + // The name of the language model you want to use when transcribing your audio. The + // model you specify must have the same language code as the transcription job; if + // the languages don't match, the language model won't be applied. + LanguageModelName *string + + // The name of the vocabulary filter you want to use when transcribing your audio. + // The filter you specify must have the same language code as the transcription + // job; if the languages don't match, the vocabulary filter won't be applied. + VocabularyFilterName *string + + // The name of the vocabulary you want to use when processing your transcription + // job. The vocabulary you specify must have the same language code as the + // transcription job; if the languages don't match, the vocabulary won't be + // applied. + VocabularyName *string + + noSmithyDocumentSerde +} + // The structure used to describe a custom language model. type LanguageModel struct { @@ -992,6 +1023,11 @@ type TranscriptionJob struct { // The language code for the input speech. LanguageCode LanguageCode + // Language-specific settings that can be specified when language identification is + // enabled for your transcription job. These settings include VocabularyName, + // VocabularyFilterName, and LanguageModelNameLanguageModelName. + LanguageIdSettings map[string]LanguageIdSettings + // An object that shows the optional array of languages inputted for transcription // jobs with automatic language identification enabled. LanguageOptions []LanguageCode diff --git a/service/waf/internal/endpoints/endpoints.go b/service/waf/internal/endpoints/endpoints.go index 1f15710743e..305fd04c2a4 100644 --- a/service/waf/internal/endpoints/endpoints.go +++ b/service/waf/internal/endpoints/endpoints.go @@ -64,6 +64,11 @@ var defaultPartitions = endpoints.Partitions{ IsRegionalized: false, PartitionEndpoint: "aws-global", Endpoints: endpoints.Endpoints{ + "aws": endpoints.Endpoint{ + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, "aws-fips": endpoints.Endpoint{ Hostname: "waf-fips.amazonaws.com", CredentialScope: endpoints.CredentialScope{ @@ -76,6 +81,12 @@ var defaultPartitions = endpoints.Partitions{ Region: "us-east-1", }, }, + "aws-global-fips": endpoints.Endpoint{ + Hostname: "waf-fips.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + }, }, }, { diff --git a/service/wisdom/internal/endpoints/endpoints.go b/service/wisdom/internal/endpoints/endpoints.go index c72ce0f3fcc..f2178617dde 100644 --- a/service/wisdom/internal/endpoints/endpoints.go +++ b/service/wisdom/internal/endpoints/endpoints.go @@ -62,6 +62,14 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + "ap-northeast-1": endpoints.Endpoint{}, + "ap-southeast-2": endpoints.Endpoint{}, + "eu-central-1": endpoints.Endpoint{}, + "eu-west-2": endpoints.Endpoint{}, + "us-east-1": endpoints.Endpoint{}, + "us-west-2": endpoints.Endpoint{}, + }, }, { ID: "aws-cn",