Module: Aws::ElastiCache::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-elasticache/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

APICallRateForCustomerExceededFault =

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

Shapes::StructureShape.new(name: 'APICallRateForCustomerExceededFault', error: {"code"=>"APICallRateForCustomerExceeded", "httpStatusCode"=>400, "senderFault"=>true})
AZMode =

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

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

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

Shapes::StructureShape.new(name: 'AddTagsToResourceMessage')
AllowedNodeGroupId =

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

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

Shapes::StructureShape.new(name: 'AllowedNodeTypeModificationsMessage')
AuthTokenUpdateStatus =

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

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

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

Shapes::StructureShape.new(name: 'Authentication')
AuthenticationMode =

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

Shapes::StructureShape.new(name: 'AuthenticationMode')
AuthenticationType =

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

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

Shapes::StructureShape.new(name: 'AuthorizationAlreadyExistsFault', error: {"code"=>"AuthorizationAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
AuthorizationNotFoundFault =

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

Shapes::StructureShape.new(name: 'AuthorizationNotFoundFault', error: {"code"=>"AuthorizationNotFound", "httpStatusCode"=>404, "senderFault"=>true})
AuthorizeCacheSecurityGroupIngressMessage =

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

Shapes::StructureShape.new(name: 'AuthorizeCacheSecurityGroupIngressMessage')
AuthorizeCacheSecurityGroupIngressResult =

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

Shapes::StructureShape.new(name: 'AuthorizeCacheSecurityGroupIngressResult')
AutomaticFailoverStatus =

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

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

Shapes::StructureShape.new(name: 'AvailabilityZone')
AvailabilityZonesList =

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

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

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

Shapes::StructureShape.new(name: 'BatchApplyUpdateActionMessage')
BatchStopUpdateActionMessage =

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

Shapes::StructureShape.new(name: 'BatchStopUpdateActionMessage')
Boolean =

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

Shapes::BooleanShape.new(name: 'Boolean')
BooleanOptional =

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

Shapes::BooleanShape.new(name: 'BooleanOptional')
CacheCluster =

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

Shapes::StructureShape.new(name: 'CacheCluster')
CacheClusterAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'CacheClusterAlreadyExistsFault', error: {"code"=>"CacheClusterAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
CacheClusterIdList =

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

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

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

Shapes::StructureShape.new(name: 'CacheClusterMessage')
CacheClusterNotFoundFault =

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

Shapes::StructureShape.new(name: 'CacheClusterNotFoundFault', error: {"code"=>"CacheClusterNotFound", "httpStatusCode"=>404, "senderFault"=>true})
CacheEngineVersion =

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

Shapes::StructureShape.new(name: 'CacheEngineVersion')
CacheEngineVersionList =

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

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

Shapes::StructureShape.new(name: 'CacheEngineVersionMessage')
CacheNode =

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

Shapes::StructureShape.new(name: 'CacheNode')
CacheNodeIdsList =

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

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

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

Shapes::StructureShape.new(name: 'CacheNodeTypeSpecificParameter')
CacheNodeTypeSpecificParametersList =

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

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

Shapes::StructureShape.new(name: 'CacheNodeTypeSpecificValue')
CacheNodeTypeSpecificValueList =

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

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

Shapes::StructureShape.new(name: 'CacheNodeUpdateStatus')
CacheNodeUpdateStatusList =

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

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

Shapes::StructureShape.new(name: 'CacheParameterGroup')
CacheParameterGroupAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'CacheParameterGroupAlreadyExistsFault', error: {"code"=>"CacheParameterGroupAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
CacheParameterGroupDetails =

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

Shapes::StructureShape.new(name: 'CacheParameterGroupDetails')
CacheParameterGroupList =

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

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

Shapes::StructureShape.new(name: 'CacheParameterGroupNameMessage')
CacheParameterGroupNotFoundFault =

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

Shapes::StructureShape.new(name: 'CacheParameterGroupNotFoundFault', error: {"code"=>"CacheParameterGroupNotFound", "httpStatusCode"=>404, "senderFault"=>true})
CacheParameterGroupQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'CacheParameterGroupQuotaExceededFault', error: {"code"=>"CacheParameterGroupQuotaExceeded", "httpStatusCode"=>400, "senderFault"=>true})
CacheParameterGroupStatus =

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

Shapes::StructureShape.new(name: 'CacheParameterGroupStatus')
CacheParameterGroupsMessage =

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

Shapes::StructureShape.new(name: 'CacheParameterGroupsMessage')
CacheSecurityGroup =

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

Shapes::StructureShape.new(name: 'CacheSecurityGroup')
CacheSecurityGroupAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'CacheSecurityGroupAlreadyExistsFault', error: {"code"=>"CacheSecurityGroupAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
CacheSecurityGroupMembership =

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

Shapes::StructureShape.new(name: 'CacheSecurityGroupMembership')
CacheSecurityGroupMembershipList =

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

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

Shapes::StructureShape.new(name: 'CacheSecurityGroupMessage')
CacheSecurityGroupNameList =

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

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

Shapes::StructureShape.new(name: 'CacheSecurityGroupNotFoundFault', error: {"code"=>"CacheSecurityGroupNotFound", "httpStatusCode"=>404, "senderFault"=>true})
CacheSecurityGroupQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'CacheSecurityGroupQuotaExceededFault', error: {"code"=>"QuotaExceeded.CacheSecurityGroup", "httpStatusCode"=>400, "senderFault"=>true})
CacheSecurityGroups =

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

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

Shapes::StructureShape.new(name: 'CacheSubnetGroup')
CacheSubnetGroupAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'CacheSubnetGroupAlreadyExistsFault', error: {"code"=>"CacheSubnetGroupAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
CacheSubnetGroupInUse =

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

Shapes::StructureShape.new(name: 'CacheSubnetGroupInUse', error: {"code"=>"CacheSubnetGroupInUse", "httpStatusCode"=>400, "senderFault"=>true})
CacheSubnetGroupMessage =

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

Shapes::StructureShape.new(name: 'CacheSubnetGroupMessage')
CacheSubnetGroupNotFoundFault =

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

Shapes::StructureShape.new(name: 'CacheSubnetGroupNotFoundFault', error: {"code"=>"CacheSubnetGroupNotFoundFault", "httpStatusCode"=>400, "senderFault"=>true})
CacheSubnetGroupQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'CacheSubnetGroupQuotaExceededFault', error: {"code"=>"CacheSubnetGroupQuotaExceeded", "httpStatusCode"=>400, "senderFault"=>true})
CacheSubnetGroups =

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

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

Shapes::StructureShape.new(name: 'CacheSubnetQuotaExceededFault', error: {"code"=>"CacheSubnetQuotaExceededFault", "httpStatusCode"=>400, "senderFault"=>true})
CacheUsageLimits =

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

Shapes::StructureShape.new(name: 'CacheUsageLimits')
ChangeType =

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

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

Shapes::StructureShape.new(name: 'CloudWatchLogsDestinationDetails')
ClusterIdList =

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

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

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

Shapes::StructureShape.new(name: 'ClusterQuotaForCustomerExceededFault', error: {"code"=>"ClusterQuotaForCustomerExceeded", "httpStatusCode"=>400, "senderFault"=>true})
CompleteMigrationMessage =

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

Shapes::StructureShape.new(name: 'CompleteMigrationMessage')
CompleteMigrationResponse =

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

Shapes::StructureShape.new(name: 'CompleteMigrationResponse')
ConfigureShard =

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

Shapes::StructureShape.new(name: 'ConfigureShard')
CopyServerlessCacheSnapshotRequest =

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

Shapes::StructureShape.new(name: 'CopyServerlessCacheSnapshotRequest')
CopyServerlessCacheSnapshotResponse =

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

Shapes::StructureShape.new(name: 'CopyServerlessCacheSnapshotResponse')
CopySnapshotMessage =

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

Shapes::StructureShape.new(name: 'CopySnapshotMessage')
CopySnapshotResult =

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

Shapes::StructureShape.new(name: 'CopySnapshotResult')
CreateCacheClusterMessage =

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

Shapes::StructureShape.new(name: 'CreateCacheClusterMessage')
CreateCacheClusterResult =

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

Shapes::StructureShape.new(name: 'CreateCacheClusterResult')
CreateCacheParameterGroupMessage =

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

Shapes::StructureShape.new(name: 'CreateCacheParameterGroupMessage')
CreateCacheParameterGroupResult =

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

Shapes::StructureShape.new(name: 'CreateCacheParameterGroupResult')
CreateCacheSecurityGroupMessage =

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

Shapes::StructureShape.new(name: 'CreateCacheSecurityGroupMessage')
CreateCacheSecurityGroupResult =

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

Shapes::StructureShape.new(name: 'CreateCacheSecurityGroupResult')
CreateCacheSubnetGroupMessage =

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

Shapes::StructureShape.new(name: 'CreateCacheSubnetGroupMessage')
CreateCacheSubnetGroupResult =

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

Shapes::StructureShape.new(name: 'CreateCacheSubnetGroupResult')
CreateGlobalReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'CreateGlobalReplicationGroupMessage')
CreateGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'CreateGlobalReplicationGroupResult')
CreateReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'CreateReplicationGroupMessage')
CreateReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'CreateReplicationGroupResult')
CreateServerlessCacheRequest =

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

