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

AccessControlAllowHeadersList =

This constant is part 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: 'AccessControlAllowHeadersList')
AccessControlAllowMethodsList =

This constant is part 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: 'AccessControlAllowMethodsList')
AccessControlAllowOriginsList =

This constant is part 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: 'AccessControlAllowOriginsList')
AccessControlExposeHeadersList =

This constant is part 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: 'AccessControlExposeHeadersList')
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')
AnycastIpList =

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

Shapes::StructureShape.new(name: 'AnycastIpList')
AnycastIpListCollection =

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

Shapes::StructureShape.new(name: 'AnycastIpListCollection')
AnycastIpListName =

This constant is part 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: 'AnycastIpListName')
AnycastIpListSummaries =

This constant is part 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: 'AnycastIpListSummaries')
AnycastIpListSummary =

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

Shapes::StructureShape.new(name: 'AnycastIpListSummary')
AnycastIps =

This constant is part 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: 'AnycastIps')
AssociateAliasRequest =

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

Shapes::StructureShape.new(name: 'AssociateAliasRequest')
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')
CannotDeleteEntityWhileInUse =

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

Shapes::StructureShape.new(name: 'CannotDeleteEntityWhileInUse')
CannotUpdateEntityWhileInUse =

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

Shapes::StructureShape.new(name: 'CannotUpdateEntityWhileInUse')
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')
ConflictingAlias =

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

Shapes::StructureShape.new(name: 'ConflictingAlias')
ConflictingAliases =

This constant is part 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: 'ConflictingAliases')
ConflictingAliasesList =

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

Shapes::StructureShape.new(name: 'ConflictingAliasesList')
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')
ContinuousDeploymentPolicy =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentPolicy')
ContinuousDeploymentPolicyAlreadyExists =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentPolicyAlreadyExists')
ContinuousDeploymentPolicyConfig =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentPolicyConfig')
ContinuousDeploymentPolicyInUse =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentPolicyInUse')
ContinuousDeploymentPolicyList =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentPolicyList')
ContinuousDeploymentPolicySummary =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentPolicySummary')
ContinuousDeploymentPolicySummaryList =

This constant is part 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: 'ContinuousDeploymentPolicySummaryList')
ContinuousDeploymentPolicyType =

This constant is part 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: 'ContinuousDeploymentPolicyType')
ContinuousDeploymentSingleHeaderConfig =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentSingleHeaderConfig')
ContinuousDeploymentSingleWeightConfig =

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

Shapes::StructureShape.new(name: 'ContinuousDeploymentSingleWeightConfig')
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')
CopyDistributionRequest =

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

Shapes::StructureShape.new(name: 'CopyDistributionRequest')
CopyDistributionResult =

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

Shapes::StructureShape.new(name: 'CopyDistributionResult')
CreateAnycastIpListRequest =

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

Shapes::StructureShape.new(name: 'CreateAnycastIpListRequest')
CreateAnycastIpListResult =

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

Shapes::StructureShape.new(name: 'CreateAnycastIpListResult')
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')
CreateContinuousDeploymentPolicyRequest =

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

Shapes::StructureShape.new(name: 'CreateContinuousDeploymentPolicyRequest')
CreateContinuousDeploymentPolicyResult =

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

Shapes::StructureShape.new(name: 'CreateContinuousDeploymentPolicyResult')
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')
CreateKeyValueStoreRequest =

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

Shapes::StructureShape.new(name: 'CreateKeyValueStoreRequest')
CreateKeyValueStoreResult =

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

Shapes::StructureShape.new(name: 'CreateKeyValueStoreResult')
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')
CreateOriginAccessControlRequest =

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

Shapes::StructureShape.new(name: 'CreateOriginAccessControlRequest')
CreateOriginAccessControlResult =

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

Shapes::StructureShape.new(name: 'CreateOriginAccessControlResult')
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')
CreateResponseHeadersPolicyRequest =

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

Shapes::StructureShape.new(name: 'CreateResponseHeadersPolicyRequest')
CreateResponseHeadersPolicyResult =

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

Shapes::StructureShape.new(name: 'CreateResponseHeadersPolicyResult')
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')
CreateVpcOriginRequest =

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

Shapes::StructureShape.new(name: 'CreateVpcOriginRequest')
CreateVpcOriginResult =

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

Shapes::StructureShape.new(name: 'CreateVpcOriginResult')
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')
DeleteAnycastIpListRequest =

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

Shapes::StructureShape.new(name: 'DeleteAnycastIpListRequest')
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')
DeleteContinuousDeploymentPolicyRequest =

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

Shapes::StructureShape.new(name: 'DeleteContinuousDeploymentPolicyRequest')
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')
DeleteKeyValueStoreRequest =

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

Shapes::StructureShape.new(name: 'DeleteKeyValueStoreRequest')
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')
DeleteOriginAccessControlRequest =

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

