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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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: SnapshotNotFoundFault)
    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(: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: 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: 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: 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: InvalidSubnet)
  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: 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: 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: InvalidParameterCombinationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
  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_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_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(: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_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_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(: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: 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: SnapshotNotFoundFault)
    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)
  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)
  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: 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_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: 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: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  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: SnapshotNotFoundFault)
    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)
  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(: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: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
  end)
end