Shapes::StructureShape.new(name: 'CreateServerlessCacheRequest')
CreateServerlessCacheResponse =

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

Shapes::StructureShape.new(name: 'CreateServerlessCacheResponse')
CreateServerlessCacheSnapshotRequest =

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

Shapes::StructureShape.new(name: 'CreateServerlessCacheSnapshotRequest')
CreateServerlessCacheSnapshotResponse =

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

Shapes::StructureShape.new(name: 'CreateServerlessCacheSnapshotResponse')
CreateSnapshotMessage =

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

Shapes::StructureShape.new(name: 'CreateSnapshotMessage')
CreateSnapshotResult =

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

Shapes::StructureShape.new(name: 'CreateSnapshotResult')
CreateUserGroupMessage =

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

Shapes::StructureShape.new(name: 'CreateUserGroupMessage')
CreateUserMessage =

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

Shapes::StructureShape.new(name: 'CreateUserMessage')
CustomerNodeEndpoint =

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

Shapes::StructureShape.new(name: 'CustomerNodeEndpoint')
CustomerNodeEndpointList =

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

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

Shapes::StructureShape.new(name: 'DataStorage')
DataStorageUnit =

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

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

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

Shapes::StructureShape.new(name: 'DecreaseNodeGroupsInGlobalReplicationGroupMessage')
DecreaseNodeGroupsInGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'DecreaseNodeGroupsInGlobalReplicationGroupResult')
DecreaseReplicaCountMessage =

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

Shapes::StructureShape.new(name: 'DecreaseReplicaCountMessage')
DecreaseReplicaCountResult =

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

Shapes::StructureShape.new(name: 'DecreaseReplicaCountResult')
DefaultUserAssociatedToUserGroupFault =

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

Shapes::StructureShape.new(name: 'DefaultUserAssociatedToUserGroupFault', error: {"code"=>"DefaultUserAssociatedToUserGroup", "httpStatusCode"=>400, "senderFault"=>true})
DefaultUserRequired =

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

Shapes::StructureShape.new(name: 'DefaultUserRequired', error: {"code"=>"DefaultUserRequired", "httpStatusCode"=>400, "senderFault"=>true})
DeleteCacheClusterMessage =

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

Shapes::StructureShape.new(name: 'DeleteCacheClusterMessage')
DeleteCacheClusterResult =

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

Shapes::StructureShape.new(name: 'DeleteCacheClusterResult')
DeleteCacheParameterGroupMessage =

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

Shapes::StructureShape.new(name: 'DeleteCacheParameterGroupMessage')
DeleteCacheSecurityGroupMessage =

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

Shapes::StructureShape.new(name: 'DeleteCacheSecurityGroupMessage')
DeleteCacheSubnetGroupMessage =

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

Shapes::StructureShape.new(name: 'DeleteCacheSubnetGroupMessage')
DeleteGlobalReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'DeleteGlobalReplicationGroupMessage')
DeleteGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'DeleteGlobalReplicationGroupResult')
DeleteReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'DeleteReplicationGroupMessage')
DeleteReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'DeleteReplicationGroupResult')
DeleteServerlessCacheRequest =

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

Shapes::StructureShape.new(name: 'DeleteServerlessCacheRequest')
DeleteServerlessCacheResponse =

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

Shapes::StructureShape.new(name: 'DeleteServerlessCacheResponse')
DeleteServerlessCacheSnapshotRequest =

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

Shapes::StructureShape.new(name: 'DeleteServerlessCacheSnapshotRequest')
DeleteServerlessCacheSnapshotResponse =

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

Shapes::StructureShape.new(name: 'DeleteServerlessCacheSnapshotResponse')
DeleteSnapshotMessage =

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

Shapes::StructureShape.new(name: 'DeleteSnapshotMessage')
DeleteSnapshotResult =

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

Shapes::StructureShape.new(name: 'DeleteSnapshotResult')
DeleteUserGroupMessage =

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

Shapes::StructureShape.new(name: 'DeleteUserGroupMessage')
DeleteUserMessage =

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

Shapes::StructureShape.new(name: 'DeleteUserMessage')
DescribeCacheClustersMessage =

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

Shapes::StructureShape.new(name: 'DescribeCacheClustersMessage')
DescribeCacheEngineVersionsMessage =

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

Shapes::StructureShape.new(name: 'DescribeCacheEngineVersionsMessage')
DescribeCacheParameterGroupsMessage =

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