Shapes::StructureShape.new(name: 'DeleteOriginAccessControlRequest')
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')
DeleteResponseHeadersPolicyRequest =

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

Shapes::StructureShape.new(name: 'DeleteResponseHeadersPolicyRequest')
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')
DeleteVpcOriginRequest =

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

Shapes::StructureShape.new(name: 'DeleteVpcOriginRequest')
DeleteVpcOriginResult =

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

Shapes::StructureShape.new(name: 'DeleteVpcOriginResult')
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')
DescribeKeyValueStoreRequest =

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

Shapes::StructureShape.new(name: 'DescribeKeyValueStoreRequest')
DescribeKeyValueStoreResult =

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

Shapes::StructureShape.new(name: 'DescribeKeyValueStoreResult')
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')
EntityAlreadyExists =

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

Shapes::StructureShape.new(name: 'EntityAlreadyExists')
EntityLimitExceeded =

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

Shapes::StructureShape.new(name: 'EntityLimitExceeded')
EntityNotFound =

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

Shapes::StructureShape.new(name: 'EntityNotFound')
EntitySizeLimitExceeded =

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

Shapes::StructureShape.new(name: 'EntitySizeLimitExceeded')
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')
FrameOptionsList =

This constant is part 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: 'FrameOptionsList')
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')
GetAnycastIpListRequest =

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

Shapes::StructureShape.new(name: 'GetAnycastIpListRequest')
GetAnycastIpListResult =

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

Shapes::StructureShape.new(name: 'GetAnycastIpListResult')
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')
GetContinuousDeploymentPolicyConfigRequest =

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

Shapes::StructureShape.new(name: 'GetContinuousDeploymentPolicyConfigRequest')
GetContinuousDeploymentPolicyConfigResult =

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

Shapes::StructureShape.new(name: 'GetContinuousDeploymentPolicyConfigResult')
GetContinuousDeploymentPolicyRequest =

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

Shapes::StructureShape.new(name: 'GetContinuousDeploymentPolicyRequest')
GetContinuousDeploymentPolicyResult =

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

Shapes::StructureShape.new(name: 'GetContinuousDeploymentPolicyResult')
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')
GetOriginAccessControlConfigRequest =

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

Shapes::StructureShape.new(name: 'GetOriginAccessControlConfigRequest')
GetOriginAccessControlConfigResult =

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

Shapes::StructureShape.new(name: 'GetOriginAccessControlConfigResult')
GetOriginAccessControlRequest =

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

Shapes::StructureShape.new(name: 'GetOriginAccessControlRequest')
GetOriginAccessControlResult =

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

Shapes::StructureShape.new(name: 'GetOriginAccessControlResult')
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')
GetResponseHeadersPolicyConfigRequest =

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

Shapes::StructureShape.new(name: 'GetResponseHeadersPolicyConfigRequest')
GetResponseHeadersPolicyConfigResult =

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

Shapes::StructureShape.new(name: 'GetResponseHeadersPolicyConfigResult')
GetResponseHeadersPolicyRequest =

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

Shapes::StructureShape.new(name: 'GetResponseHeadersPolicyRequest')
GetResponseHeadersPolicyResult =

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

Shapes::StructureShape.new(name: 'GetResponseHeadersPolicyResult')
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')
GetVpcOriginRequest =

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

Shapes::StructureShape.new(name: 'GetVpcOriginRequest')
GetVpcOriginResult =

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

Shapes::StructureShape.new(name: 'GetVpcOriginResult')
GrpcConfig =

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

Shapes::StructureShape.new(name: 'GrpcConfig')
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')
IllegalOriginAccessConfiguration =

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

Shapes::StructureShape.new(name: 'IllegalOriginAccessConfiguration')
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')
ImportSource =

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

Shapes::StructureShape.new(name: 'ImportSource')
ImportSourceType =

This constant is part 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: 'ImportSourceType')
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')
InvalidDomainNameForOriginAccessControl =

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

Shapes::StructureShape.new(name: 'InvalidDomainNameForOriginAccessControl')
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')
InvalidOriginAccessControl =

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

Shapes::StructureShape.new(name: 'InvalidOriginAccessControl')
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')
KeyValueStore =

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

Shapes::StructureShape.new(name: 'KeyValueStore')
KeyValueStoreARN =

This constant is part 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: 'KeyValueStoreARN')
KeyValueStoreAssociation =

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

Shapes::StructureShape.new(name: 'KeyValueStoreAssociation')
KeyValueStoreAssociationList =

This constant is part 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: 'KeyValueStoreAssociationList')
KeyValueStoreAssociations =

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

Shapes::StructureShape.new(name: 'KeyValueStoreAssociations')
KeyValueStoreComment =

This constant is part 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: 'KeyValueStoreComment')
KeyValueStoreList =

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

Shapes::StructureShape.new(name: 'KeyValueStoreList')
KeyValueStoreName =

