Module: Aws::CloudFront::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-cloudfront/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccessDenied =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessDenied')
ActiveTrustedKeyGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ActiveTrustedKeyGroups')
ActiveTrustedSigners =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ActiveTrustedSigners')
AliasICPRecordal =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AliasICPRecordal')
AliasICPRecordals =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AliasICPRecordals')
AliasList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AliasList')
Aliases =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Aliases')
AllowedMethods =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AllowedMethods')
AwsAccountNumberList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AwsAccountNumberList')
BatchTooLarge =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchTooLarge')
CNAMEAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CNAMEAlreadyExists')
CacheBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CacheBehavior')
CacheBehaviorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CacheBehaviorList')
CacheBehaviors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CacheBehaviors')
CachePolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicy')
CachePolicyAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyAlreadyExists')
CachePolicyConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyConfig')
CachePolicyCookieBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CachePolicyCookieBehavior')
CachePolicyCookiesConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyCookiesConfig')
CachePolicyHeaderBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CachePolicyHeaderBehavior')
CachePolicyHeadersConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyHeadersConfig')
CachePolicyInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyInUse')
CachePolicyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyList')
CachePolicyQueryStringBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CachePolicyQueryStringBehavior')
CachePolicyQueryStringsConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicyQueryStringsConfig')
CachePolicySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachePolicySummary')
CachePolicySummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CachePolicySummaryList')
CachePolicyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CachePolicyType')
CachedMethods =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CachedMethods')
CannotChangeImmutablePublicKeyFields =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CannotChangeImmutablePublicKeyFields')
CertificateSource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CertificateSource')
CloudFrontOriginAccessIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudFrontOriginAccessIdentity')
CloudFrontOriginAccessIdentityAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudFrontOriginAccessIdentityAlreadyExists')
CloudFrontOriginAccessIdentityConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudFrontOriginAccessIdentityConfig')
CloudFrontOriginAccessIdentityInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudFrontOriginAccessIdentityInUse')
CloudFrontOriginAccessIdentityList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudFrontOriginAccessIdentityList')
CloudFrontOriginAccessIdentitySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudFrontOriginAccessIdentitySummary')
CloudFrontOriginAccessIdentitySummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CloudFrontOriginAccessIdentitySummaryList')
CommentType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CommentType')
ContentTypeProfile =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ContentTypeProfile')
ContentTypeProfileConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ContentTypeProfileConfig')
ContentTypeProfileList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ContentTypeProfileList')
ContentTypeProfiles =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ContentTypeProfiles')
CookieNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CookieNameList')
CookieNames =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CookieNames')
CookiePreference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CookiePreference')
CreateCachePolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCachePolicyRequest')
CreateCachePolicyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCachePolicyResult')
CreateCloudFrontOriginAccessIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCloudFrontOriginAccessIdentityRequest')
CreateCloudFrontOriginAccessIdentityResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCloudFrontOriginAccessIdentityResult')
CreateDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDistributionRequest')
CreateDistributionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDistributionResult')
CreateDistributionWithTagsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDistributionWithTagsRequest')
CreateDistributionWithTagsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDistributionWithTagsResult')
CreateFieldLevelEncryptionConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFieldLevelEncryptionConfigRequest')
CreateFieldLevelEncryptionConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFieldLevelEncryptionConfigResult')
CreateFieldLevelEncryptionProfileRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFieldLevelEncryptionProfileRequest')
CreateFieldLevelEncryptionProfileResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFieldLevelEncryptionProfileResult')
CreateFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFunctionRequest')
CreateFunctionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFunctionResult')
CreateInvalidationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateInvalidationRequest')
CreateInvalidationResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateInvalidationResult')
CreateKeyGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateKeyGroupRequest')
CreateKeyGroupResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateKeyGroupResult')
CreateMonitoringSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateMonitoringSubscriptionRequest')
CreateMonitoringSubscriptionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateMonitoringSubscriptionResult')
CreateOriginRequestPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateOriginRequestPolicyRequest')
CreateOriginRequestPolicyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateOriginRequestPolicyResult')
CreatePublicKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePublicKeyRequest')
CreatePublicKeyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePublicKeyResult')
CreateRealtimeLogConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRealtimeLogConfigRequest')
CreateRealtimeLogConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRealtimeLogConfigResult')
CreateStreamingDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateStreamingDistributionRequest')
CreateStreamingDistributionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateStreamingDistributionResult')
CreateStreamingDistributionWithTagsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateStreamingDistributionWithTagsRequest')
CreateStreamingDistributionWithTagsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateStreamingDistributionWithTagsResult')
CustomErrorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomErrorResponse')
CustomErrorResponseList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CustomErrorResponseList')
CustomErrorResponses =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomErrorResponses')
CustomHeaders =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomHeaders')
CustomOriginConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomOriginConfig')
DefaultCacheBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DefaultCacheBehavior')
DeleteCachePolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCachePolicyRequest')
DeleteCloudFrontOriginAccessIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCloudFrontOriginAccessIdentityRequest')
DeleteDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDistributionRequest')
DeleteFieldLevelEncryptionConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFieldLevelEncryptionConfigRequest')
DeleteFieldLevelEncryptionProfileRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFieldLevelEncryptionProfileRequest')
DeleteFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFunctionRequest')
DeleteKeyGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteKeyGroupRequest')
DeleteMonitoringSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteMonitoringSubscriptionRequest')
DeleteMonitoringSubscriptionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteMonitoringSubscriptionResult')
DeleteOriginRequestPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteOriginRequestPolicyRequest')
DeletePublicKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePublicKeyRequest')
DeleteRealtimeLogConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRealtimeLogConfigRequest')
DeleteStreamingDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteStreamingDistributionRequest')
DescribeFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeFunctionRequest')
DescribeFunctionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeFunctionResult')
Distribution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Distribution')
DistributionAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionAlreadyExists')
DistributionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionConfig')
DistributionConfigWithTags =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionConfigWithTags')
DistributionIdList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionIdList')
DistributionIdListSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DistributionIdListSummary')
DistributionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionList')
DistributionNotDisabled =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionNotDisabled')
DistributionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DistributionSummary')
DistributionSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DistributionSummaryList')
EncryptionEntities =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EncryptionEntities')
EncryptionEntity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EncryptionEntity')
EncryptionEntityList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EncryptionEntityList')
EndPoint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EndPoint')
EndPointList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EndPointList')
EventType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EventType')
FieldLevelEncryption =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryption')
FieldLevelEncryptionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionConfig')
FieldLevelEncryptionConfigAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionConfigAlreadyExists')
FieldLevelEncryptionConfigInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionConfigInUse')
FieldLevelEncryptionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionList')
FieldLevelEncryptionProfile =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfile')
FieldLevelEncryptionProfileAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfileAlreadyExists')
FieldLevelEncryptionProfileConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfileConfig')
FieldLevelEncryptionProfileInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfileInUse')
FieldLevelEncryptionProfileList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfileList')
FieldLevelEncryptionProfileSizeExceeded =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfileSizeExceeded')
FieldLevelEncryptionProfileSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionProfileSummary')
FieldLevelEncryptionProfileSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FieldLevelEncryptionProfileSummaryList')
FieldLevelEncryptionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldLevelEncryptionSummary')
FieldLevelEncryptionSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FieldLevelEncryptionSummaryList')
FieldList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FieldList')
FieldPatternList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FieldPatternList')
FieldPatterns =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldPatterns')
Format =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Format')
ForwardedValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForwardedValues')
FunctionARN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FunctionARN')
FunctionAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionAlreadyExists')
FunctionAssociation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionAssociation')
FunctionAssociationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FunctionAssociationList')
FunctionAssociations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionAssociations')
FunctionBlob =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'FunctionBlob')
FunctionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionConfig')
FunctionEventObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'FunctionEventObject')
FunctionExecutionLogList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FunctionExecutionLogList')
FunctionInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionInUse')
FunctionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionList')
FunctionMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionMetadata')
FunctionName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FunctionName')
FunctionRuntime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FunctionRuntime')
FunctionSizeLimitExceeded =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionSizeLimitExceeded')
FunctionStage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FunctionStage')
FunctionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionSummary')
FunctionSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FunctionSummaryList')
GeoRestriction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeoRestriction')
GeoRestrictionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GeoRestrictionType')
GetCachePolicyConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCachePolicyConfigRequest')
GetCachePolicyConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCachePolicyConfigResult')
GetCachePolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCachePolicyRequest')
GetCachePolicyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCachePolicyResult')
GetCloudFrontOriginAccessIdentityConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCloudFrontOriginAccessIdentityConfigRequest')
GetCloudFrontOriginAccessIdentityConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCloudFrontOriginAccessIdentityConfigResult')
GetCloudFrontOriginAccessIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCloudFrontOriginAccessIdentityRequest')
GetCloudFrontOriginAccessIdentityResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCloudFrontOriginAccessIdentityResult')
GetDistributionConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDistributionConfigRequest')
GetDistributionConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDistributionConfigResult')
GetDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDistributionRequest')
GetDistributionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDistributionResult')
GetFieldLevelEncryptionConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionConfigRequest')
GetFieldLevelEncryptionConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionConfigResult')
GetFieldLevelEncryptionProfileConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionProfileConfigRequest')
GetFieldLevelEncryptionProfileConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionProfileConfigResult')
GetFieldLevelEncryptionProfileRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionProfileRequest')
GetFieldLevelEncryptionProfileResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionProfileResult')
GetFieldLevelEncryptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionRequest')
GetFieldLevelEncryptionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFieldLevelEncryptionResult')
GetFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFunctionRequest')
GetFunctionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFunctionResult')
GetInvalidationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetInvalidationRequest')
GetInvalidationResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetInvalidationResult')
GetKeyGroupConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyGroupConfigRequest')
GetKeyGroupConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyGroupConfigResult')
GetKeyGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyGroupRequest')
GetKeyGroupResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyGroupResult')
GetMonitoringSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMonitoringSubscriptionRequest')
GetMonitoringSubscriptionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMonitoringSubscriptionResult')
GetOriginRequestPolicyConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetOriginRequestPolicyConfigRequest')
GetOriginRequestPolicyConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetOriginRequestPolicyConfigResult')
GetOriginRequestPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetOriginRequestPolicyRequest')
GetOriginRequestPolicyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetOriginRequestPolicyResult')
GetPublicKeyConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPublicKeyConfigRequest')
GetPublicKeyConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPublicKeyConfigResult')
GetPublicKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPublicKeyRequest')
GetPublicKeyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPublicKeyResult')
GetRealtimeLogConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRealtimeLogConfigRequest')
GetRealtimeLogConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRealtimeLogConfigResult')
GetStreamingDistributionConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetStreamingDistributionConfigRequest')
GetStreamingDistributionConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetStreamingDistributionConfigResult')
GetStreamingDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetStreamingDistributionRequest')
GetStreamingDistributionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetStreamingDistributionResult')
HeaderList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HeaderList')
Headers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Headers')
HttpVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpVersion')
ICPRecordalStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ICPRecordalStatus')
IllegalDelete =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IllegalDelete')
IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior')
IllegalUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IllegalUpdate')
InconsistentQuantities =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InconsistentQuantities')
InvalidArgument =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidArgument')
InvalidDefaultRootObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidDefaultRootObject')
InvalidErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidErrorCode')
InvalidForwardCookies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidForwardCookies')
InvalidFunctionAssociation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidFunctionAssociation')
InvalidGeoRestrictionParameter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidGeoRestrictionParameter')
InvalidHeadersForS3Origin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidHeadersForS3Origin')
InvalidIfMatchVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidIfMatchVersion')
InvalidLambdaFunctionAssociation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidLambdaFunctionAssociation')
InvalidLocationCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidLocationCode')
InvalidMinimumProtocolVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidMinimumProtocolVersion')
InvalidOrigin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidOrigin')
InvalidOriginAccessIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidOriginAccessIdentity')
InvalidOriginKeepaliveTimeout =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidOriginKeepaliveTimeout')
InvalidOriginReadTimeout =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidOriginReadTimeout')
InvalidProtocolSettings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidProtocolSettings')
InvalidQueryStringParameters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidQueryStringParameters')
InvalidRelativePath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidRelativePath')
InvalidRequiredProtocol =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidRequiredProtocol')
InvalidResponseCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidResponseCode')
InvalidTTLOrder =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidTTLOrder')
InvalidTagging =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidTagging')
InvalidViewerCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidViewerCertificate')
InvalidWebACLId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidWebACLId')
Invalidation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Invalidation')
InvalidationBatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidationBatch')
InvalidationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidationList')
InvalidationSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidationSummary')
InvalidationSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'InvalidationSummaryList')
ItemSelection =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ItemSelection')
KGKeyPairIds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KGKeyPairIds')
KGKeyPairIdsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'KGKeyPairIdsList')
KeyGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyGroup')
KeyGroupAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyGroupAlreadyExists')
KeyGroupConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyGroupConfig')
KeyGroupList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyGroupList')
KeyGroupSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyGroupSummary')
KeyGroupSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'KeyGroupSummaryList')
KeyPairIdList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'KeyPairIdList')
KeyPairIds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyPairIds')
KinesisStreamConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KinesisStreamConfig')
LambdaFunctionARN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LambdaFunctionARN')
LambdaFunctionAssociation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LambdaFunctionAssociation')
LambdaFunctionAssociationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LambdaFunctionAssociationList')
LambdaFunctionAssociations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LambdaFunctionAssociations')
ListCachePoliciesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCachePoliciesRequest')
ListCachePoliciesResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCachePoliciesResult')
ListCloudFrontOriginAccessIdentitiesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCloudFrontOriginAccessIdentitiesRequest')
ListCloudFrontOriginAccessIdentitiesResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCloudFrontOriginAccessIdentitiesResult')
ListDistributionsByCachePolicyIdRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByCachePolicyIdRequest')
ListDistributionsByCachePolicyIdResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByCachePolicyIdResult')
ListDistributionsByKeyGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByKeyGroupRequest')
ListDistributionsByKeyGroupResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByKeyGroupResult')
ListDistributionsByOriginRequestPolicyIdRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByOriginRequestPolicyIdRequest')
ListDistributionsByOriginRequestPolicyIdResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByOriginRequestPolicyIdResult')
ListDistributionsByRealtimeLogConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByRealtimeLogConfigRequest')
ListDistributionsByRealtimeLogConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByRealtimeLogConfigResult')
ListDistributionsByWebACLIdRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByWebACLIdRequest')
ListDistributionsByWebACLIdResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsByWebACLIdResult')
ListDistributionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsRequest')
ListDistributionsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDistributionsResult')
ListFieldLevelEncryptionConfigsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFieldLevelEncryptionConfigsRequest')
ListFieldLevelEncryptionConfigsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFieldLevelEncryptionConfigsResult')
ListFieldLevelEncryptionProfilesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFieldLevelEncryptionProfilesRequest')
ListFieldLevelEncryptionProfilesResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFieldLevelEncryptionProfilesResult')
ListFunctionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFunctionsRequest')
ListFunctionsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFunctionsResult')
ListInvalidationsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListInvalidationsRequest')
ListInvalidationsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListInvalidationsResult')
ListKeyGroupsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeyGroupsRequest')
ListKeyGroupsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeyGroupsResult')
ListOriginRequestPoliciesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListOriginRequestPoliciesRequest')
ListOriginRequestPoliciesResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListOriginRequestPoliciesResult')
ListPublicKeysRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPublicKeysRequest')
ListPublicKeysResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPublicKeysResult')
ListRealtimeLogConfigsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRealtimeLogConfigsRequest')
ListRealtimeLogConfigsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRealtimeLogConfigsResult')
ListStreamingDistributionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListStreamingDistributionsRequest')
ListStreamingDistributionsResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListStreamingDistributionsResult')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResult')
LocationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LocationList')
LoggingConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LoggingConfig')
Method =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Method')
MethodsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MethodsList')
MinimumProtocolVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MinimumProtocolVersion')
MissingBody =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MissingBody')
MonitoringSubscription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MonitoringSubscription')
NoSuchCachePolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchCachePolicy')
NoSuchCloudFrontOriginAccessIdentity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchCloudFrontOriginAccessIdentity')
NoSuchDistribution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchDistribution')
NoSuchFieldLevelEncryptionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchFieldLevelEncryptionConfig')
NoSuchFieldLevelEncryptionProfile =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchFieldLevelEncryptionProfile')
NoSuchFunctionExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchFunctionExists')
NoSuchInvalidation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchInvalidation')
NoSuchOrigin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchOrigin')
NoSuchOriginRequestPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchOriginRequestPolicy')
NoSuchPublicKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchPublicKey')
NoSuchRealtimeLogConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchRealtimeLogConfig')
NoSuchResource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchResource')
NoSuchStreamingDistribution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoSuchStreamingDistribution')
Origin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Origin')
OriginCustomHeader =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginCustomHeader')
OriginCustomHeadersList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'OriginCustomHeadersList')
OriginGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginGroup')
OriginGroupFailoverCriteria =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginGroupFailoverCriteria')
OriginGroupList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'OriginGroupList')
OriginGroupMember =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginGroupMember')
OriginGroupMemberList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'OriginGroupMemberList')
OriginGroupMembers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginGroupMembers')
OriginGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginGroups')
OriginList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'OriginList')
OriginProtocolPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginProtocolPolicy')
OriginRequestPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicy')
OriginRequestPolicyAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyAlreadyExists')
OriginRequestPolicyConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyConfig')
OriginRequestPolicyCookieBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginRequestPolicyCookieBehavior')
OriginRequestPolicyCookiesConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyCookiesConfig')
OriginRequestPolicyHeaderBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginRequestPolicyHeaderBehavior')
OriginRequestPolicyHeadersConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyHeadersConfig')
OriginRequestPolicyInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyInUse')
OriginRequestPolicyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyList')
OriginRequestPolicyQueryStringBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginRequestPolicyQueryStringBehavior')
OriginRequestPolicyQueryStringsConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicyQueryStringsConfig')
OriginRequestPolicySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginRequestPolicySummary')
OriginRequestPolicySummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'OriginRequestPolicySummaryList')
OriginRequestPolicyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginRequestPolicyType')
OriginShield =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginShield')
OriginShieldRegion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginShieldRegion')
OriginSslProtocols =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OriginSslProtocols')
Origins =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Origins')
ParametersInCacheKeyAndForwardedToOrigin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ParametersInCacheKeyAndForwardedToOrigin')
PathList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PathList')
Paths =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Paths')
PreconditionFailed =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PreconditionFailed')
PriceClass =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PriceClass')
PublicKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublicKey')
PublicKeyAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublicKeyAlreadyExists')
PublicKeyConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublicKeyConfig')
PublicKeyIdList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PublicKeyIdList')
PublicKeyInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublicKeyInUse')
PublicKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublicKeyList')
PublicKeySummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublicKeySummary')
PublicKeySummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PublicKeySummaryList')
PublishFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishFunctionRequest')
PublishFunctionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishFunctionResult')
QueryArgProfile =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryArgProfile')
QueryArgProfileConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryArgProfileConfig')
QueryArgProfileEmpty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryArgProfileEmpty')
QueryArgProfileList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'QueryArgProfileList')
QueryArgProfiles =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryArgProfiles')
QueryStringCacheKeys =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryStringCacheKeys')
QueryStringCacheKeysList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'QueryStringCacheKeysList')
QueryStringNames =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryStringNames')
QueryStringNamesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'QueryStringNamesList')
RealtimeLogConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RealtimeLogConfig')
RealtimeLogConfigAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RealtimeLogConfigAlreadyExists')
RealtimeLogConfigInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RealtimeLogConfigInUse')
RealtimeLogConfigList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RealtimeLogConfigList')
RealtimeLogConfigOwnerMismatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RealtimeLogConfigOwnerMismatch')
RealtimeLogConfigs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RealtimeLogConfigs')
RealtimeMetricsSubscriptionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RealtimeMetricsSubscriptionConfig')
RealtimeMetricsSubscriptionStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RealtimeMetricsSubscriptionStatus')
ResourceARN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceARN')
ResourceInUse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceInUse')
Restrictions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Restrictions')
S3Origin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'S3Origin')
S3OriginConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'S3OriginConfig')
SSLSupportMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SSLSupportMethod')
Signer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Signer')
SignerList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SignerList')
SslProtocol =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SslProtocol')
SslProtocolsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SslProtocolsList')
StatusCodeList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'StatusCodeList')
StatusCodes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StatusCodes')
StreamingDistribution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistribution')
StreamingDistributionAlreadyExists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistributionAlreadyExists')
StreamingDistributionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistributionConfig')
StreamingDistributionConfigWithTags =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistributionConfigWithTags')
StreamingDistributionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistributionList')
StreamingDistributionNotDisabled =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistributionNotDisabled')
StreamingDistributionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingDistributionSummary')
StreamingDistributionSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'StreamingDistributionSummaryList')
StreamingLoggingConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StreamingLoggingConfig')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagKeys =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagKeys')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
Tags =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tags')
TestFunctionFailed =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TestFunctionFailed')
TestFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TestFunctionRequest')
TestFunctionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TestFunctionResult')
TestResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TestResult')
TooManyCacheBehaviors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCacheBehaviors')
TooManyCachePolicies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCachePolicies')
TooManyCertificates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCertificates')
TooManyCloudFrontOriginAccessIdentities =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCloudFrontOriginAccessIdentities')
TooManyCookieNamesInWhiteList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCookieNamesInWhiteList')
TooManyCookiesInCachePolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCookiesInCachePolicy')
TooManyCookiesInOriginRequestPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyCookiesInOriginRequestPolicy')
TooManyDistributionCNAMEs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionCNAMEs')
TooManyDistributions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributions')
TooManyDistributionsAssociatedToCachePolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsAssociatedToCachePolicy')
TooManyDistributionsAssociatedToFieldLevelEncryptionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsAssociatedToFieldLevelEncryptionConfig')
TooManyDistributionsAssociatedToKeyGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsAssociatedToKeyGroup')
TooManyDistributionsAssociatedToOriginRequestPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsAssociatedToOriginRequestPolicy')
TooManyDistributionsWithFunctionAssociations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsWithFunctionAssociations')
TooManyDistributionsWithLambdaAssociations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsWithLambdaAssociations')
TooManyDistributionsWithSingleFunctionARN =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyDistributionsWithSingleFunctionARN')
TooManyFieldLevelEncryptionConfigs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFieldLevelEncryptionConfigs')
TooManyFieldLevelEncryptionContentTypeProfiles =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFieldLevelEncryptionContentTypeProfiles')
TooManyFieldLevelEncryptionEncryptionEntities =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFieldLevelEncryptionEncryptionEntities')
TooManyFieldLevelEncryptionFieldPatterns =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFieldLevelEncryptionFieldPatterns')
TooManyFieldLevelEncryptionProfiles =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFieldLevelEncryptionProfiles')
TooManyFieldLevelEncryptionQueryArgProfiles =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFieldLevelEncryptionQueryArgProfiles')
TooManyFunctionAssociations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFunctionAssociations')
TooManyFunctions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyFunctions')
TooManyHeadersInCachePolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyHeadersInCachePolicy')
TooManyHeadersInForwardedValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyHeadersInForwardedValues')
TooManyHeadersInOriginRequestPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyHeadersInOriginRequestPolicy')
TooManyInvalidationsInProgress =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyInvalidationsInProgress')
TooManyKeyGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyKeyGroups')
TooManyKeyGroupsAssociatedToDistribution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyKeyGroupsAssociatedToDistribution')
TooManyLambdaFunctionAssociations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyLambdaFunctionAssociations')
TooManyOriginCustomHeaders =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyOriginCustomHeaders')
TooManyOriginGroupsPerDistribution =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyOriginGroupsPerDistribution')
TooManyOriginRequestPolicies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyOriginRequestPolicies')
TooManyOrigins =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyOrigins')
TooManyPublicKeys =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyPublicKeys')
TooManyPublicKeysInKeyGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyPublicKeysInKeyGroup')
TooManyQueryStringParameters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyQueryStringParameters')
TooManyQueryStringsInCachePolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyQueryStringsInCachePolicy')
TooManyQueryStringsInOriginRequestPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyQueryStringsInOriginRequestPolicy')
TooManyRealtimeLogConfigs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyRealtimeLogConfigs')
TooManyStreamingDistributionCNAMEs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyStreamingDistributionCNAMEs')
TooManyStreamingDistributions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyStreamingDistributions')
TooManyTrustedSigners =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyTrustedSigners')
TrustedKeyGroupDoesNotExist =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TrustedKeyGroupDoesNotExist')
TrustedKeyGroupIdList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TrustedKeyGroupIdList')
TrustedKeyGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TrustedKeyGroups')
TrustedSignerDoesNotExist =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TrustedSignerDoesNotExist')
TrustedSigners =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TrustedSigners')
UnsupportedOperation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnsupportedOperation')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UpdateCachePolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCachePolicyRequest')
UpdateCachePolicyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCachePolicyResult')
UpdateCloudFrontOriginAccessIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCloudFrontOriginAccessIdentityRequest')
UpdateCloudFrontOriginAccessIdentityResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCloudFrontOriginAccessIdentityResult')
UpdateDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateDistributionRequest')
UpdateDistributionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateDistributionResult')
UpdateFieldLevelEncryptionConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFieldLevelEncryptionConfigRequest')
UpdateFieldLevelEncryptionConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFieldLevelEncryptionConfigResult')
UpdateFieldLevelEncryptionProfileRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFieldLevelEncryptionProfileRequest')
UpdateFieldLevelEncryptionProfileResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFieldLevelEncryptionProfileResult')
UpdateFunctionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFunctionRequest')
UpdateFunctionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFunctionResult')
UpdateKeyGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateKeyGroupRequest')
UpdateKeyGroupResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateKeyGroupResult')
UpdateOriginRequestPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateOriginRequestPolicyRequest')
UpdateOriginRequestPolicyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateOriginRequestPolicyResult')
UpdatePublicKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePublicKeyRequest')
UpdatePublicKeyResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePublicKeyResult')
UpdateRealtimeLogConfigRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRealtimeLogConfigRequest')
UpdateRealtimeLogConfigResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRealtimeLogConfigResult')
UpdateStreamingDistributionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateStreamingDistributionRequest')
UpdateStreamingDistributionResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateStreamingDistributionResult')
ViewerCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ViewerCertificate')
ViewerProtocolPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ViewerProtocolPolicy')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2020-05-31"

  api. = {
    "apiVersion" => "2020-05-31",
    "endpointPrefix" => "cloudfront",
    "globalEndpoint" => "cloudfront.amazonaws.com",
    "protocol" => "rest-xml",
    "serviceAbbreviation" => "CloudFront",
    "serviceFullName" => "Amazon CloudFront",
    "serviceId" => "CloudFront",
    "signatureVersion" => "v4",
    "uid" => "cloudfront-2020-05-31",
  }

  api.add_operation(:create_cache_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCachePolicy2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/cache-policy"
    o.input = Shapes::ShapeRef.new(shape: CreateCachePolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCachePolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: CachePolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCachePolicies)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInCachePolicy)
  end)

  api.add_operation(:create_cloud_front_origin_access_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCloudFrontOriginAccessIdentity2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/origin-access-identity/cloudfront"
    o.input = Shapes::ShapeRef.new(shape: CreateCloudFrontOriginAccessIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCloudFrontOriginAccessIdentityResult)
    o.errors << Shapes::ShapeRef.new(shape: CloudFrontOriginAccessIdentityAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCloudFrontOriginAccessIdentities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
  end)

  api.add_operation(:create_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDistribution2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/distribution"
    o.input = Shapes::ShapeRef.new(shape: CreateDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: DistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: InvalidProtocolSettings)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
  end)

  api.add_operation(:create_distribution_with_tags, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDistributionWithTags2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/distribution?WithTags"
    o.input = Shapes::ShapeRef.new(shape: CreateDistributionWithTagsRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDistributionWithTagsResult)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: DistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: InvalidProtocolSettings)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
  end)

  api.add_operation(:create_field_level_encryption_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFieldLevelEncryptionConfig2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/field-level-encryption"
    o.input = Shapes::ShapeRef.new(shape: CreateFieldLevelEncryptionConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateFieldLevelEncryptionConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionConfigAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionConfigs)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionQueryArgProfiles)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionContentTypeProfiles)
    o.errors << Shapes::ShapeRef.new(shape: QueryArgProfileEmpty)
  end)

  api.add_operation(:create_field_level_encryption_profile, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFieldLevelEncryptionProfile2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/field-level-encryption-profile"
    o.input = Shapes::ShapeRef.new(shape: CreateFieldLevelEncryptionProfileRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateFieldLevelEncryptionProfileResult)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileSizeExceeded)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionProfiles)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionEncryptionEntities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionFieldPatterns)
  end)

  api.add_operation(:create_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFunction2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/function"
    o.input = Shapes::ShapeRef.new(shape: CreateFunctionRequest,
      location_name: "CreateFunctionRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: CreateFunctionResult)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctions)
    o.errors << Shapes::ShapeRef.new(shape: FunctionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: FunctionSizeLimitExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:create_invalidation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateInvalidation2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/distribution/{DistributionId}/invalidation"
    o.input = Shapes::ShapeRef.new(shape: CreateInvalidationRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateInvalidationResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: BatchTooLarge)
    o.errors << Shapes::ShapeRef.new(shape: TooManyInvalidationsInProgress)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
  end)

  api.add_operation(:create_key_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateKeyGroup2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/key-group"
    o.input = Shapes::ShapeRef.new(shape: CreateKeyGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateKeyGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: KeyGroupAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroups)
    o.errors << Shapes::ShapeRef.new(shape: TooManyPublicKeysInKeyGroup)
  end)

  api.add_operation(:create_monitoring_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateMonitoringSubscription2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/distributions/{DistributionId}/monitoring-subscription"
    o.input = Shapes::ShapeRef.new(shape: CreateMonitoringSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateMonitoringSubscriptionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
  end)

  api.add_operation(:create_origin_request_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateOriginRequestPolicy2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/origin-request-policy"
    o.input = Shapes::ShapeRef.new(shape: CreateOriginRequestPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateOriginRequestPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: OriginRequestPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginRequestPolicies)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInOriginRequestPolicy)
  end)

  api.add_operation(:create_public_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreatePublicKey2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/public-key"
    o.input = Shapes::ShapeRef.new(shape: CreatePublicKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreatePublicKeyResult)
    o.errors << Shapes::ShapeRef.new(shape: PublicKeyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyPublicKeys)
  end)

  api.add_operation(:create_realtime_log_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRealtimeLogConfig2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/realtime-log-config"
    o.input = Shapes::ShapeRef.new(shape: CreateRealtimeLogConfigRequest,
      location_name: "CreateRealtimeLogConfigRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: CreateRealtimeLogConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRealtimeLogConfigs)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:create_streaming_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateStreamingDistribution2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/streaming-distribution"
    o.input = Shapes::ShapeRef.new(shape: CreateStreamingDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateStreamingDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: StreamingDistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
  end)

  api.add_operation(:create_streaming_distribution_with_tags, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateStreamingDistributionWithTags2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/streaming-distribution?WithTags"
    o.input = Shapes::ShapeRef.new(shape: CreateStreamingDistributionWithTagsRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateStreamingDistributionWithTagsResult)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: StreamingDistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
  end)

  api.add_operation(:delete_cache_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCachePolicy2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/cache-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteCachePolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: CachePolicyInUse)
  end)

  api.add_operation(:delete_cloud_front_origin_access_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCloudFrontOriginAccessIdentity2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/origin-access-identity/cloudfront/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteCloudFrontOriginAccessIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: CloudFrontOriginAccessIdentityInUse)
  end)

  api.add_operation(:delete_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDistribution2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/distribution/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: DistributionNotDisabled)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
  end)

  api.add_operation(:delete_field_level_encryption_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteFieldLevelEncryptionConfig2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/field-level-encryption/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteFieldLevelEncryptionConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionConfigInUse)
  end)

  api.add_operation(:delete_field_level_encryption_profile, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteFieldLevelEncryptionProfile2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/field-level-encryption-profile/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteFieldLevelEncryptionProfileRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileInUse)
  end)

  api.add_operation(:delete_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteFunction2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/function/{Name}"
    o.input = Shapes::ShapeRef.new(shape: DeleteFunctionRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: FunctionInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
  end)

  api.add_operation(:delete_key_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteKeyGroup2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/key-group/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteKeyGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUse)
  end)

  api.add_operation(:delete_monitoring_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteMonitoringSubscription2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/distributions/{DistributionId}/monitoring-subscription"
    o.input = Shapes::ShapeRef.new(shape: DeleteMonitoringSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteMonitoringSubscriptionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
  end)

  api.add_operation(:delete_origin_request_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteOriginRequestPolicy2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/origin-request-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteOriginRequestPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: OriginRequestPolicyInUse)
  end)

  api.add_operation(:delete_public_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeletePublicKey2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/public-key/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeletePublicKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: PublicKeyInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
  end)

  api.add_operation(:delete_realtime_log_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRealtimeLogConfig2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/delete-realtime-log-config/"
    o.input = Shapes::ShapeRef.new(shape: DeleteRealtimeLogConfigRequest,
      location_name: "DeleteRealtimeLogConfigRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:delete_streaming_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteStreamingDistribution2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/streaming-distribution/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteStreamingDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: StreamingDistributionNotDisabled)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
  end)

  api.add_operation(:describe_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeFunction2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/function/{Name}/describe"
    o.input = Shapes::ShapeRef.new(shape: DescribeFunctionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeFunctionResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
  end)

  api.add_operation(:get_cache_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCachePolicy2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/cache-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetCachePolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCachePolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
  end)

  api.add_operation(:get_cache_policy_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCachePolicyConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/cache-policy/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetCachePolicyConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCachePolicyConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
  end)

  api.add_operation(:get_cloud_front_origin_access_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCloudFrontOriginAccessIdentity2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-access-identity/cloudfront/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetCloudFrontOriginAccessIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCloudFrontOriginAccessIdentityResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_cloud_front_origin_access_identity_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCloudFrontOriginAccessIdentityConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-access-identity/cloudfront/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetCloudFrontOriginAccessIdentityConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCloudFrontOriginAccessIdentityConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDistribution2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distribution/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_distribution_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDistributionConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distribution/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetDistributionConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDistributionConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_field_level_encryption, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFieldLevelEncryption2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/field-level-encryption/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
  end)

  api.add_operation(:get_field_level_encryption_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFieldLevelEncryptionConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/field-level-encryption/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
  end)

  api.add_operation(:get_field_level_encryption_profile, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFieldLevelEncryptionProfile2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/field-level-encryption-profile/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionProfileRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionProfileResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
  end)

  api.add_operation(:get_field_level_encryption_profile_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFieldLevelEncryptionProfileConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/field-level-encryption-profile/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionProfileConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFieldLevelEncryptionProfileConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
  end)

  api.add_operation(:get_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFunction2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/function/{Name}"
    o.input = Shapes::ShapeRef.new(shape: GetFunctionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFunctionResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
  end)

  api.add_operation(:get_invalidation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetInvalidation2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetInvalidationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetInvalidationResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchInvalidation)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_key_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetKeyGroup2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/key-group/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetKeyGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: GetKeyGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  end)

  api.add_operation(:get_key_group_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetKeyGroupConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/key-group/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetKeyGroupConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetKeyGroupConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  end)

  api.add_operation(:get_monitoring_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMonitoringSubscription2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributions/{DistributionId}/monitoring-subscription"
    o.input = Shapes::ShapeRef.new(shape: GetMonitoringSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMonitoringSubscriptionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
  end)

  api.add_operation(:get_origin_request_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetOriginRequestPolicy2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-request-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetOriginRequestPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetOriginRequestPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
  end)

  api.add_operation(:get_origin_request_policy_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetOriginRequestPolicyConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-request-policy/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetOriginRequestPolicyConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetOriginRequestPolicyConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
  end)

  api.add_operation(:get_public_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPublicKey2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/public-key/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetPublicKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetPublicKeyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
  end)

  api.add_operation(:get_public_key_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPublicKeyConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/public-key/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetPublicKeyConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetPublicKeyConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
  end)

  api.add_operation(:get_realtime_log_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRealtimeLogConfig2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/get-realtime-log-config/"
    o.input = Shapes::ShapeRef.new(shape: GetRealtimeLogConfigRequest,
      location_name: "GetRealtimeLogConfigRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: GetRealtimeLogConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_streaming_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetStreamingDistribution2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/streaming-distribution/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetStreamingDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetStreamingDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:get_streaming_distribution_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetStreamingDistributionConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/streaming-distribution/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetStreamingDistributionConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetStreamingDistributionConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:list_cache_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCachePolicies2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/cache-policy"
    o.input = Shapes::ShapeRef.new(shape: ListCachePoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCachePoliciesResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_cloud_front_origin_access_identities, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCloudFrontOriginAccessIdentities2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-access-identity/cloudfront"
    o.input = Shapes::ShapeRef.new(shape: ListCloudFrontOriginAccessIdentitiesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCloudFrontOriginAccessIdentitiesResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o[:pager] = Aws::Pager.new(
      more_results: "cloud_front_origin_access_identity_list.is_truncated",
      limit_key: "max_items",
      tokens: {
        "cloud_front_origin_access_identity_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_distributions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributions2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distribution"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o[:pager] = Aws::Pager.new(
      more_results: "distribution_list.is_truncated",
      limit_key: "max_items",
      tokens: {
        "distribution_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_distributions_by_cache_policy_id, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByCachePolicyId2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByCachePolicyId/{CachePolicyId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByCachePolicyIdRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByCachePolicyIdResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:list_distributions_by_key_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByKeyGroup2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByKeyGroupId/{KeyGroupId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByKeyGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByKeyGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_distributions_by_origin_request_policy_id, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByOriginRequestPolicyId2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByOriginRequestPolicyId/{OriginRequestPolicyId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByOriginRequestPolicyIdRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByOriginRequestPolicyIdResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:list_distributions_by_realtime_log_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByRealtimeLogConfig2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/distributionsByRealtimeLogConfig/"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByRealtimeLogConfigRequest,
      location_name: "ListDistributionsByRealtimeLogConfigRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByRealtimeLogConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_distributions_by_web_acl_id, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByWebACLId2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByWebACLId/{WebACLId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByWebACLIdRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByWebACLIdResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
  end)

  api.add_operation(:list_field_level_encryption_configs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFieldLevelEncryptionConfigs2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/field-level-encryption"
    o.input = Shapes::ShapeRef.new(shape: ListFieldLevelEncryptionConfigsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFieldLevelEncryptionConfigsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_field_level_encryption_profiles, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFieldLevelEncryptionProfiles2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/field-level-encryption-profile"
    o.input = Shapes::ShapeRef.new(shape: ListFieldLevelEncryptionProfilesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFieldLevelEncryptionProfilesResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_functions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFunctions2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/function"
    o.input = Shapes::ShapeRef.new(shape: ListFunctionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFunctionsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_invalidations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListInvalidations2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distribution/{DistributionId}/invalidation"
    o.input = Shapes::ShapeRef.new(shape: ListInvalidationsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListInvalidationsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o[:pager] = Aws::Pager.new(
      more_results: "invalidation_list.is_truncated",
      limit_key: "max_items",
      tokens: {
        "invalidation_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_key_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListKeyGroups2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/key-group"
    o.input = Shapes::ShapeRef.new(shape: ListKeyGroupsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListKeyGroupsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_origin_request_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListOriginRequestPolicies2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-request-policy"
    o.input = Shapes::ShapeRef.new(shape: ListOriginRequestPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListOriginRequestPoliciesResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_public_keys, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPublicKeys2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/public-key"
    o.input = Shapes::ShapeRef.new(shape: ListPublicKeysRequest)
    o.output = Shapes::ShapeRef.new(shape: ListPublicKeysResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_realtime_log_configs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRealtimeLogConfigs2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/realtime-log-config"
    o.input = Shapes::ShapeRef.new(shape: ListRealtimeLogConfigsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRealtimeLogConfigsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
  end)

  api.add_operation(:list_streaming_distributions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListStreamingDistributions2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/streaming-distribution"
    o.input = Shapes::ShapeRef.new(shape: ListStreamingDistributionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListStreamingDistributionsResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o[:pager] = Aws::Pager.new(
      more_results: "streaming_distribution_list.is_truncated",
      limit_key: "max_items",
      tokens: {
        "streaming_distribution_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/tagging"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  end)

  api.add_operation(:publish_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PublishFunction2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/function/{Name}/publish"
    o.input = Shapes::ShapeRef.new(shape: PublishFunctionRequest)
    o.output = Shapes::ShapeRef.new(shape: PublishFunctionResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/tagging?Operation=Tag"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  end)

  api.add_operation(:test_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TestFunction2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/function/{Name}/test"
    o.input = Shapes::ShapeRef.new(shape: TestFunctionRequest,
      location_name: "TestFunctionRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: TestFunctionResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: TestFunctionFailed)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/tagging?Operation=Untag"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  end)

  api.add_operation(:update_cache_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCachePolicy2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/cache-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: UpdateCachePolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCachePolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: CachePolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInCachePolicy)
  end)

  api.add_operation(:update_cloud_front_origin_access_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCloudFrontOriginAccessIdentity2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/origin-access-identity/cloudfront/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdateCloudFrontOriginAccessIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCloudFrontOriginAccessIdentityResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
  end)

  api.add_operation(:update_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateDistribution2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/distribution/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdateDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
  end)

  api.add_operation(:update_field_level_encryption_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateFieldLevelEncryptionConfig2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/field-level-encryption/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdateFieldLevelEncryptionConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateFieldLevelEncryptionConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionQueryArgProfiles)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionContentTypeProfiles)
    o.errors << Shapes::ShapeRef.new(shape: QueryArgProfileEmpty)
  end)

  api.add_operation(:update_field_level_encryption_profile, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateFieldLevelEncryptionProfile2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/field-level-encryption-profile/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdateFieldLevelEncryptionProfileRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateFieldLevelEncryptionProfileResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileSizeExceeded)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionEncryptionEntities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionFieldPatterns)
  end)

  api.add_operation(:update_function, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateFunction2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/function/{Name}"
    o.input = Shapes::ShapeRef.new(shape: UpdateFunctionRequest,
      location_name: "UpdateFunctionRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: UpdateFunctionResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: FunctionSizeLimitExceeded)
  end)

  api.add_operation(:update_key_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateKeyGroup2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/key-group/{Id}"
    o.input = Shapes::ShapeRef.new(shape: UpdateKeyGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateKeyGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: KeyGroupAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyPublicKeysInKeyGroup)
  end)

  api.add_operation(:update_origin_request_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateOriginRequestPolicy2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/origin-request-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: UpdateOriginRequestPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateOriginRequestPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: OriginRequestPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInOriginRequestPolicy)
  end)

  api.add_operation(:update_public_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdatePublicKey2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/public-key/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdatePublicKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdatePublicKeyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: CannotChangeImmutablePublicKeyFields)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
  end)

  api.add_operation(:update_realtime_log_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRealtimeLogConfig2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/realtime-log-config/"
    o.input = Shapes::ShapeRef.new(shape: UpdateRealtimeLogConfigRequest,
      location_name: "UpdateRealtimeLogConfigRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: UpdateRealtimeLogConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  end)

  api.add_operation(:update_streaming_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateStreamingDistribution2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/streaming-distribution/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdateStreamingDistributionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateStreamingDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
  end)
end