Shapes::StructureShape.new(name: 'DescribeCacheParameterGroupsMessage')
DescribeCacheParametersMessage =

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

Shapes::StructureShape.new(name: 'DescribeCacheParametersMessage')
DescribeCacheSecurityGroupsMessage =

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

Shapes::StructureShape.new(name: 'DescribeCacheSecurityGroupsMessage')
DescribeCacheSubnetGroupsMessage =

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

Shapes::StructureShape.new(name: 'DescribeCacheSubnetGroupsMessage')
DescribeEngineDefaultParametersMessage =

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

Shapes::StructureShape.new(name: 'DescribeEngineDefaultParametersMessage')
DescribeEngineDefaultParametersResult =

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

Shapes::StructureShape.new(name: 'DescribeEngineDefaultParametersResult')
DescribeEventsMessage =

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

Shapes::StructureShape.new(name: 'DescribeEventsMessage')
DescribeGlobalReplicationGroupsMessage =

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

Shapes::StructureShape.new(name: 'DescribeGlobalReplicationGroupsMessage')
DescribeGlobalReplicationGroupsResult =

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

Shapes::StructureShape.new(name: 'DescribeGlobalReplicationGroupsResult')
DescribeReplicationGroupsMessage =

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

Shapes::StructureShape.new(name: 'DescribeReplicationGroupsMessage')
DescribeReservedCacheNodesMessage =

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

Shapes::StructureShape.new(name: 'DescribeReservedCacheNodesMessage')
DescribeReservedCacheNodesOfferingsMessage =

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

Shapes::StructureShape.new(name: 'DescribeReservedCacheNodesOfferingsMessage')
DescribeServerlessCacheSnapshotsRequest =

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

Shapes::StructureShape.new(name: 'DescribeServerlessCacheSnapshotsRequest')
DescribeServerlessCacheSnapshotsResponse =

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

Shapes::StructureShape.new(name: 'DescribeServerlessCacheSnapshotsResponse')
DescribeServerlessCachesRequest =

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

Shapes::StructureShape.new(name: 'DescribeServerlessCachesRequest')
DescribeServerlessCachesResponse =

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

Shapes::StructureShape.new(name: 'DescribeServerlessCachesResponse')
DescribeServiceUpdatesMessage =

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

Shapes::StructureShape.new(name: 'DescribeServiceUpdatesMessage')
DescribeSnapshotsListMessage =

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

Shapes::StructureShape.new(name: 'DescribeSnapshotsListMessage')
DescribeSnapshotsMessage =

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

Shapes::StructureShape.new(name: 'DescribeSnapshotsMessage')
DescribeUpdateActionsMessage =

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

Shapes::StructureShape.new(name: 'DescribeUpdateActionsMessage')
DescribeUserGroupsMessage =

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

Shapes::StructureShape.new(name: 'DescribeUserGroupsMessage')
DescribeUserGroupsResult =

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

Shapes::StructureShape.new(name: 'DescribeUserGroupsResult')
DescribeUsersMessage =

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

Shapes::StructureShape.new(name: 'DescribeUsersMessage')
DescribeUsersResult =

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

Shapes::StructureShape.new(name: 'DescribeUsersResult')
DestinationDetails =

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

Shapes::StructureShape.new(name: 'DestinationDetails')
DestinationType =

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

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

Shapes::StructureShape.new(name: 'DisassociateGlobalReplicationGroupMessage')
DisassociateGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'DisassociateGlobalReplicationGroupResult')
Double =

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

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

Shapes::StructureShape.new(name: 'DuplicateUserNameFault', error: {"code"=>"DuplicateUserName", "httpStatusCode"=>400, "senderFault"=>true})
EC2SecurityGroup =

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

Shapes::StructureShape.new(name: 'EC2SecurityGroup')
EC2SecurityGroupList =

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

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

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

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

Shapes::StructureShape.new(name: 'EngineDefaults')
EngineType =

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

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

Shapes::StructureShape.new(name: 'Event')
EventList =

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

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

Shapes::StructureShape.new(name: 'EventsMessage')
ExportServerlessCacheSnapshotRequest =

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

Shapes::StructureShape.new(name: 'ExportServerlessCacheSnapshotRequest')
ExportServerlessCacheSnapshotResponse =

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

Shapes::StructureShape.new(name: 'ExportServerlessCacheSnapshotResponse')
FailoverGlobalReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'FailoverGlobalReplicationGroupMessage')
FailoverGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'FailoverGlobalReplicationGroupResult')
Filter =

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

Shapes::StructureShape.new(name: 'Filter')
FilterList =

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

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

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

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

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

Shapes::StructureShape.new(name: 'GlobalNodeGroup')
GlobalNodeGroupIdList =

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

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

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

Shapes::StructureShape.new(name: 'GlobalReplicationGroup')
GlobalReplicationGroupAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'GlobalReplicationGroupAlreadyExistsFault', error: {"code"=>"GlobalReplicationGroupAlreadyExistsFault", "httpStatusCode"=>400, "senderFault"=>true})
GlobalReplicationGroupInfo =

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

Shapes::StructureShape.new(name: 'GlobalReplicationGroupInfo')
GlobalReplicationGroupList =

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

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

Shapes::StructureShape.new(name: 'GlobalReplicationGroupMember')
GlobalReplicationGroupMemberList =

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

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

Shapes::StructureShape.new(name: 'GlobalReplicationGroupNotFoundFault', error: {"code"=>"GlobalReplicationGroupNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
IncreaseNodeGroupsInGlobalReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'IncreaseNodeGroupsInGlobalReplicationGroupMessage')
IncreaseNodeGroupsInGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'IncreaseNodeGroupsInGlobalReplicationGroupResult')
IncreaseReplicaCountMessage =

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

Shapes::StructureShape.new(name: 'IncreaseReplicaCountMessage')
IncreaseReplicaCountResult =

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

Shapes::StructureShape.new(name: 'IncreaseReplicaCountResult')
InputAuthenticationType =

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

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

Shapes::StructureShape.new(name: 'InsufficientCacheClusterCapacityFault', error: {"code"=>"InsufficientCacheClusterCapacity", "httpStatusCode"=>400, "senderFault"=>true})
Integer =

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

Shapes::IntegerShape.new(name: 'Integer')
IntegerOptional =

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

Shapes::IntegerShape.new(name: 'IntegerOptional')
InvalidARNFault =

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

Shapes::StructureShape.new(name: 'InvalidARNFault', error: {"code"=>"InvalidARN", "httpStatusCode"=>400, "senderFault"=>true})
InvalidCacheClusterStateFault =

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