This constant is part 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: 'KeyValueStoreName')
KeyValueStoreSummaryList =

This constant is part 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: 'KeyValueStoreSummaryList')
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')
ListAnycastIpListsRequest =

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

Shapes::StructureShape.new(name: 'ListAnycastIpListsRequest')
ListAnycastIpListsResult =

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

Shapes::StructureShape.new(name: 'ListAnycastIpListsResult')
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')
ListConflictingAliasesRequest =

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

Shapes::StructureShape.new(name: 'ListConflictingAliasesRequest')
ListConflictingAliasesResult =

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

Shapes::StructureShape.new(name: 'ListConflictingAliasesResult')
ListContinuousDeploymentPoliciesRequest =

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

Shapes::StructureShape.new(name: 'ListContinuousDeploymentPoliciesRequest')
ListContinuousDeploymentPoliciesResult =

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

Shapes::StructureShape.new(name: 'ListContinuousDeploymentPoliciesResult')
ListDistributionsByAnycastIpListIdRequest =

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

Shapes::StructureShape.new(name: 'ListDistributionsByAnycastIpListIdRequest')
ListDistributionsByAnycastIpListIdResult =

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

Shapes::StructureShape.new(name: 'ListDistributionsByAnycastIpListIdResult')
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')
ListDistributionsByResponseHeadersPolicyIdRequest =

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

Shapes::StructureShape.new(name: 'ListDistributionsByResponseHeadersPolicyIdRequest')
ListDistributionsByResponseHeadersPolicyIdResult =

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

Shapes::StructureShape.new(name: 'ListDistributionsByResponseHeadersPolicyIdResult')
ListDistributionsByVpcOriginIdRequest =

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

Shapes::StructureShape.new(name: 'ListDistributionsByVpcOriginIdRequest')
ListDistributionsByVpcOriginIdResult =

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

Shapes::StructureShape.new(name: 'ListDistributionsByVpcOriginIdResult')
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')
ListKeyValueStoresRequest =

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

Shapes::StructureShape.new(name: 'ListKeyValueStoresRequest')
ListKeyValueStoresResult =

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

Shapes::StructureShape.new(name: 'ListKeyValueStoresResult')
ListOriginAccessControlsRequest =

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

Shapes::StructureShape.new(name: 'ListOriginAccessControlsRequest')
ListOriginAccessControlsResult =

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

Shapes::StructureShape.new(name: 'ListOriginAccessControlsResult')
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')
ListResponseHeadersPoliciesRequest =

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

Shapes::StructureShape.new(name: 'ListResponseHeadersPoliciesRequest')
ListResponseHeadersPoliciesResult =

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

Shapes::StructureShape.new(name: 'ListResponseHeadersPoliciesResult')
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')
ListVpcOriginsRequest =

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

Shapes::StructureShape.new(name: 'ListVpcOriginsRequest')
ListVpcOriginsResult =

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

Shapes::StructureShape.new(name: 'ListVpcOriginsResult')
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')
MonitoringSubscriptionAlreadyExists =

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

Shapes::StructureShape.new(name: 'MonitoringSubscriptionAlreadyExists')
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')
NoSuchContinuousDeploymentPolicy =

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

Shapes::StructureShape.new(name: 'NoSuchContinuousDeploymentPolicy')
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')
NoSuchMonitoringSubscription =

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

Shapes::StructureShape.new(name: 'NoSuchMonitoringSubscription')
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')
NoSuchOriginAccessControl =

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

Shapes::StructureShape.new(name: 'NoSuchOriginAccessControl')
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')
NoSuchResponseHeadersPolicy =

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

Shapes::StructureShape.new(name: 'NoSuchResponseHeadersPolicy')
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')
OriginAccessControl =

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

Shapes::StructureShape.new(name: 'OriginAccessControl')
OriginAccessControlAlreadyExists =

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

Shapes::StructureShape.new(name: 'OriginAccessControlAlreadyExists')
OriginAccessControlConfig =

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

Shapes::StructureShape.new(name: 'OriginAccessControlConfig')
OriginAccessControlInUse =

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

Shapes::StructureShape.new(name: 'OriginAccessControlInUse')
OriginAccessControlList =

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

Shapes::StructureShape.new(name: 'OriginAccessControlList')
OriginAccessControlOriginTypes =

This constant is part 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: 'OriginAccessControlOriginTypes')
OriginAccessControlSigningBehaviors =

This constant is part 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: 'OriginAccessControlSigningBehaviors')
OriginAccessControlSigningProtocols =

This constant is part 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: 'OriginAccessControlSigningProtocols')
OriginAccessControlSummary =

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

Shapes::StructureShape.new(name: 'OriginAccessControlSummary')
OriginAccessControlSummaryList =

This constant is part 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: 'OriginAccessControlSummaryList')
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')
ReferrerPolicyList =

This constant is part 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: 'ReferrerPolicyList')
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')
ResponseHeadersPolicy =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicy')
ResponseHeadersPolicyAccessControlAllowHeaders =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyAccessControlAllowHeaders')
ResponseHeadersPolicyAccessControlAllowMethods =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyAccessControlAllowMethods')
ResponseHeadersPolicyAccessControlAllowMethodsValues =

This constant is part 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: 'ResponseHeadersPolicyAccessControlAllowMethodsValues')
ResponseHeadersPolicyAccessControlAllowOrigins =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyAccessControlAllowOrigins')
ResponseHeadersPolicyAccessControlExposeHeaders =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyAccessControlExposeHeaders')
ResponseHeadersPolicyAlreadyExists =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyAlreadyExists')
ResponseHeadersPolicyConfig =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyConfig')
ResponseHeadersPolicyContentSecurityPolicy =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyContentSecurityPolicy')
ResponseHeadersPolicyContentTypeOptions =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyContentTypeOptions')
ResponseHeadersPolicyCorsConfig =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyCorsConfig')
ResponseHeadersPolicyCustomHeader =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyCustomHeader')
ResponseHeadersPolicyCustomHeaderList =

This constant is part 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: 'ResponseHeadersPolicyCustomHeaderList')
ResponseHeadersPolicyCustomHeadersConfig =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyCustomHeadersConfig')
ResponseHeadersPolicyFrameOptions =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyFrameOptions')
ResponseHeadersPolicyInUse =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyInUse')
ResponseHeadersPolicyList =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyList')
ResponseHeadersPolicyReferrerPolicy =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyReferrerPolicy')
ResponseHeadersPolicyRemoveHeader =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyRemoveHeader')
ResponseHeadersPolicyRemoveHeaderList =

This constant is part 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: 'ResponseHeadersPolicyRemoveHeaderList')
ResponseHeadersPolicyRemoveHeadersConfig =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyRemoveHeadersConfig')
ResponseHeadersPolicySecurityHeadersConfig =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicySecurityHeadersConfig')
ResponseHeadersPolicyServerTimingHeadersConfig =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyServerTimingHeadersConfig')
ResponseHeadersPolicyStrictTransportSecurity =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyStrictTransportSecurity')
ResponseHeadersPolicySummary =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicySummary')
ResponseHeadersPolicySummaryList =

This constant is part 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: 'ResponseHeadersPolicySummaryList')
ResponseHeadersPolicyType =

This constant is part 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: 'ResponseHeadersPolicyType')
ResponseHeadersPolicyXSSProtection =

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

Shapes::StructureShape.new(name: 'ResponseHeadersPolicyXSSProtection')
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')
SamplingRate =

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

Shapes::FloatShape.new(name: 'SamplingRate')
SessionStickinessConfig =

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

Shapes::StructureShape.new(name: 'SessionStickinessConfig')
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')
StagingDistributionDnsNameList =

This constant is part 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: 'StagingDistributionDnsNameList')
StagingDistributionDnsNames =

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

Shapes::StructureShape.new(name: 'StagingDistributionDnsNames')
StagingDistributionInUse =

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

Shapes::StructureShape.new(name: 'StagingDistributionInUse')
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')
TooLongCSPInResponseHeadersPolicy =

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

Shapes::StructureShape.new(name: 'TooLongCSPInResponseHeadersPolicy')
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')
TooManyContinuousDeploymentPolicies =

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

Shapes::StructureShape.new(name: 'TooManyContinuousDeploymentPolicies')
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')
TooManyCustomHeadersInResponseHeadersPolicy =

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

Shapes::StructureShape.new(name: 'TooManyCustomHeadersInResponseHeadersPolicy')
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')
TooManyDistributionsAssociatedToOriginAccessControl =

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

Shapes::StructureShape.new(name: 'TooManyDistributionsAssociatedToOriginAccessControl')
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')
TooManyDistributionsAssociatedToResponseHeadersPolicy =

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

Shapes::StructureShape.new(name: 'TooManyDistributionsAssociatedToResponseHeadersPolicy')
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')
TooManyOriginAccessControls =

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

Shapes::StructureShape.new(name: 'TooManyOriginAccessControls')
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')
TooManyRemoveHeadersInResponseHeadersPolicy =

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

Shapes::StructureShape.new(name: 'TooManyRemoveHeadersInResponseHeadersPolicy')
TooManyResponseHeadersPolicies =

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

Shapes::StructureShape.new(name: 'TooManyResponseHeadersPolicies')
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')
TrafficConfig =

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

Shapes::StructureShape.new(name: 'TrafficConfig')
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')
UpdateContinuousDeploymentPolicyRequest =

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

Shapes::StructureShape.new(name: 'UpdateContinuousDeploymentPolicyRequest')
UpdateContinuousDeploymentPolicyResult =

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