Shapes::StructureShape.new(name: 'InvalidCacheClusterStateFault', error: {"code"=>"InvalidCacheClusterState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidCacheParameterGroupStateFault =

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

Shapes::StructureShape.new(name: 'InvalidCacheParameterGroupStateFault', error: {"code"=>"InvalidCacheParameterGroupState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidCacheSecurityGroupStateFault =

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

Shapes::StructureShape.new(name: 'InvalidCacheSecurityGroupStateFault', error: {"code"=>"InvalidCacheSecurityGroupState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidCredentialsException =

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

Shapes::StructureShape.new(name: 'InvalidCredentialsException', error: {"code"=>"InvalidCredentialsException", "httpStatusCode"=>408, "senderFault"=>true})
InvalidGlobalReplicationGroupStateFault =

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

Shapes::StructureShape.new(name: 'InvalidGlobalReplicationGroupStateFault', error: {"code"=>"InvalidGlobalReplicationGroupState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidKMSKeyFault =

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

Shapes::StructureShape.new(name: 'InvalidKMSKeyFault', error: {"code"=>"InvalidKMSKeyFault", "httpStatusCode"=>400, "senderFault"=>true})
InvalidParameterCombinationException =

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

Shapes::StructureShape.new(name: 'InvalidParameterCombinationException', error: {"code"=>"InvalidParameterCombination", "httpStatusCode"=>400, "senderFault"=>true})
InvalidParameterValueException =

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

Shapes::StructureShape.new(name: 'InvalidParameterValueException', error: {"code"=>"InvalidParameterValue", "httpStatusCode"=>400, "senderFault"=>true})
InvalidReplicationGroupStateFault =

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

Shapes::StructureShape.new(name: 'InvalidReplicationGroupStateFault', error: {"code"=>"InvalidReplicationGroupState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidServerlessCacheSnapshotStateFault =

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

Shapes::StructureShape.new(name: 'InvalidServerlessCacheSnapshotStateFault', error: {"code"=>"InvalidServerlessCacheSnapshotStateFault", "httpStatusCode"=>400, "senderFault"=>true})
InvalidServerlessCacheStateFault =

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

Shapes::StructureShape.new(name: 'InvalidServerlessCacheStateFault', error: {"code"=>"InvalidServerlessCacheStateFault", "httpStatusCode"=>400, "senderFault"=>true})
InvalidSnapshotStateFault =

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

Shapes::StructureShape.new(name: 'InvalidSnapshotStateFault', error: {"code"=>"InvalidSnapshotState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidSubnet =

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

Shapes::StructureShape.new(name: 'InvalidSubnet', error: {"code"=>"InvalidSubnet", "httpStatusCode"=>400, "senderFault"=>true})
InvalidUserGroupStateFault =

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

Shapes::StructureShape.new(name: 'InvalidUserGroupStateFault', error: {"code"=>"InvalidUserGroupState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidUserStateFault =

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

Shapes::StructureShape.new(name: 'InvalidUserStateFault', error: {"code"=>"InvalidUserState", "httpStatusCode"=>400, "senderFault"=>true})
InvalidVPCNetworkStateFault =

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

Shapes::StructureShape.new(name: 'InvalidVPCNetworkStateFault', error: {"code"=>"InvalidVPCNetworkStateFault", "httpStatusCode"=>400, "senderFault"=>true})
IpDiscovery =

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

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

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

Shapes::StructureShape.new(name: 'KinesisFirehoseDestinationDetails')
ListAllowedNodeTypeModificationsMessage =

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

Shapes::StructureShape.new(name: 'ListAllowedNodeTypeModificationsMessage')
ListTagsForResourceMessage =

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

Shapes::StructureShape.new(name: 'ListTagsForResourceMessage')
LogDeliveryConfiguration =

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

Shapes::StructureShape.new(name: 'LogDeliveryConfiguration')
LogDeliveryConfigurationList =

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

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

Shapes::StructureShape.new(name: 'LogDeliveryConfigurationRequest')
LogDeliveryConfigurationRequestList =

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

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

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

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

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

Shapes::StructureShape.new(name: 'ModifyCacheClusterMessage')
ModifyCacheClusterResult =

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

Shapes::StructureShape.new(name: 'ModifyCacheClusterResult')
ModifyCacheParameterGroupMessage =

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

Shapes::StructureShape.new(name: 'ModifyCacheParameterGroupMessage')
ModifyCacheSubnetGroupMessage =

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

Shapes::StructureShape.new(name: 'ModifyCacheSubnetGroupMessage')
ModifyCacheSubnetGroupResult =

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

Shapes::StructureShape.new(name: 'ModifyCacheSubnetGroupResult')
ModifyGlobalReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'ModifyGlobalReplicationGroupMessage')
ModifyGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'ModifyGlobalReplicationGroupResult')
ModifyReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'ModifyReplicationGroupMessage')
ModifyReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'ModifyReplicationGroupResult')
ModifyReplicationGroupShardConfigurationMessage =

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

Shapes::StructureShape.new(name: 'ModifyReplicationGroupShardConfigurationMessage')
ModifyReplicationGroupShardConfigurationResult =

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

Shapes::StructureShape.new(name: 'ModifyReplicationGroupShardConfigurationResult')
ModifyServerlessCacheRequest =

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

Shapes::StructureShape.new(name: 'ModifyServerlessCacheRequest')
ModifyServerlessCacheResponse =

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

Shapes::StructureShape.new(name: 'ModifyServerlessCacheResponse')
ModifyUserGroupMessage =

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

Shapes::StructureShape.new(name: 'ModifyUserGroupMessage')
ModifyUserMessage =

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

Shapes::StructureShape.new(name: 'ModifyUserMessage')
MultiAZStatus =

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

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

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

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

Shapes::StructureShape.new(name: 'NoOperationFault', error: {"code"=>"NoOperationFault", "httpStatusCode"=>400, "senderFault"=>true})
NodeGroup =

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

Shapes::StructureShape.new(name: 'NodeGroup')
NodeGroupConfiguration =

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

Shapes::StructureShape.new(name: 'NodeGroupConfiguration')
NodeGroupConfigurationList =

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

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

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

Shapes::StructureShape.new(name: 'NodeGroupMember')
NodeGroupMemberList =

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

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

Shapes::StructureShape.new(name: 'NodeGroupMemberUpdateStatus')
NodeGroupMemberUpdateStatusList =

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

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

Shapes::StructureShape.new(name: 'NodeGroupNotFoundFault', error: {"code"=>"NodeGroupNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
NodeGroupUpdateStatus =

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

Shapes::StructureShape.new(name: 'NodeGroupUpdateStatus')
NodeGroupUpdateStatusList =

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

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

Shapes::StructureShape.new(name: 'NodeGroupsPerReplicationGroupQuotaExceededFault', error: {"code"=>"NodeGroupsPerReplicationGroupQuotaExceeded", "httpStatusCode"=>400, "senderFault"=>true})
NodeGroupsToRemoveList =

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

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

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

Shapes::StructureShape.new(name: 'NodeQuotaForClusterExceededFault', error: {"code"=>"NodeQuotaForClusterExceeded", "httpStatusCode"=>400, "senderFault"=>true})
NodeQuotaForCustomerExceededFault =

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

Shapes::StructureShape.new(name: 'NodeQuotaForCustomerExceededFault', error: {"code"=>"NodeQuotaForCustomerExceeded", "httpStatusCode"=>400, "senderFault"=>true})
NodeSnapshot =

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

Shapes::StructureShape.new(name: 'NodeSnapshot')
NodeSnapshotList =

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

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

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

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

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

Shapes::StructureShape.new(name: 'NotificationConfiguration')
OutpostArnsList =

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

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

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

Shapes::StructureShape.new(name: 'Parameter')
ParameterNameValue =

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

Shapes::StructureShape.new(name: 'ParameterNameValue')
ParameterNameValueList =

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

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

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

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

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

Shapes::StructureShape.new(name: 'PendingLogDeliveryConfiguration')
PendingLogDeliveryConfigurationList =

This constant is part 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: 'PendingLogDeliveryConfigurationList', locationName: "PendingLogDeliveryConfiguration")
PendingModifiedValues =

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

Shapes::StructureShape.new(name: 'PendingModifiedValues')
PreferredAvailabilityZoneList =

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

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

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

Shapes::StructureShape.new(name: 'ProcessedUpdateAction')
ProcessedUpdateActionList =

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

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

Shapes::StructureShape.new(name: 'PurchaseReservedCacheNodesOfferingMessage')
PurchaseReservedCacheNodesOfferingResult =

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

Shapes::StructureShape.new(name: 'PurchaseReservedCacheNodesOfferingResult')
RebalanceSlotsInGlobalReplicationGroupMessage =

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

Shapes::StructureShape.new(name: 'RebalanceSlotsInGlobalReplicationGroupMessage')
RebalanceSlotsInGlobalReplicationGroupResult =

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

Shapes::StructureShape.new(name: 'RebalanceSlotsInGlobalReplicationGroupResult')
RebootCacheClusterMessage =

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

Shapes::StructureShape.new(name: 'RebootCacheClusterMessage')
RebootCacheClusterResult =

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

Shapes::StructureShape.new(name: 'RebootCacheClusterResult')
RecurringCharge =

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

Shapes::StructureShape.new(name: 'RecurringCharge')
RecurringChargeList =

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

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

Shapes::StructureShape.new(name: 'RegionalConfiguration')
RegionalConfigurationList =

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

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

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

Shapes::StructureShape.new(name: 'RemoveTagsFromResourceMessage')
ReplicaConfigurationList =

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

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

Shapes::StructureShape.new(name: 'ReplicationGroup')
ReplicationGroupAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'ReplicationGroupAlreadyExistsFault', error: {"code"=>"ReplicationGroupAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
ReplicationGroupAlreadyUnderMigrationFault =

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

Shapes::StructureShape.new(name: 'ReplicationGroupAlreadyUnderMigrationFault', error: {"code"=>"ReplicationGroupAlreadyUnderMigrationFault", "httpStatusCode"=>400, "senderFault"=>true})
ReplicationGroupIdList =

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

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

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

Shapes::StructureShape.new(name: 'ReplicationGroupMessage')
ReplicationGroupNotFoundFault =

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

Shapes::StructureShape.new(name: 'ReplicationGroupNotFoundFault', error: {"code"=>"ReplicationGroupNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
ReplicationGroupNotUnderMigrationFault =

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

Shapes::StructureShape.new(name: 'ReplicationGroupNotUnderMigrationFault', error: {"code"=>"ReplicationGroupNotUnderMigrationFault", "httpStatusCode"=>400, "senderFault"=>true})
ReplicationGroupOutpostArnList =

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

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

Shapes::StructureShape.new(name: 'ReplicationGroupPendingModifiedValues')
ReservedCacheNode =

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

Shapes::StructureShape.new(name: 'ReservedCacheNode')
ReservedCacheNodeAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'ReservedCacheNodeAlreadyExistsFault', error: {"code"=>"ReservedCacheNodeAlreadyExists", "httpStatusCode"=>404, "senderFault"=>true})
ReservedCacheNodeList =

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

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

Shapes::StructureShape.new(name: 'ReservedCacheNodeMessage')
ReservedCacheNodeNotFoundFault =

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

Shapes::StructureShape.new(name: 'ReservedCacheNodeNotFoundFault', error: {"code"=>"ReservedCacheNodeNotFound", "httpStatusCode"=>404, "senderFault"=>true})
ReservedCacheNodeQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'ReservedCacheNodeQuotaExceededFault', error: {"code"=>"ReservedCacheNodeQuotaExceeded", "httpStatusCode"=>400, "senderFault"=>true})
ReservedCacheNodesOffering =

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

Shapes::StructureShape.new(name: 'ReservedCacheNodesOffering')
ReservedCacheNodesOfferingList =

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

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

Shapes::StructureShape.new(name: 'ReservedCacheNodesOfferingMessage')
ReservedCacheNodesOfferingNotFoundFault =

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

Shapes::StructureShape.new(name: 'ReservedCacheNodesOfferingNotFoundFault', error: {"code"=>"ReservedCacheNodesOfferingNotFound", "httpStatusCode"=>404, "senderFault"=>true})
ResetCacheParameterGroupMessage =

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

Shapes::StructureShape.new(name: 'ResetCacheParameterGroupMessage')
ReshardingConfiguration =

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

Shapes::StructureShape.new(name: 'ReshardingConfiguration')
ReshardingConfigurationList =

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

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

Shapes::StructureShape.new(name: 'ReshardingStatus')
RevokeCacheSecurityGroupIngressMessage =

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

Shapes::StructureShape.new(name: 'RevokeCacheSecurityGroupIngressMessage')
RevokeCacheSecurityGroupIngressResult =

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

Shapes::StructureShape.new(name: 'RevokeCacheSecurityGroupIngressResult')
SecurityGroupIdsList =

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

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

Shapes::StructureShape.new(name: 'SecurityGroupMembership')
SecurityGroupMembershipList =

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

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

Shapes::StructureShape.new(name: 'ServerlessCache')
ServerlessCacheAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'ServerlessCacheAlreadyExistsFault', error: {"code"=>"ServerlessCacheAlreadyExistsFault", "httpStatusCode"=>400, "senderFault"=>true})
ServerlessCacheConfiguration =

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

Shapes::StructureShape.new(name: 'ServerlessCacheConfiguration')
ServerlessCacheList =

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

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

Shapes::StructureShape.new(name: 'ServerlessCacheNotFoundFault', error: {"code"=>"ServerlessCacheNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
ServerlessCacheQuotaForCustomerExceededFault =

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

Shapes::StructureShape.new(name: 'ServerlessCacheQuotaForCustomerExceededFault', error: {"code"=>"ServerlessCacheQuotaForCustomerExceededFault", "httpStatusCode"=>400, "senderFault"=>true})
ServerlessCacheSnapshot =

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

Shapes::StructureShape.new(name: 'ServerlessCacheSnapshot')
ServerlessCacheSnapshotAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'ServerlessCacheSnapshotAlreadyExistsFault', error: {"code"=>"ServerlessCacheSnapshotAlreadyExistsFault", "httpStatusCode"=>400, "senderFault"=>true})
ServerlessCacheSnapshotList =

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

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

Shapes::StructureShape.new(name: 'ServerlessCacheSnapshotNotFoundFault', error: {"code"=>"ServerlessCacheSnapshotNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
ServerlessCacheSnapshotQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'ServerlessCacheSnapshotQuotaExceededFault', error: {"code"=>"ServerlessCacheSnapshotQuotaExceededFault", "httpStatusCode"=>400, "senderFault"=>true})
ServiceLinkedRoleNotFoundFault =

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

Shapes::StructureShape.new(name: 'ServiceLinkedRoleNotFoundFault', error: {"code"=>"ServiceLinkedRoleNotFoundFault", "httpStatusCode"=>400, "senderFault"=>true})
ServiceUpdate =

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

Shapes::StructureShape.new(name: 'ServiceUpdate')
ServiceUpdateList =

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

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

Shapes::StructureShape.new(name: 'ServiceUpdateNotFoundFault', error: {"code"=>"ServiceUpdateNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
ServiceUpdateSeverity =

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

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

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

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

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

Shapes::StructureShape.new(name: 'ServiceUpdatesMessage')
SlaMet =

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

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

Shapes::StructureShape.new(name: 'SlotMigration')
Snapshot =

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

Shapes::StructureShape.new(name: 'Snapshot')
SnapshotAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'SnapshotAlreadyExistsFault', error: {"code"=>"SnapshotAlreadyExistsFault", "httpStatusCode"=>400, "senderFault"=>true})
SnapshotArnsList =

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

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

Shapes::StructureShape.new(name: 'SnapshotFeatureNotSupportedFault', error: {"code"=>"SnapshotFeatureNotSupportedFault", "httpStatusCode"=>400, "senderFault"=>true})
SnapshotList =

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

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

Shapes::StructureShape.new(name: 'SnapshotNotFoundFault', error: {"code"=>"SnapshotNotFoundFault", "httpStatusCode"=>404, "senderFault"=>true})
SnapshotQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'SnapshotQuotaExceededFault', error: {"code"=>"SnapshotQuotaExceededFault", "httpStatusCode"=>400, "senderFault"=>true})
SourceType =

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

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

Shapes::StructureShape.new(name: 'StartMigrationMessage')
StartMigrationResponse =

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

Shapes::StructureShape.new(name: 'StartMigrationResponse')
String =

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

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

Shapes::StructureShape.new(name: 'Subnet')
SubnetIdentifierList =

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

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

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

Shapes::StructureShape.new(name: 'SubnetInUse', error: {"code"=>"SubnetInUse", "httpStatusCode"=>400, "senderFault"=>true})
SubnetList =

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

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

Shapes::StructureShape.new(name: 'SubnetNotAllowedFault', error: {"code"=>"SubnetNotAllowedFault", "httpStatusCode"=>400, "senderFault"=>true})
SubnetOutpost =

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

Shapes::StructureShape.new(name: 'SubnetOutpost')
TStamp =

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

Shapes::TimestampShape.new(name: 'TStamp')
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')
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')
TagListMessage =

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

Shapes::StructureShape.new(name: 'TagListMessage')
TagNotFoundFault =

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

Shapes::StructureShape.new(name: 'TagNotFoundFault', error: {"code"=>"TagNotFound", "httpStatusCode"=>404, "senderFault"=>true})
TagQuotaPerResourceExceeded =

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

Shapes::StructureShape.new(name: 'TagQuotaPerResourceExceeded', error: {"code"=>"TagQuotaPerResourceExceeded", "httpStatusCode"=>400, "senderFault"=>true})
TestFailoverMessage =

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

Shapes::StructureShape.new(name: 'TestFailoverMessage')
TestFailoverNotAvailableFault =

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

Shapes::StructureShape.new(name: 'TestFailoverNotAvailableFault', error: {"code"=>"TestFailoverNotAvailableFault", "httpStatusCode"=>400, "senderFault"=>true})
TestFailoverResult =

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

Shapes::StructureShape.new(name: 'TestFailoverResult')
TestMigrationMessage =

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

Shapes::StructureShape.new(name: 'TestMigrationMessage')
TestMigrationResponse =

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

Shapes::StructureShape.new(name: 'TestMigrationResponse')
TimeRangeFilter =

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

Shapes::StructureShape.new(name: 'TimeRangeFilter')
TransitEncryptionMode =

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

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

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

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

Shapes::StructureShape.new(name: 'UnprocessedUpdateAction')
UnprocessedUpdateActionList =

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

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

Shapes::StructureShape.new(name: 'UpdateAction')
UpdateActionList =

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

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

Shapes::StructureShape.new(name: 'UpdateActionResultsMessage')
UpdateActionStatus =

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

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

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

Shapes::StructureShape.new(name: 'UpdateActionsMessage')
User =

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

Shapes::StructureShape.new(name: 'User')
UserAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'UserAlreadyExistsFault', error: {"code"=>"UserAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
UserGroup =

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

Shapes::StructureShape.new(name: 'UserGroup')
UserGroupAlreadyExistsFault =

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

Shapes::StructureShape.new(name: 'UserGroupAlreadyExistsFault', error: {"code"=>"UserGroupAlreadyExists", "httpStatusCode"=>400, "senderFault"=>true})
UserGroupId =

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

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

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

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

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

Shapes::StructureShape.new(name: 'UserGroupNotFoundFault', error: {"code"=>"UserGroupNotFound", "httpStatusCode"=>404, "senderFault"=>true})
UserGroupPendingChanges =

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

Shapes::StructureShape.new(name: 'UserGroupPendingChanges')
UserGroupQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'UserGroupQuotaExceededFault', error: {"code"=>"UserGroupQuotaExceeded", "httpStatusCode"=>400, "senderFault"=>true})
UserGroupsUpdateStatus =

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

Shapes::StructureShape.new(name: 'UserGroupsUpdateStatus')
UserId =

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

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

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

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

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

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

Shapes::StructureShape.new(name: 'UserNotFoundFault', error: {"code"=>"UserNotFound", "httpStatusCode"=>404, "senderFault"=>true})
UserQuotaExceededFault =

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

Shapes::StructureShape.new(name: 'UserQuotaExceededFault', error: {"code"=>"UserQuotaExceeded", "httpStatusCode"=>400, "senderFault"=>true})
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 = "2015-02-02"

  api. = {
    "apiVersion" => "2015-02-02",
    "endpointPrefix" => "elasticache",
    "protocol" => "query",
    "serviceFullName" => "Amazon ElastiCache",
    "serviceId" => "ElastiCache",
    "signatureVersion" => "v4",
    "uid" => "elasticache-2015-02-02",
    "xmlNamespace" => "http://elasticache.amazonaws.com/doc/2015-02-02/",
  }

  api.add_operation(:add_tags_to_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AddTagsToResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AddTagsToResourceMessage)
    o.output = Shapes::ShapeRef.new(shape: TagListMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodeNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidARNFault)
  end)

  api.add_operation(:authorize_cache_security_group_ingress, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AuthorizeCacheSecurityGroupIngress"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AuthorizeCacheSecurityGroupIngressMessage)
    o.output = Shapes::ShapeRef.new(shape: AuthorizeCacheSecurityGroupIngressResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheSecurityGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:batch_apply_update_action, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchApplyUpdateAction"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: BatchApplyUpdateActionMessage)
    o.output = Shapes::ShapeRef.new(shape: UpdateActionResultsMessage)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUpdateNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:batch_stop_update_action, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchStopUpdateAction"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: BatchStopUpdateActionMessage)
    o.output = Shapes::ShapeRef.new(shape: UpdateActionResultsMessage)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUpdateNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:complete_migration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CompleteMigration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CompleteMigrationMessage)
    o.output = Shapes::ShapeRef.new(shape: CompleteMigrationResponse)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotUnderMigrationFault)
  end)

  api.add_operation(:copy_serverless_cache_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CopyServerlessCacheSnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CopyServerlessCacheSnapshotRequest)
    o.output = Shapes::ShapeRef.new(shape: CopyServerlessCacheSnapshotResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:copy_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CopySnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CopySnapshotMessage)
    o.output = Shapes::ShapeRef.new(shape: CopySnapshotResult)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:create_cache_cluster, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCacheCluster"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCacheClusterMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateCacheClusterResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ClusterQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForClusterExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:create_cache_parameter_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCacheParameterGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCacheParameterGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateCacheParameterGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheParameterGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:create_cache_security_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCacheSecurityGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCacheSecurityGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateCacheSecurityGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:create_cache_subnet_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCacheSubnetGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCacheSubnetGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateCacheSubnetGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSubnet)
    o.errors << Shapes::ShapeRef.new(shape: SubnetNotAllowedFault)
  end)

  api.add_operation(:create_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:create_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ClusterQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForClusterExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: NodeGroupsPerReplicationGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:create_serverless_cache, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateServerlessCache"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateServerlessCacheRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateServerlessCacheResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCredentialsException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
  end)

  api.add_operation(:create_serverless_cache_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateServerlessCacheSnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateServerlessCacheSnapshotRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateServerlessCacheSnapshotResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:create_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateSnapshotMessage)
    o.output = Shapes::ShapeRef.new(shape: CreateSnapshotResult)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotFeatureNotSupportedFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:create_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateUser"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateUserMessage)
    o.output = Shapes::ShapeRef.new(shape: User)
    o.errors << Shapes::ShapeRef.new(shape: UserAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: UserQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: DuplicateUserNameFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
  end)

  api.add_operation(:create_user_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateUserGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateUserGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: UserGroup)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: DuplicateUserNameFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: DefaultUserRequired)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
  end)

  api.add_operation(:decrease_node_groups_in_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DecreaseNodeGroupsInGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DecreaseNodeGroupsInGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: DecreaseNodeGroupsInGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:decrease_replica_count, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DecreaseReplicaCount"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DecreaseReplicaCountMessage)
    o.output = Shapes::ShapeRef.new(shape: DecreaseReplicaCountResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: ClusterQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeGroupsPerReplicationGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: NoOperationFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:delete_cache_cluster, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCacheCluster"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCacheClusterMessage)
    o.output = Shapes::ShapeRef.new(shape: DeleteCacheClusterResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotFeatureNotSupportedFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:delete_cache_parameter_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCacheParameterGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCacheParameterGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheParameterGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:delete_cache_security_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCacheSecurityGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCacheSecurityGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheSecurityGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:delete_cache_subnet_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCacheSubnetGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCacheSubnetGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupInUse)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
  end)

  api.add_operation(:delete_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: DeleteGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:delete_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: DeleteReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotFeatureNotSupportedFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:delete_serverless_cache, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteServerlessCache"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteServerlessCacheRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteServerlessCacheResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCredentialsException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
  end)

  api.add_operation(:delete_serverless_cache_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteServerlessCacheSnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteServerlessCacheSnapshotRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteServerlessCacheSnapshotResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:delete_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteSnapshotMessage)
    o.output = Shapes::ShapeRef.new(shape: DeleteSnapshotResult)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:delete_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteUser"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteUserMessage)
    o.output = Shapes::ShapeRef.new(shape: User)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserStateFault)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: DefaultUserAssociatedToUserGroupFault)
  end)

  api.add_operation(:delete_user_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteUserGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteUserGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: UserGroup)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:describe_cache_clusters, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCacheClusters"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCacheClustersMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheClusterMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_cache_engine_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCacheEngineVersions"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCacheEngineVersionsMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheEngineVersionMessage)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_cache_parameter_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCacheParameterGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCacheParameterGroupsMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheParameterGroupsMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_cache_parameters, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCacheParameters"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCacheParametersMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheParameterGroupDetails)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_cache_security_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCacheSecurityGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCacheSecurityGroupsMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheSecurityGroupMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_cache_subnet_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCacheSubnetGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCacheSubnetGroupsMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheSubnetGroupMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_engine_default_parameters, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeEngineDefaultParameters"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeEngineDefaultParametersMessage)
    o.output = Shapes::ShapeRef.new(shape: DescribeEngineDefaultParametersResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "engine_defaults.marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_events, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeEvents"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeEventsMessage)
    o.output = Shapes::ShapeRef.new(shape: EventsMessage)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_global_replication_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeGlobalReplicationGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeGlobalReplicationGroupsMessage)
    o.output = Shapes::ShapeRef.new(shape: DescribeGlobalReplicationGroupsResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_replication_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeReplicationGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeReplicationGroupsMessage)
    o.output = Shapes::ShapeRef.new(shape: ReplicationGroupMessage)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_reserved_cache_nodes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeReservedCacheNodes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeReservedCacheNodesMessage)
    o.output = Shapes::ShapeRef.new(shape: ReservedCacheNodeMessage)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodeNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_reserved_cache_nodes_offerings, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeReservedCacheNodesOfferings"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeReservedCacheNodesOfferingsMessage)
    o.output = Shapes::ShapeRef.new(shape: ReservedCacheNodesOfferingMessage)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodesOfferingNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_serverless_cache_snapshots, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeServerlessCacheSnapshots"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeServerlessCacheSnapshotsRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeServerlessCacheSnapshotsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:describe_serverless_caches, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeServerlessCaches"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeServerlessCachesRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeServerlessCachesResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:describe_service_updates, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeServiceUpdates"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeServiceUpdatesMessage)
    o.output = Shapes::ShapeRef.new(shape: ServiceUpdatesMessage)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUpdateNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_snapshots, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeSnapshots"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeSnapshotsMessage)
    o.output = Shapes::ShapeRef.new(shape: DescribeSnapshotsListMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_update_actions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeUpdateActions"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeUpdateActionsMessage)
    o.output = Shapes::ShapeRef.new(shape: UpdateActionsMessage)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_user_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeUserGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeUserGroupsMessage)
    o.output = Shapes::ShapeRef.new(shape: DescribeUserGroupsResult)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_users, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeUsers"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeUsersMessage)
    o.output = Shapes::ShapeRef.new(shape: DescribeUsersResult)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_records",
      tokens: {
        "marker" => "marker"
      }
    )
  end)

  api.add_operation(:disassociate_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisassociateGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: DisassociateGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:export_serverless_cache_snapshot, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ExportServerlessCacheSnapshot"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ExportServerlessCacheSnapshotRequest)
    o.output = Shapes::ShapeRef.new(shape: ExportServerlessCacheSnapshotResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:failover_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "FailoverGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: FailoverGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: FailoverGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:increase_node_groups_in_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "IncreaseNodeGroupsInGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: IncreaseNodeGroupsInGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: IncreaseNodeGroupsInGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:increase_replica_count, Seahorse::Model::Operation.new.tap do |o|
    o.name = "IncreaseReplicaCount"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: IncreaseReplicaCountMessage)
    o.output = Shapes::ShapeRef.new(shape: IncreaseReplicaCountResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: ClusterQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeGroupsPerReplicationGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NoOperationFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKMSKeyFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:list_allowed_node_type_modifications, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAllowedNodeTypeModifications"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListAllowedNodeTypeModificationsMessage)
    o.output = Shapes::ShapeRef.new(shape: AllowedNodeTypeModificationsMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceMessage)
    o.output = Shapes::ShapeRef.new(shape: TagListMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodeNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidARNFault)
  end)

  api.add_operation(:modify_cache_cluster, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyCacheCluster"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyCacheClusterMessage)
    o.output = Shapes::ShapeRef.new(shape: ModifyCacheClusterResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheSecurityGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForClusterExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:modify_cache_parameter_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyCacheParameterGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyCacheParameterGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheParameterGroupNameMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheParameterGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
  end)

  api.add_operation(:modify_cache_subnet_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyCacheSubnetGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyCacheSubnetGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: ModifyCacheSubnetGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: SubnetInUse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSubnet)
    o.errors << Shapes::ShapeRef.new(shape: SubnetNotAllowedFault)
  end)

  api.add_operation(:modify_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: ModifyGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:modify_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: ModifyReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheSecurityGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForClusterExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKMSKeyFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:modify_replication_group_shard_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyReplicationGroupShardConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyReplicationGroupShardConfigurationMessage)
    o.output = Shapes::ShapeRef.new(shape: ModifyReplicationGroupShardConfigurationResult)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidVPCNetworkStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InsufficientCacheClusterCapacityFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeGroupsPerReplicationGroupQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeQuotaForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKMSKeyFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:modify_serverless_cache, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyServerlessCache"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyServerlessCacheRequest)
    o.output = Shapes::ShapeRef.new(shape: ModifyServerlessCacheResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCredentialsException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
  end)

  api.add_operation(:modify_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyUser"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyUserMessage)
    o.output = Shapes::ShapeRef.new(shape: User)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:modify_user_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ModifyUserGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ModifyUserGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: UserGroup)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: DuplicateUserNameFault)
    o.errors << Shapes::ShapeRef.new(shape: ServiceLinkedRoleNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: DefaultUserRequired)
    o.errors << Shapes::ShapeRef.new(shape: InvalidUserGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:purchase_reserved_cache_nodes_offering, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PurchaseReservedCacheNodesOffering"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PurchaseReservedCacheNodesOfferingMessage)
    o.output = Shapes::ShapeRef.new(shape: PurchaseReservedCacheNodesOfferingResult)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodesOfferingNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodeAlreadyExistsFault)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodeQuotaExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: TagQuotaPerResourceExceeded)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:rebalance_slots_in_global_replication_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RebalanceSlotsInGlobalReplicationGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RebalanceSlotsInGlobalReplicationGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: RebalanceSlotsInGlobalReplicationGroupResult)
    o.errors << Shapes::ShapeRef.new(shape: GlobalReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:reboot_cache_cluster, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RebootCacheCluster"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RebootCacheClusterMessage)
    o.output = Shapes::ShapeRef.new(shape: RebootCacheClusterResult)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
  end)

  api.add_operation(:remove_tags_from_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RemoveTagsFromResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RemoveTagsFromResourceMessage)
    o.output = Shapes::ShapeRef.new(shape: TagListMessage)
    o.errors << Shapes::ShapeRef.new(shape: CacheClusterNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheSubnetGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReservedCacheNodeNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: SnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: UserGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ServerlessCacheSnapshotNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidServerlessCacheSnapshotStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidARNFault)
    o.errors << Shapes::ShapeRef.new(shape: TagNotFoundFault)
  end)

  api.add_operation(:reset_cache_parameter_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ResetCacheParameterGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ResetCacheParameterGroupMessage)
    o.output = Shapes::ShapeRef.new(shape: CacheParameterGroupNameMessage)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheParameterGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: CacheParameterGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGlobalReplicationGroupStateFault)
  end)

  api.add_operation(:revoke_cache_security_group_ingress, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RevokeCacheSecurityGroupIngress"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RevokeCacheSecurityGroupIngressMessage)
    o.output = Shapes::ShapeRef.new(shape: RevokeCacheSecurityGroupIngressResult)
    o.errors << Shapes::ShapeRef.new(shape: CacheSecurityGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheSecurityGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:start_migration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartMigration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartMigrationMessage)
    o.output = Shapes::ShapeRef.new(shape: StartMigrationResponse)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupAlreadyUnderMigrationFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)

  api.add_operation(:test_failover, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TestFailover"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TestFailoverMessage)
    o.output = Shapes::ShapeRef.new(shape: TestFailoverResult)
    o.errors << Shapes::ShapeRef.new(shape: APICallRateForCustomerExceededFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCacheClusterStateFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: NodeGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: TestFailoverNotAvailableFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKMSKeyFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)

  api.add_operation(:test_migration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TestMigration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TestMigrationMessage)
    o.output = Shapes::ShapeRef.new(shape: TestMigrationResponse)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupNotFoundFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidReplicationGroupStateFault)
    o.errors << Shapes::ShapeRef.new(shape: ReplicationGroupAlreadyUnderMigrationFault)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  end)
end