Shapes::StructureShape.new(name: 'UpdateContinuousDeploymentPolicyResult')
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')
UpdateDistributionWithStagingConfigRequest =

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

Shapes::StructureShape.new(name: 'UpdateDistributionWithStagingConfigRequest')
UpdateDistributionWithStagingConfigResult =

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

Shapes::StructureShape.new(name: 'UpdateDistributionWithStagingConfigResult')
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')
UpdateKeyValueStoreRequest =

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

Shapes::StructureShape.new(name: 'UpdateKeyValueStoreRequest')
UpdateKeyValueStoreResult =

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

Shapes::StructureShape.new(name: 'UpdateKeyValueStoreResult')
UpdateOriginAccessControlRequest =

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

Shapes::StructureShape.new(name: 'UpdateOriginAccessControlRequest')
UpdateOriginAccessControlResult =

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

Shapes::StructureShape.new(name: 'UpdateOriginAccessControlResult')
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')
UpdateResponseHeadersPolicyRequest =

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

Shapes::StructureShape.new(name: 'UpdateResponseHeadersPolicyRequest')
UpdateResponseHeadersPolicyResult =

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

Shapes::StructureShape.new(name: 'UpdateResponseHeadersPolicyResult')
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')
UpdateVpcOriginRequest =

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

Shapes::StructureShape.new(name: 'UpdateVpcOriginRequest')
UpdateVpcOriginResult =

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

Shapes::StructureShape.new(name: 'UpdateVpcOriginResult')
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')
VpcOrigin =

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

Shapes::StructureShape.new(name: 'VpcOrigin')
VpcOriginConfig =

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

Shapes::StructureShape.new(name: 'VpcOriginConfig')
VpcOriginEndpointConfig =

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

Shapes::StructureShape.new(name: 'VpcOriginEndpointConfig')
VpcOriginList =

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

Shapes::StructureShape.new(name: 'VpcOriginList')
VpcOriginSummary =

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

Shapes::StructureShape.new(name: 'VpcOriginSummary')
VpcOriginSummaryList =

This constant is part 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: 'VpcOriginSummaryList')
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",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "cloudfront",
    "globalEndpoint" => "cloudfront.amazonaws.com",
    "protocol" => "rest-xml",
    "protocols" => ["rest-xml"],
    "serviceAbbreviation" => "CloudFront",
    "serviceFullName" => "Amazon CloudFront",
    "serviceId" => "CloudFront",
    "signatureVersion" => "v4",
    "signingName" => "cloudfront",
    "uid" => "cloudfront-2020-05-31",
  }

  api.add_operation(:associate_alias, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateAlias2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/distribution/{TargetDistributionId}/associate-alias"
    o.input = Shapes::ShapeRef.new(shape: AssociateAliasRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
  end)

  api.add_operation(:copy_distribution, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CopyDistribution2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/distribution/{PrimaryDistributionId}/copy"
    o.input = Shapes::ShapeRef.new(shape: CopyDistributionRequest,
      location_name: "CopyDistributionRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: CopyDistributionResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidProtocolSettings)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: DistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
  end)

  api.add_operation(:create_anycast_ip_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAnycastIpList2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/anycast-ip-list"
    o.input = Shapes::ShapeRef.new(shape: CreateAnycastIpListRequest,
      location_name: "CreateAnycastIpListRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: CreateAnycastIpListResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: EntityLimitExceeded)
  end)

  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: TooManyHeadersInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: CachePolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCachePolicies)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    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: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCloudFrontOriginAccessIdentities)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: CloudFrontOriginAccessIdentityAlreadyExists)
  end)

  api.add_operation(:create_continuous_deployment_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateContinuousDeploymentPolicy2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/continuous-deployment-policy"
    o.input = Shapes::ShapeRef.new(shape: CreateContinuousDeploymentPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateContinuousDeploymentPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyContinuousDeploymentPolicies)
    o.errors << Shapes::ShapeRef.new(shape: StagingDistributionInUse)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: ContinuousDeploymentPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDomainNameForOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: IllegalOriginAccessConfiguration)
    o.errors << Shapes::ShapeRef.new(shape: InvalidProtocolSettings)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
    o.errors << Shapes::ShapeRef.new(shape: ContinuousDeploymentPolicyInUse)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: DistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDomainNameForOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: IllegalOriginAccessConfiguration)
    o.errors << Shapes::ShapeRef.new(shape: InvalidProtocolSettings)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributions)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
    o.errors << Shapes::ShapeRef.new(shape: ContinuousDeploymentPolicyInUse)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: DistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
  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: QueryArgProfileEmpty)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionQueryArgProfiles)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionContentTypeProfiles)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionConfigAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionConfigs)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: TooManyFieldLevelEncryptionFieldPatterns)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileSizeExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionProfiles)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionEncryptionEntities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: FunctionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: FunctionSizeLimitExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctions)
  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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyInvalidationsInProgress)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: BatchTooLarge)
  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: TooManyPublicKeysInKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroups)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: KeyGroupAlreadyExists)
  end)

  api.add_operation(:create_key_value_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateKeyValueStore2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/key-value-store"
    o.input = Shapes::ShapeRef.new(shape: CreateKeyValueStoreRequest,
      location_name: "CreateKeyValueStoreRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: CreateKeyValueStoreResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: EntityLimitExceeded)
    o.errors << Shapes::ShapeRef.new(shape: EntitySizeLimitExceeded)
  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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: MonitoringSubscriptionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
  end)

  api.add_operation(:create_origin_access_control, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateOriginAccessControl2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/origin-access-control"
    o.input = Shapes::ShapeRef.new(shape: CreateOriginAccessControlRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateOriginAccessControlResult)
    o.errors << Shapes::ShapeRef.new(shape: OriginAccessControlAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginAccessControls)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: TooManyHeadersInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: OriginRequestPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginRequestPolicies)
  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: TooManyPublicKeys)
    o.errors << Shapes::ShapeRef.new(shape: PublicKeyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRealtimeLogConfigs)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:create_response_headers_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateResponseHeadersPolicy2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/response-headers-policy"
    o.input = Shapes::ShapeRef.new(shape: CreateResponseHeadersPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateResponseHeadersPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCustomHeadersInResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: ResponseHeadersPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooLongCSPInResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRemoveHeadersInResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyResponseHeadersPolicies)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: StreamingDistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributions)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: StreamingDistributionAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributions)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOrigin)
  end)

  api.add_operation(:create_vpc_origin, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateVpcOrigin2020_05_31"
    o.http_method = "POST"
    o.http_request_uri = "/2020-05-31/vpc-origin"
    o.input = Shapes::ShapeRef.new(shape: CreateVpcOriginRequest,
      location_name: "CreateVpcOriginRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: CreateVpcOriginResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: EntityLimitExceeded)
  end)

  api.add_operation(:delete_anycast_ip_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAnycastIpList2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/anycast-ip-list/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteAnycastIpListRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: CannotDeleteEntityWhileInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: CachePolicyInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    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: CloudFrontOriginAccessIdentityInUse)
  end)

  api.add_operation(:delete_continuous_deployment_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteContinuousDeploymentPolicy2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/continuous-deployment-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteContinuousDeploymentPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: ContinuousDeploymentPolicyInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: DistributionNotDisabled)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionConfigInUse)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: FunctionInUse)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: ResourceInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  end)

  api.add_operation(:delete_key_value_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteKeyValueStore2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/key-value-store/{Name}"
    o.input = Shapes::ShapeRef.new(shape: DeleteKeyValueStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: CannotDeleteEntityWhileInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchMonitoringSubscription)
  end)

  api.add_operation(:delete_origin_access_control, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteOriginAccessControl2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/origin-access-control/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteOriginAccessControlRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: OriginAccessControlInUse)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: PublicKeyInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigInUse)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
  end)

  api.add_operation(:delete_response_headers_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteResponseHeadersPolicy2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/response-headers-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteResponseHeadersPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: ResponseHeadersPolicyInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: StreamingDistributionNotDisabled)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  end)

  api.add_operation(:delete_vpc_origin, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteVpcOrigin2020_05_31"
    o.http_method = "DELETE"
    o.http_request_uri = "/2020-05-31/vpc-origin/{Id}"
    o.input = Shapes::ShapeRef.new(shape: DeleteVpcOriginRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteVpcOriginResult)
    o.errors << Shapes::ShapeRef.new(shape: CannotDeleteEntityWhileInUse)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: IllegalDelete)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
  end)

  api.add_operation(:describe_key_value_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeKeyValueStore2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/key-value-store/{Name}"
    o.input = Shapes::ShapeRef.new(shape: DescribeKeyValueStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeKeyValueStoreResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:get_anycast_ip_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAnycastIpList2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/anycast-ip-list/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetAnycastIpListRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAnycastIpListResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  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: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
  end)

  api.add_operation(:get_continuous_deployment_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetContinuousDeploymentPolicy2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/continuous-deployment-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetContinuousDeploymentPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetContinuousDeploymentPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
  end)

  api.add_operation(:get_continuous_deployment_policy_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetContinuousDeploymentPolicyConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/continuous-deployment-policy/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetContinuousDeploymentPolicyConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetContinuousDeploymentPolicyConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
  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: UnsupportedOperation)
    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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchInvalidation)
  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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchMonitoringSubscription)
  end)

  api.add_operation(:get_origin_access_control, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetOriginAccessControl2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-access-control/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetOriginAccessControlRequest)
    o.output = Shapes::ShapeRef.new(shape: GetOriginAccessControlResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginAccessControl)
  end)

  api.add_operation(:get_origin_access_control_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetOriginAccessControlConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-access-control/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetOriginAccessControlConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetOriginAccessControlConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginAccessControl)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
  end)

  api.add_operation(:get_response_headers_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetResponseHeadersPolicy2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/response-headers-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetResponseHeadersPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetResponseHeadersPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
  end)

  api.add_operation(:get_response_headers_policy_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetResponseHeadersPolicyConfig2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/response-headers-policy/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: GetResponseHeadersPolicyConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: GetResponseHeadersPolicyConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
  end)

  api.add_operation(:get_vpc_origin, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetVpcOrigin2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/vpc-origin/{Id}"
    o.input = Shapes::ShapeRef.new(shape: GetVpcOriginRequest)
    o.output = Shapes::ShapeRef.new(shape: GetVpcOriginResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_anycast_ip_lists, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAnycastIpLists2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/anycast-ip-list"
    o.input = Shapes::ShapeRef.new(shape: ListAnycastIpListsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAnycastIpListsResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    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(
      limit_key: "max_items",
      tokens: {
        "cloud_front_origin_access_identity_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_conflicting_aliases, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListConflictingAliases2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/conflicting-alias"
    o.input = Shapes::ShapeRef.new(shape: ListConflictingAliasesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListConflictingAliasesResult)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_continuous_deployment_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListContinuousDeploymentPolicies2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/continuous-deployment-policy"
    o.input = Shapes::ShapeRef.new(shape: ListContinuousDeploymentPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListContinuousDeploymentPoliciesResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
  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(
      limit_key: "max_items",
      tokens: {
        "distribution_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_distributions_by_anycast_ip_list_id, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByAnycastIpListId2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByAnycastIpListId/{AnycastIpListId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByAnycastIpListIdRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByAnycastIpListIdResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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_response_headers_policy_id, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByResponseHeadersPolicyId2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByResponseHeadersPolicyId/{ResponseHeadersPolicyId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByResponseHeadersPolicyIdRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByResponseHeadersPolicyIdResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  end)

  api.add_operation(:list_distributions_by_vpc_origin_id, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDistributionsByVpcOriginId2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/distributionsByVpcOriginId/{VpcOriginId}"
    o.input = Shapes::ShapeRef.new(shape: ListDistributionsByVpcOriginIdRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDistributionsByVpcOriginIdResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    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: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: UnsupportedOperation)
    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: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o[:pager] = Aws::Pager.new(
      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_key_value_stores, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListKeyValueStores2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/key-value-store"
    o.input = Shapes::ShapeRef.new(shape: ListKeyValueStoresRequest)
    o.output = Shapes::ShapeRef.new(shape: ListKeyValueStoresResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_items",
      tokens: {
        "key_value_store_list.next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_origin_access_controls, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListOriginAccessControls2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/origin-access-control"
    o.input = Shapes::ShapeRef.new(shape: ListOriginAccessControlsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListOriginAccessControlsResult)
    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)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_items",
      tokens: {
        "public_key_list.next_marker" => "marker"
      }
    )
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
  end)

  api.add_operation(:list_response_headers_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListResponseHeadersPolicies2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/response-headers-policy"
    o.input = Shapes::ShapeRef.new(shape: ListResponseHeadersPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListResponseHeadersPoliciesResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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(
      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: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
  end)

  api.add_operation(:list_vpc_origins, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListVpcOrigins2020_05_31"
    o.http_method = "GET"
    o.http_request_uri = "/2020-05-31/vpc-origin"
    o.input = Shapes::ShapeRef.new(shape: ListVpcOriginsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListVpcOriginsResult)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    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: TestFunctionFailed)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: InvalidTagging)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    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: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: CachePolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCloudFrontOriginAccessIdentity)
  end)

  api.add_operation(:update_continuous_deployment_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateContinuousDeploymentPolicy2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/continuous-deployment-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: UpdateContinuousDeploymentPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateContinuousDeploymentPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: StagingDistributionInUse)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: TooManyDistributionsAssociatedToOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDomainNameForOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: IllegalOriginAccessConfiguration)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: StagingDistributionInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchContinuousDeploymentPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: ContinuousDeploymentPolicyInUse)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
  end)

  api.add_operation(:update_distribution_with_staging_config, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateDistributionWithStagingConfig2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/distribution/{Id}/promote-staging-config"
    o.input = Shapes::ShapeRef.new(shape: UpdateDistributionWithStagingConfigRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateDistributionWithStagingConfigResult)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidDefaultRootObject)
    o.errors << Shapes::ShapeRef.new(shape: InvalidQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookieNamesInWhiteList)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidErrorCode)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginCustomHeaders)
    o.errors << Shapes::ShapeRef.new(shape: InvalidForwardCookies)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMinimumProtocolVersion)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyKeyGroupsAssociatedToDistribution)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToCachePolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequiredProtocol)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOriginGroupsPerDistribution)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTTLOrder)
    o.errors << Shapes::ShapeRef.new(shape: IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginKeepaliveTimeout)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginReadTimeout)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: InvalidHeadersForS3Origin)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: InvalidWebACLId)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithSingleFunctionARN)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRelativePath)
    o.errors << Shapes::ShapeRef.new(shape: TooManyLambdaFunctionAssociations)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchDistribution)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLocationCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringParameters)
    o.errors << Shapes::ShapeRef.new(shape: RealtimeLogConfigOwnerMismatch)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInForwardedValues)
    o.errors << Shapes::ShapeRef.new(shape: InvalidLambdaFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCertificates)
    o.errors << Shapes::ShapeRef.new(shape: TrustedKeyGroupDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResponseCode)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGeoRestrictionParameter)
    o.errors << Shapes::ShapeRef.new(shape: TooManyOrigins)
    o.errors << Shapes::ShapeRef.new(shape: InvalidViewerCertificate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFunctionAssociation)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsWithLambdaAssociations)
    o.errors << Shapes::ShapeRef.new(shape: TooManyDistributionsAssociatedToKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOrigin)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCacheBehaviors)
  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: QueryArgProfileEmpty)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionQueryArgProfiles)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionConfig)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionContentTypeProfiles)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionFieldPatterns)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: FieldLevelEncryptionProfileSizeExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFieldLevelEncryptionProfile)
    o.errors << Shapes::ShapeRef.new(shape: TooManyFieldLevelEncryptionEncryptionEntities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: FunctionSizeLimitExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchFunctionExists)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: TooManyPublicKeysInKeyGroup)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResource)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: KeyGroupAlreadyExists)
  end)

  api.add_operation(:update_key_value_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateKeyValueStore2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/key-value-store/{Name}"
    o.input = Shapes::ShapeRef.new(shape: UpdateKeyValueStoreRequest,
      location_name: "UpdateKeyValueStoreRequest",
      metadata: {
        "xmlNamespace" => {"uri"=>"http://cloudfront.amazonaws.com/doc/2020-05-31/"}
      }
    )
    o.output = Shapes::ShapeRef.new(shape: UpdateKeyValueStoreResult)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  end)

  api.add_operation(:update_origin_access_control, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateOriginAccessControl2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/origin-access-control/{Id}/config"
    o.input = Shapes::ShapeRef.new(shape: UpdateOriginAccessControlRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateOriginAccessControlResult)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: OriginAccessControlAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyHeadersInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCookiesInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: OriginRequestPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: TooManyQueryStringsInOriginRequestPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicKey)
    o.errors << Shapes::ShapeRef.new(shape: CannotChangeImmutablePublicKeyFields)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchRealtimeLogConfig)
  end)

  api.add_operation(:update_response_headers_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateResponseHeadersPolicy2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/response-headers-policy/{Id}"
    o.input = Shapes::ShapeRef.new(shape: UpdateResponseHeadersPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateResponseHeadersPolicyResult)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: TooManyCustomHeadersInResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: ResponseHeadersPolicyAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: TooLongCSPInResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRemoveHeadersInResponseHeadersPolicy)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  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: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessIdentity)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTrustedSigners)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOriginAccessControl)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: MissingBody)
    o.errors << Shapes::ShapeRef.new(shape: TooManyStreamingDistributionCNAMEs)
    o.errors << Shapes::ShapeRef.new(shape: TrustedSignerDoesNotExist)
    o.errors << Shapes::ShapeRef.new(shape: CNAMEAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: NoSuchStreamingDistribution)
  end)

  api.add_operation(:update_vpc_origin, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateVpcOrigin2020_05_31"
    o.http_method = "PUT"
    o.http_request_uri = "/2020-05-31/vpc-origin/{Id}"
    o.input = Shapes::ShapeRef.new(shape: UpdateVpcOriginRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateVpcOriginResult)
    o.errors << Shapes::ShapeRef.new(shape: PreconditionFailed)
    o.errors << Shapes::ShapeRef.new(shape: EntityNotFound)
    o.errors << Shapes::ShapeRef.new(shape: AccessDenied)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperation)
    o.errors << Shapes::ShapeRef.new(shape: InconsistentQuantities)
    o.errors << Shapes::ShapeRef.new(shape: EntityAlreadyExists)
    o.errors << Shapes::ShapeRef.new(shape: CannotUpdateEntityWhileInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArgument)
    o.errors << Shapes::ShapeRef.new(shape: EntityLimitExceeded)
    o.errors << Shapes::ShapeRef.new(shape: IllegalUpdate)
    o.errors << Shapes::ShapeRef.new(shape: InvalidIfMatchVersion)
  end)
end