/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elasticache; import org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.elasticache.AmazonElastiCacheClientBuilder; import com.amazonaws.services.elasticache.waiters.AmazonElastiCacheWaiters; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.elasticache.model.*; import com.amazonaws.services.elasticache.model.transform.*; /** * Client for accessing Amazon ElastiCache. All service calls made using this client are blocking, and will not return * until the service call completes. *
*
* Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the * cloud. *
** With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the * administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and * cluster failure handling much simpler than in a self-managed cache deployment. *
** In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance * statistics associated with their cache and can receive alarms if a part of their cache runs hot. *
*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonElastiCacheClient extends AmazonWebServiceClient implements AmazonElastiCache { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonElastiCache.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "elasticache"; private volatile AmazonElastiCacheWaiters waiters; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; /** * Map of exception unmarshallers for all modeled exceptions */ private final Map* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonElastiCacheClientBuilder#defaultClient()} */ @Deprecated public AmazonElastiCacheClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache. A credentials provider chain will be * used that searches for credentials in this order: *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon ElastiCache (ex: proxy * settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonElastiCacheClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonElastiCacheClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified AWS account * credentials. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AmazonElastiCacheClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AmazonElastiCacheClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AmazonElastiCacheClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified AWS account * credentials and client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon ElastiCache (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AmazonElastiCacheClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonElastiCacheClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonElastiCacheClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified AWS account * credentials provider. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AmazonElastiCacheClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AmazonElastiCacheClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified AWS account * credentials provider and client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon ElastiCache (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AmazonElastiCacheClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonElastiCacheClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonElastiCacheClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified AWS account * credentials provider, client configuration options, and request metric collector. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon ElastiCache (ex: proxy * settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AmazonElastiCacheClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonElastiCacheClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AmazonElastiCacheClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AmazonElastiCacheClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AmazonElastiCacheClientBuilder builder() { return AmazonElastiCacheClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonElastiCacheClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Amazon ElastiCache using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonElastiCacheClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { if (exceptionUnmarshallersMap.get("CacheSubnetGroupNotFoundFault") == null) { exceptionUnmarshallersMap.put("CacheSubnetGroupNotFoundFault", new CacheSubnetGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSubnetGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("SubnetInUse") == null) { exceptionUnmarshallersMap.put("SubnetInUse", new SubnetInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new SubnetInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheClusterAlreadyExists") == null) { exceptionUnmarshallersMap.put("CacheClusterAlreadyExists", new CacheClusterAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheClusterAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheSecurityGroupAlreadyExists") == null) { exceptionUnmarshallersMap.put("CacheSecurityGroupAlreadyExists", new CacheSecurityGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSecurityGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidGlobalReplicationGroupState") == null) { exceptionUnmarshallersMap.put("InvalidGlobalReplicationGroupState", new InvalidGlobalReplicationGroupStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidGlobalReplicationGroupStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidCacheSecurityGroupState") == null) { exceptionUnmarshallersMap.put("InvalidCacheSecurityGroupState", new InvalidCacheSecurityGroupStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidCacheSecurityGroupStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("QuotaExceeded.CacheSecurityGroup") == null) { exceptionUnmarshallersMap.put("QuotaExceeded.CacheSecurityGroup", new CacheSecurityGroupQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSecurityGroupQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheParameterGroupQuotaExceeded") == null) { exceptionUnmarshallersMap.put("CacheParameterGroupQuotaExceeded", new CacheParameterGroupQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheParameterGroupQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReservedCacheNodesOfferingNotFound") == null) { exceptionUnmarshallersMap.put("ReservedCacheNodesOfferingNotFound", new ReservedCacheNodesOfferingNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReservedCacheNodesOfferingNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReplicationGroupNotUnderMigrationFault") == null) { exceptionUnmarshallersMap.put("ReplicationGroupNotUnderMigrationFault", new ReplicationGroupNotUnderMigrationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReplicationGroupNotUnderMigrationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheParameterGroupAlreadyExists") == null) { exceptionUnmarshallersMap.put("CacheParameterGroupAlreadyExists", new CacheParameterGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheParameterGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TestFailoverNotAvailableFault") == null) { exceptionUnmarshallersMap.put("TestFailoverNotAvailableFault", new TestFailoverNotAvailableExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TestFailoverNotAvailableExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("DuplicateUserName") == null) { exceptionUnmarshallersMap.put("DuplicateUserName", new DuplicateUserNameExceptionUnmarshaller()); } exceptionUnmarshallers.add(new DuplicateUserNameExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheParameterGroupNotFound") == null) { exceptionUnmarshallersMap.put("CacheParameterGroupNotFound", new CacheParameterGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheParameterGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("SubnetNotAllowedFault") == null) { exceptionUnmarshallersMap.put("SubnetNotAllowedFault", new SubnetNotAllowedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new SubnetNotAllowedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ServiceLinkedRoleNotFoundFault") == null) { exceptionUnmarshallersMap.put("ServiceLinkedRoleNotFoundFault", new ServiceLinkedRoleNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ServiceLinkedRoleNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UserNotFound") == null) { exceptionUnmarshallersMap.put("UserNotFound", new UserNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UserNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NodeGroupNotFoundFault") == null) { exceptionUnmarshallersMap.put("NodeGroupNotFoundFault", new NodeGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NodeGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("APICallRateForCustomerExceeded") == null) { exceptionUnmarshallersMap.put("APICallRateForCustomerExceeded", new APICallRateForCustomerExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new APICallRateForCustomerExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidKMSKeyFault") == null) { exceptionUnmarshallersMap.put("InvalidKMSKeyFault", new InvalidKMSKeyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidKMSKeyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("GlobalReplicationGroupNotFoundFault") == null) { exceptionUnmarshallersMap.put("GlobalReplicationGroupNotFoundFault", new GlobalReplicationGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new GlobalReplicationGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InsufficientCacheClusterCapacity") == null) { exceptionUnmarshallersMap.put("InsufficientCacheClusterCapacity", new InsufficientCacheClusterCapacityExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InsufficientCacheClusterCapacityExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReservedCacheNodeNotFound") == null) { exceptionUnmarshallersMap.put("ReservedCacheNodeNotFound", new ReservedCacheNodeNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReservedCacheNodeNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheSubnetGroupInUse") == null) { exceptionUnmarshallersMap.put("CacheSubnetGroupInUse", new CacheSubnetGroupInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSubnetGroupInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReplicationGroupNotFoundFault") == null) { exceptionUnmarshallersMap.put("ReplicationGroupNotFoundFault", new ReplicationGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReplicationGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidSubnet") == null) { exceptionUnmarshallersMap.put("InvalidSubnet", new InvalidSubnetExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidSubnetExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoOperationFault") == null) { exceptionUnmarshallersMap.put("NoOperationFault", new NoOperationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoOperationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NodeGroupsPerReplicationGroupQuotaExceeded") == null) { exceptionUnmarshallersMap.put("NodeGroupsPerReplicationGroupQuotaExceeded", new NodeGroupsPerReplicationGroupQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NodeGroupsPerReplicationGroupQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReservedCacheNodeQuotaExceeded") == null) { exceptionUnmarshallersMap.put("ReservedCacheNodeQuotaExceeded", new ReservedCacheNodeQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReservedCacheNodeQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReservedCacheNodeAlreadyExists") == null) { exceptionUnmarshallersMap.put("ReservedCacheNodeAlreadyExists", new ReservedCacheNodeAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReservedCacheNodeAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheClusterNotFound") == null) { exceptionUnmarshallersMap.put("CacheClusterNotFound", new CacheClusterNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheClusterNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("GlobalReplicationGroupAlreadyExistsFault") == null) { exceptionUnmarshallersMap.put("GlobalReplicationGroupAlreadyExistsFault", new GlobalReplicationGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new GlobalReplicationGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidParameterValue") == null) { exceptionUnmarshallersMap.put("InvalidParameterValue", new InvalidParameterValueExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidParameterValueExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("SnapshotAlreadyExistsFault") == null) { exceptionUnmarshallersMap.put("SnapshotAlreadyExistsFault", new SnapshotAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new SnapshotAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UserGroupQuotaExceeded") == null) { exceptionUnmarshallersMap.put("UserGroupQuotaExceeded", new UserGroupQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UserGroupQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidReplicationGroupState") == null) { exceptionUnmarshallersMap.put("InvalidReplicationGroupState", new InvalidReplicationGroupStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidReplicationGroupStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("SnapshotQuotaExceededFault") == null) { exceptionUnmarshallersMap.put("SnapshotQuotaExceededFault", new SnapshotQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new SnapshotQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UserGroupAlreadyExists") == null) { exceptionUnmarshallersMap.put("UserGroupAlreadyExists", new UserGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UserGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("DefaultUserRequired") == null) { exceptionUnmarshallersMap.put("DefaultUserRequired", new DefaultUserRequiredExceptionUnmarshaller()); } exceptionUnmarshallers.add(new DefaultUserRequiredExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NodeQuotaForCustomerExceeded") == null) { exceptionUnmarshallersMap.put("NodeQuotaForCustomerExceeded", new NodeQuotaForCustomerExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NodeQuotaForCustomerExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UserAlreadyExists") == null) { exceptionUnmarshallersMap.put("UserAlreadyExists", new UserAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UserAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidUserGroupState") == null) { exceptionUnmarshallersMap.put("InvalidUserGroupState", new InvalidUserGroupStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidUserGroupStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TagNotFound") == null) { exceptionUnmarshallersMap.put("TagNotFound", new TagNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TagNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ClusterQuotaForCustomerExceeded") == null) { exceptionUnmarshallersMap.put("ClusterQuotaForCustomerExceeded", new ClusterQuotaForCustomerExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ClusterQuotaForCustomerExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NodeQuotaForClusterExceeded") == null) { exceptionUnmarshallersMap.put("NodeQuotaForClusterExceeded", new NodeQuotaForClusterExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NodeQuotaForClusterExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ServiceUpdateNotFoundFault") == null) { exceptionUnmarshallersMap.put("ServiceUpdateNotFoundFault", new ServiceUpdateNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ServiceUpdateNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidCacheClusterState") == null) { exceptionUnmarshallersMap.put("InvalidCacheClusterState", new InvalidCacheClusterStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidCacheClusterStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidVPCNetworkStateFault") == null) { exceptionUnmarshallersMap.put("InvalidVPCNetworkStateFault", new InvalidVPCNetworkStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidVPCNetworkStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheSubnetQuotaExceededFault") == null) { exceptionUnmarshallersMap.put("CacheSubnetQuotaExceededFault", new CacheSubnetQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSubnetQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("SnapshotFeatureNotSupportedFault") == null) { exceptionUnmarshallersMap.put("SnapshotFeatureNotSupportedFault", new SnapshotFeatureNotSupportedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new SnapshotFeatureNotSupportedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidSnapshotState") == null) { exceptionUnmarshallersMap.put("InvalidSnapshotState", new InvalidSnapshotStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidSnapshotStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReplicationGroupAlreadyUnderMigrationFault") == null) { exceptionUnmarshallersMap.put("ReplicationGroupAlreadyUnderMigrationFault", new ReplicationGroupAlreadyUnderMigrationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReplicationGroupAlreadyUnderMigrationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheSubnetGroupAlreadyExists") == null) { exceptionUnmarshallersMap.put("CacheSubnetGroupAlreadyExists", new CacheSubnetGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSubnetGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheSubnetGroupQuotaExceeded") == null) { exceptionUnmarshallersMap.put("CacheSubnetGroupQuotaExceeded", new CacheSubnetGroupQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSubnetGroupQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ReplicationGroupAlreadyExists") == null) { exceptionUnmarshallersMap.put("ReplicationGroupAlreadyExists", new ReplicationGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ReplicationGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("DefaultUserAssociatedToUserGroup") == null) { exceptionUnmarshallersMap.put("DefaultUserAssociatedToUserGroup", new DefaultUserAssociatedToUserGroupExceptionUnmarshaller()); } exceptionUnmarshallers.add(new DefaultUserAssociatedToUserGroupExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidParameterCombination") == null) { exceptionUnmarshallersMap.put("InvalidParameterCombination", new InvalidParameterCombinationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidParameterCombinationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidUserState") == null) { exceptionUnmarshallersMap.put("InvalidUserState", new InvalidUserStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidUserStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UserGroupNotFound") == null) { exceptionUnmarshallersMap.put("UserGroupNotFound", new UserGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UserGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("SnapshotNotFoundFault") == null) { exceptionUnmarshallersMap.put("SnapshotNotFoundFault", new SnapshotNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new SnapshotNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UserQuotaExceeded") == null) { exceptionUnmarshallersMap.put("UserQuotaExceeded", new UserQuotaExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UserQuotaExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CacheSecurityGroupNotFound") == null) { exceptionUnmarshallersMap.put("CacheSecurityGroupNotFound", new CacheSecurityGroupNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CacheSecurityGroupNotFoundExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidCacheParameterGroupState") == null) { exceptionUnmarshallersMap.put("InvalidCacheParameterGroupState", new InvalidCacheParameterGroupStateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidCacheParameterGroupStateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidARN") == null) { exceptionUnmarshallersMap.put("InvalidARN", new InvalidARNExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidARNExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TagQuotaPerResourceExceeded") == null) { exceptionUnmarshallersMap.put("TagQuotaPerResourceExceeded", new TagQuotaPerResourceExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TagQuotaPerResourceExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("AuthorizationAlreadyExists") == null) { exceptionUnmarshallersMap.put("AuthorizationAlreadyExists", new AuthorizationAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new AuthorizationAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("AuthorizationNotFound") == null) { exceptionUnmarshallersMap.put("AuthorizationNotFound", new AuthorizationNotFoundExceptionUnmarshaller()); } exceptionUnmarshallers.add(new AuthorizationNotFoundExceptionUnmarshaller()); defaultUnmarshaller = new StandardErrorUnmarshaller(com.amazonaws.services.elasticache.model.AmazonElastiCacheException.class); exceptionUnmarshallers.add(new StandardErrorUnmarshaller(com.amazonaws.services.elasticache.model.AmazonElastiCacheException.class)); setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("elasticache.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/elasticache/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/elasticache/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track * all your ElastiCache resources, with the exception of global replication group. When you add or remove tags on * replication groups, those actions will be replicated to all nodes in the replication group. For more information, * see Resource * -level permissions. *
** For example, you can use cost-allocation tags to your ElastiCache resources, Amazon generates a cost allocation * report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply * tags that represent business categories (such as cost centers, application names, or owners) to organize your * costs across multiple services. *
** For more information, see Using Cost Allocation Tags in * Amazon ElastiCache in the ElastiCache User Guide. *
* * @param addTagsToResourceRequest * Represents the input of an AddTagsToResource operation. * @return Result of the AddTagsToResource operation returned by the service. * @throws CacheClusterNotFoundException * The requested cluster ID does not refer to an existing cluster. * @throws CacheParameterGroupNotFoundException * The requested cache parameter group name does not refer to an existing cache parameter group. * @throws CacheSecurityGroupNotFoundException * The requested cache security group name does not refer to an existing cache security group. * @throws CacheSubnetGroupNotFoundException * The requested cache subnet group name does not refer to an existing cache subnet group. * @throws InvalidReplicationGroupStateException * The requested replication group is not in theavailable
state.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws ReservedCacheNodeNotFoundException
* The requested reserved cache node was not found.
* @throws SnapshotNotFoundException
* The requested snapshot name does not refer to an existing snapshot.
* @throws UserNotFoundException
* The user does not exist or could not be found.
* @throws UserGroupNotFoundException
* The user group was not found or does not exist
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidARNException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @sample AmazonElastiCache.AddTagsToResource
* @see AWS
* API Documentation
*/
@Override
public AddTagsToResourceResult addTagsToResource(AddTagsToResourceRequest request) {
request = beforeClientExecution(request);
return executeAddTagsToResource(request);
}
@SdkInternalApi
final AddTagsToResourceResult executeAddTagsToResource(AddTagsToResourceRequest addTagsToResourceRequest) {
ExecutionContext executionContext = createExecutionContext(addTagsToResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, * and Amazon EC2 security groups are used as the authorization mechanism. *
** You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another * region. *
** Apply the service update. For more information on service updates and applying them, see Applying Service * Updates. *
* * @param batchApplyUpdateActionRequest * @return Result of the BatchApplyUpdateAction operation returned by the service. * @throws ServiceUpdateNotFoundException * The service update doesn't exist * @throws InvalidParameterValueException * The value for a parameter is invalid. * @sample AmazonElastiCache.BatchApplyUpdateAction * @see AWS API Documentation */ @Override public BatchApplyUpdateActionResult batchApplyUpdateAction(BatchApplyUpdateActionRequest request) { request = beforeClientExecution(request); return executeBatchApplyUpdateAction(request); } @SdkInternalApi final BatchApplyUpdateActionResult executeBatchApplyUpdateAction(BatchApplyUpdateActionRequest batchApplyUpdateActionRequest) { ExecutionContext executionContext = createExecutionContext(batchApplyUpdateActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Stop the service update. For more information on service updates and stopping them, see Stopping * Service Updates. *
* * @param batchStopUpdateActionRequest * @return Result of the BatchStopUpdateAction operation returned by the service. * @throws ServiceUpdateNotFoundException * The service update doesn't exist * @throws InvalidParameterValueException * The value for a parameter is invalid. * @sample AmazonElastiCache.BatchStopUpdateAction * @see AWS API Documentation */ @Override public BatchStopUpdateActionResult batchStopUpdateAction(BatchStopUpdateActionRequest request) { request = beforeClientExecution(request); return executeBatchStopUpdateAction(request); } @SdkInternalApi final BatchStopUpdateActionResult executeBatchStopUpdateAction(BatchStopUpdateActionRequest batchStopUpdateActionRequest) { ExecutionContext executionContext = createExecutionContext(batchStopUpdateActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Complete the migration of data. *
* * @param completeMigrationRequest * @return Result of the CompleteMigration operation returned by the service. * @throws ReplicationGroupNotFoundException * The specified replication group does not exist. * @throws InvalidReplicationGroupStateException * The requested replication group is not in theavailable
state.
* @throws ReplicationGroupNotUnderMigrationException
* The designated replication group is not available for data migration.
* @sample AmazonElastiCache.CompleteMigration
* @see AWS
* API Documentation
*/
@Override
public ReplicationGroup completeMigration(CompleteMigrationRequest request) {
request = beforeClientExecution(request);
return executeCompleteMigration(request);
}
@SdkInternalApi
final ReplicationGroup executeCompleteMigration(CompleteMigrationRequest completeMigrationRequest) {
ExecutionContext executionContext = createExecutionContext(completeMigrationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Makes a copy of an existing snapshot. *
** This operation is valid for Redis only. *
*
* Users or groups that have permissions to use the CopySnapshot
operation can create their own Amazon
* S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has
* the ability to use the CopySnapshot
operation. For more information about using IAM to control the
* use of ElastiCache operations, see Exporting Snapshots
* and Authentication & Access
* Control.
*
* You could receive the following error messages. *
** Error Messages *
** Error Message: The S3 bucket %s is outside of the region. *
** Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide. *
** Error Message: The S3 bucket %s does not exist. *
** Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide. *
** Error Message: The S3 bucket %s is not owned by the authenticated user. *
** Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide. *
** Error Message: The authenticated user does not have sufficient permissions to perform the desired * activity. *
** Solution: Contact your system administrator to get the needed permissions. *
** Error Message: The S3 bucket %s already contains an object with key %s. *
*
* Solution: Give the TargetSnapshotName
a new and unique value. If exporting a snapshot, you
* could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName
.
*
* Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket. *
** Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide. *
** Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket. *
** Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide. *
** Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket. *
** Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide. *
*CopySnapshotMessage
operation.
* @return Result of the CopySnapshot operation returned by the service.
* @throws SnapshotAlreadyExistsException
* You already have a snapshot with the given name.
* @throws SnapshotNotFoundException
* The requested snapshot name does not refer to an existing snapshot.
* @throws SnapshotQuotaExceededException
* The request cannot be processed because it would exceed the maximum number of snapshots.
* @throws InvalidSnapshotStateException
* The current state of the snapshot does not allow the requested operation to occur.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.CopySnapshot
* @see AWS API
* Documentation
*/
@Override
public Snapshot copySnapshot(CopySnapshotRequest request) {
request = beforeClientExecution(request);
return executeCopySnapshot(request);
}
@SdkInternalApi
final Snapshot executeCopySnapshot(CopySnapshotRequest copySnapshotRequest) {
ExecutionContext executionContext = createExecutionContext(copySnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either * Memcached or Redis. *
** This operation is not supported for Redis (cluster mode enabled) clusters. *
* * @param createCacheClusterRequest * Represents the input of a CreateCacheCluster operation. * @return Result of the CreateCacheCluster operation returned by the service. * @throws ReplicationGroupNotFoundException * The specified replication group does not exist. * @throws InvalidReplicationGroupStateException * The requested replication group is not in theavailable
state.
* @throws CacheClusterAlreadyExistsException
* You already have a cluster with the given identifier.
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @throws ClusterQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of clusters per customer.
* @throws NodeQuotaForClusterExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes in a single
* cluster.
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.CreateCacheCluster
* @see AWS
* API Documentation
*/
@Override
public CacheCluster createCacheCluster(CreateCacheClusterRequest request) {
request = beforeClientExecution(request);
return executeCreateCacheCluster(request);
}
@SdkInternalApi
final CacheCluster executeCreateCacheCluster(CreateCacheClusterRequest createCacheClusterRequest) {
ExecutionContext executionContext = createExecutionContext(createCacheClusterRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of * parameters and their values that are applied to all of the nodes in any cluster or replication group using the * CacheParameterGroup. *
** A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the * CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of * specific parameters. For more information, see: *
** * ModifyCacheParameterGroup in the ElastiCache API Reference. *
** Parameters and * Parameter Groups in the ElastiCache User Guide. *
*CreateCacheParameterGroup
operation.
* @return Result of the CreateCacheParameterGroup operation returned by the service.
* @throws CacheParameterGroupQuotaExceededException
* The request cannot be processed because it would exceed the maximum number of cache security groups.
* @throws CacheParameterGroupAlreadyExistsException
* A cache parameter group with the requested name already exists.
* @throws InvalidCacheParameterGroupStateException
* The current state of the cache parameter group does not allow the requested operation to occur.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.CreateCacheParameterGroup
* @see AWS API Documentation
*/
@Override
public CacheParameterGroup createCacheParameterGroup(CreateCacheParameterGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateCacheParameterGroup(request);
}
@SdkInternalApi
final CacheParameterGroup executeCreateCacheParameterGroup(CreateCacheParameterGroupRequest createCacheParameterGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createCacheParameterGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Creates a new cache security group. Use a cache security group to control access to one or more clusters. *
** Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud * (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more * information, see CreateCacheSubnetGroup. *
* * @param createCacheSecurityGroupRequest * Represents the input of aCreateCacheSecurityGroup
operation.
* @return Result of the CreateCacheSecurityGroup operation returned by the service.
* @throws CacheSecurityGroupAlreadyExistsException
* A cache security group with the specified name already exists.
* @throws CacheSecurityGroupQuotaExceededException
* The request cannot be processed because it would exceed the allowed number of cache security groups.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.CreateCacheSecurityGroup
* @see AWS API Documentation
*/
@Override
public CacheSecurityGroup createCacheSecurityGroup(CreateCacheSecurityGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateCacheSecurityGroup(request);
}
@SdkInternalApi
final CacheSecurityGroup executeCreateCacheSecurityGroup(CreateCacheSecurityGroupRequest createCacheSecurityGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createCacheSecurityGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Creates a new cache subnet group. *
** Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC). *
* * @param createCacheSubnetGroupRequest * Represents the input of aCreateCacheSubnetGroup
operation.
* @return Result of the CreateCacheSubnetGroup operation returned by the service.
* @throws CacheSubnetGroupAlreadyExistsException
* The requested cache subnet group name is already in use by an existing cache subnet group.
* @throws CacheSubnetGroupQuotaExceededException
* The request cannot be processed because it would exceed the allowed number of cache subnet groups.
* @throws CacheSubnetQuotaExceededException
* The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet
* group.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidSubnetException
* An invalid subnet identifier was specified.
* @throws SubnetNotAllowedException
* At least one subnet ID does not match the other subnet IDs. This mismatch typically occurs when a user
* sets one subnet ID to a regional Availability Zone and a different one to an outpost. Or when a user sets
* the subnet ID to an Outpost when not subscribed on this service.
* @sample AmazonElastiCache.CreateCacheSubnetGroup
* @see AWS API Documentation
*/
@Override
public CacheSubnetGroup createCacheSubnetGroup(CreateCacheSubnetGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateCacheSubnetGroup(request);
}
@SdkInternalApi
final CacheSubnetGroup executeCreateCacheSubnetGroup(CreateCacheSubnetGroupRequest createCacheSubnetGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createCacheSubnetGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Global Datastore for Redis offers fully managed, fast, reliable and secure cross-region replication. Using Global * Datastore for Redis, you can create cross-region read replica clusters for ElastiCache for Redis to enable * low-latency reads and disaster recovery across regions. For more information, see Replication Across * Regions Using Global Datastore. *
** The GlobalReplicationGroupIdSuffix is the name of the Global datastore. *
** The PrimaryReplicationGroupId represents the name of the primary cluster that accepts writes and will * replicate updates to the secondary cluster. *
*available
state.
* @throws GlobalReplicationGroupAlreadyExistsException
* The Global datastore name already exists.
* @throws ServiceLinkedRoleNotFoundException
* The specified service linked role (SLR) was not found.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @sample AmazonElastiCache.CreateGlobalReplicationGroup
* @see AWS API Documentation
*/
@Override
public GlobalReplicationGroup createGlobalReplicationGroup(CreateGlobalReplicationGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateGlobalReplicationGroup(request);
}
@SdkInternalApi
final GlobalReplicationGroup executeCreateGlobalReplicationGroup(CreateGlobalReplicationGroupRequest createGlobalReplicationGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createGlobalReplicationGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group. *
** This API can be used to create a standalone regional replication group or a secondary replication group * associated with a Global datastore. *
** A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the clusters is a * read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to * the replicas. *
** A Redis cluster-mode enabled cluster is comprised of from 1 to 90 shards (API/CLI: node groups). Each shard has a * primary node and up to 5 read-only replica nodes. The configuration can range from 90 shards and 0 replicas to 15 * shards and 5 replicas, which is the maximum number or replicas allowed. *
** The node or shard limit can be increased to a maximum of 500 per cluster if the Redis engine version is 5.0.6 or * higher. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary * and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available * IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small * a CIDR range or the subnets are shared and heavily used by other clusters. For more information, see Creating a Subnet * Group. For versions below 5.0.6, the limit is 250 per cluster. *
** To request a limit increase, see Amazon Service Limits and choose * the limit type Nodes per cluster per instance type. *
** When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more * read replicas to it, up to a total of 5 read replicas. If you need to increase or decrease the number of node * groups (console: shards), you can avail yourself of ElastiCache for Redis' scaling. For more information, see Scaling ElastiCache for Redis * Clusters in the ElastiCache User Guide. *
** This operation is valid for Redis only. *
*CreateReplicationGroup
operation.
* @return Result of the CreateReplicationGroup operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws ReplicationGroupAlreadyExistsException
* The specified replication group already exists.
* @throws InvalidUserGroupStateException
* The user group is not in an active state.
* @throws UserGroupNotFoundException
* The user group was not found or does not exist
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @throws ClusterQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of clusters per customer.
* @throws NodeQuotaForClusterExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes in a single
* cluster.
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws NodeGroupsPerReplicationGroupQuotaExceededException
* The request cannot be processed because it would exceed the maximum allowed number of node groups
* (shards) in a single replication group. The default maximum is 90
* @throws GlobalReplicationGroupNotFoundException
* The Global datastore does not exist
* @throws InvalidGlobalReplicationGroupStateException
* The Global datastore is not available or in primary-only state.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.CreateReplicationGroup
* @see AWS API Documentation
*/
@Override
public ReplicationGroup createReplicationGroup(CreateReplicationGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateReplicationGroup(request);
}
@SdkInternalApi
final ReplicationGroup executeCreateReplicationGroup(CreateReplicationGroupRequest createReplicationGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createReplicationGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Creates a copy of an entire cluster or replication group at a specific moment in time. *
** This operation is valid for Redis only. *
*CreateSnapshot
operation.
* @return Result of the CreateSnapshot operation returned by the service.
* @throws SnapshotAlreadyExistsException
* You already have a snapshot with the given name.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws SnapshotQuotaExceededException
* The request cannot be processed because it would exceed the maximum number of snapshots.
* @throws SnapshotFeatureNotSupportedException
* You attempted one of the following operations:
*
* Creating a snapshot of a Redis cluster running on a cache.t1.micro
cache node.
*
* Creating a snapshot of a cluster that is running Memcached rather than Redis. *
*
* Neither of these are supported by ElastiCache.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @sample AmazonElastiCache.CreateSnapshot
* @see AWS API
* Documentation
*/
@Override
public Snapshot createSnapshot(CreateSnapshotRequest request) {
request = beforeClientExecution(request);
return executeCreateSnapshot(request);
}
@SdkInternalApi
final Snapshot executeCreateSnapshot(CreateSnapshotRequest createSnapshotRequest) {
ExecutionContext executionContext = createExecutionContext(createSnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* For Redis engine version 6.0 onwards: Creates a Redis user. For more information, see Using Role Based Access
* Control (RBAC).
*
* For Redis engine version 6.0 onwards: Creates a Redis user group. For more information, see Using Role Based Access
* Control (RBAC)
*
* Decreases the number of node groups in a Global datastore
*
* Dynamically decreases the number of replicas in a Redis (cluster mode disabled) replication group or the number
* of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This
* operation is performed with no cluster down time.
*
* Deletes a previously provisioned cluster.
* This operation is not valid for:
*
* Redis (cluster mode enabled) clusters
*
* Redis (cluster mode disabled) clusters
*
* A cluster that is the last read replica of a replication group
*
* A cluster that is the primary node of a replication group
*
* A node group (shard) that has Multi-AZ mode enabled
*
* A cluster from a Redis (cluster mode enabled) replication group
*
* A cluster that is not in the available
state.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws ClusterQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of clusters per customer.
* @throws NodeGroupsPerReplicationGroupQuotaExceededException
* The request cannot be processed because it would exceed the maximum allowed number of node groups
* (shards) in a single replication group. The default maximum is 90
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws ServiceLinkedRoleNotFoundException
* The specified service linked role (SLR) was not found.
* @throws NoOperationException
* The operation was not performed because no changes were required.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DecreaseReplicaCount
* @see AWS API Documentation
*/
@Override
public ReplicationGroup decreaseReplicaCount(DecreaseReplicaCountRequest request) {
request = beforeClientExecution(request);
return executeDecreaseReplicaCount(request);
}
@SdkInternalApi
final ReplicationGroup executeDecreaseReplicaCount(DecreaseReplicaCountRequest decreaseReplicaCountRequest) {
ExecutionContext executionContext = createExecutionContext(decreaseReplicaCountRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDeleteCacheCluster
deletes all associated cache nodes,
* node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon
* ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.
*
*
*
* @param deleteCacheClusterRequest
* Represents the input of a available
state
* DeleteCacheCluster
operation.
* @return Result of the DeleteCacheCluster operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws SnapshotAlreadyExistsException
* You already have a snapshot with the given name.
* @throws SnapshotFeatureNotSupportedException
* You attempted one of the following operations:
* Creating a snapshot of a Redis cluster running on a cache.t1.micro
cache node.
*
* Creating a snapshot of a cluster that is running Memcached rather than Redis. *
*
* Neither of these are supported by ElastiCache.
* @throws SnapshotQuotaExceededException
* The request cannot be processed because it would exceed the maximum number of snapshots.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DeleteCacheCluster
* @see AWS
* API Documentation
*/
@Override
public CacheCluster deleteCacheCluster(DeleteCacheClusterRequest request) {
request = beforeClientExecution(request);
return executeDeleteCacheCluster(request);
}
@SdkInternalApi
final CacheCluster executeDeleteCacheCluster(DeleteCacheClusterRequest deleteCacheClusterRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCacheClusterRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with
* any cache clusters. You cannot delete the default cache parameter groups in your account.
*
* Deletes a cache security group.
*
* You cannot delete a cache security group if it is associated with any clusters.
*
* Deletes a cache subnet group.
*
* You cannot delete a default cache subnet group or one that is associated with any clusters.
*
* Deleting a Global datastore is a two-step process:
*
* First, you must DisassociateGlobalReplicationGroup to remove the secondary clusters in the Global
* datastore.
*
* Once the Global datastore contains only the primary cluster, you can use the
*
* Since the Global Datastore has only a primary cluster, you can delete the Global Datastore while retaining the
* primary by setting
* When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the
* selected resources; you cannot cancel or revert this operation.
*
* Deletes an existing replication group. By default, this operation deletes the entire replication group, including
* the primary/primaries and all of the read replicas. If the replication group has only one primary, you can
* optionally delete only the read replicas, while retaining the primary by setting
*
* When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the
* selected resources; you cannot cancel or revert this operation.
*
* This operation is valid for Redis only.
* DeleteCacheParameterGroup
operation.
* @return Result of the DeleteCacheParameterGroup operation returned by the service.
* @throws InvalidCacheParameterGroupStateException
* The current state of the cache parameter group does not allow the requested operation to occur.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DeleteCacheParameterGroup
* @see AWS API Documentation
*/
@Override
public DeleteCacheParameterGroupResult deleteCacheParameterGroup(DeleteCacheParameterGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteCacheParameterGroup(request);
}
@SdkInternalApi
final DeleteCacheParameterGroupResult executeDeleteCacheParameterGroup(DeleteCacheParameterGroupRequest deleteCacheParameterGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCacheParameterGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDeleteCacheSecurityGroup
operation.
* @return Result of the DeleteCacheSecurityGroup operation returned by the service.
* @throws InvalidCacheSecurityGroupStateException
* The current state of the cache security group does not allow deletion.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DeleteCacheSecurityGroup
* @see AWS API Documentation
*/
@Override
public DeleteCacheSecurityGroupResult deleteCacheSecurityGroup(DeleteCacheSecurityGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteCacheSecurityGroup(request);
}
@SdkInternalApi
final DeleteCacheSecurityGroupResult executeDeleteCacheSecurityGroup(DeleteCacheSecurityGroupRequest deleteCacheSecurityGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCacheSecurityGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDeleteCacheSubnetGroup
operation.
* @return Result of the DeleteCacheSubnetGroup operation returned by the service.
* @throws CacheSubnetGroupInUseException
* The requested cache subnet group is currently in use.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @sample AmazonElastiCache.DeleteCacheSubnetGroup
* @see AWS API Documentation
*/
@Override
public DeleteCacheSubnetGroupResult deleteCacheSubnetGroup(DeleteCacheSubnetGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteCacheSubnetGroup(request);
}
@SdkInternalApi
final DeleteCacheSubnetGroupResult executeDeleteCacheSubnetGroup(DeleteCacheSubnetGroupRequest deleteCacheSubnetGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCacheSubnetGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
*
* DeleteGlobalReplicationGroup
API to delete the Global datastore while retainining the primary
* cluster using RetainPrimaryReplicationGroup=true
.
* RetainPrimaryReplicationGroup=true
. The primary cluster is never deleted when
* deleting a Global Datastore. It can only be deleted when it no longer is associated with any Global Datastore.
* RetainPrimaryCluster=true
.
* DeleteReplicationGroup
operation.
* @return Result of the DeleteReplicationGroup operation returned by the service.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws SnapshotAlreadyExistsException
* You already have a snapshot with the given name.
* @throws SnapshotFeatureNotSupportedException
* You attempted one of the following operations:
* Creating a snapshot of a Redis cluster running on a cache.t1.micro
cache node.
*
* Creating a snapshot of a cluster that is running Memcached rather than Redis. *
*
* Neither of these are supported by ElastiCache.
* @throws SnapshotQuotaExceededException
* The request cannot be processed because it would exceed the maximum number of snapshots.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DeleteReplicationGroup
* @see AWS API Documentation
*/
@Override
public ReplicationGroup deleteReplicationGroup(DeleteReplicationGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteReplicationGroup(request);
}
@SdkInternalApi
final ReplicationGroup executeDeleteReplicationGroup(DeleteReplicationGroupRequest deleteReplicationGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteReplicationGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately
* begins deleting the snapshot; you cannot cancel or revert this operation.
*
* This operation is valid for Redis only.
*
* For Redis engine version 6.0 onwards: Deletes a user. The user will be removed from all user groups and in turn
* removed from all replication groups. For more information, see Using Role Based Access
* Control (RBAC).
*
* For Redis engine version 6.0 onwards: Deletes a user group. The user group must first be disassociated from the
* replication group before it can be deleted. For more information, see Using Role Based Access
* Control (RBAC).
*
* Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific
* cache cluster if a cluster identifier is supplied.
*
* By default, abbreviated information about the clusters is returned. You can use the optional
* ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the
* clusters. These details include the DNS address and port for the cache node endpoint.
*
* If the cluster is in the creating state, only cluster-level information is displayed until all of the
* nodes are successfully provisioned.
*
* If the cluster is in the deleting state, only cluster-level information is displayed.
*
* If cache nodes are currently being added to the cluster, node endpoint information and creation time for the
* additional nodes are not displayed until they are completely provisioned. When the cluster state is
* available, the cluster is ready for use.
*
* If cache nodes are currently being removed from the cluster, no endpoint information for the removed nodes is
* displayed.
*
* Returns a list of the available cache engines and their versions.
*
* Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list
* contains only the descriptions for that group.
*
* Returns the detailed parameter list for a particular cache parameter group.
*
* Returns a list of cache security group descriptions. If a cache security group name is specified, the list
* contains only the description of that group. This applicable only when you have ElastiCache in Classic setup
*
* Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only
* the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache
* clusters now launch in VPC by default.
*
* Returns the default engine and system parameter information for the specified cache engine.
*
* Returns events related to clusters, cache security groups, and cache parameter groups. You can obtain events
* specific to a particular cluster, cache security group, or cache parameter group by providing the name as a
* parameter.
*
* By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days'
* worth of events if necessary.
*
* Returns information about a particular global replication group. If no identifier is specified, returns
* information about all Global datastores.
*
* Returns information about a particular replication group. If no identifier is specified,
*
* This operation is valid for Redis only.
*
* Returns information about reserved cache nodes for this account, or about a specified reserved cache node.
*
* Lists available reserved cache node offerings.
*
* Returns details of the service updates
*
* Returns information about cluster or replication group snapshots. By default,
* This operation is valid for Redis only.
*
* Returns details of the update actions
*
* Returns a list of user groups.
*
* Returns a list of users.
*
* Remove a secondary cluster from the Global datastore using the Global datastore name. The secondary cluster will
* no longer receive updates from the primary cluster, but will remain as a standalone cluster in that Amazon
* region.
*
* Used to failover the primary region to a secondary region. The secondary region will become primary, and all
* other clusters will become secondary.
*
* Increase the number of node groups in the Global datastore
*
* Dynamically increases the number of replicas in a Redis (cluster mode disabled) replication group or the number
* of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This
* operation is performed with no cluster down time.
*
* Lists all available node types that you can scale your Redis cluster's or replication group's current node type.
*
* When you use the
* Lists all tags currently on a named resource.
*
* A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track
* all your ElastiCache resources, with the exception of global replication group. When you add or remove tags on
* replication groups, those actions will be replicated to all nodes in the replication group. For more information,
* see Resource
* -level permissions.
*
* If the cluster is not in the available state,
* Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration
* parameters by specifying the parameters and the new values.
*
* Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by
* submitting a list parameter name and value pairs.
*
* Modifies an existing cache subnet group.
*
* Modifies the settings for a Global datastore.
*
* Modifies the settings for a replication group.
*
*
* Scaling for Amazon ElastiCache for Redis (cluster mode enabled) in the ElastiCache User Guide
*
* ModifyReplicationGroupShardConfiguration in the ElastiCache API Reference
*
* This operation is valid for Redis only.
*
* Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance
* the keyspaces among existing shards.
*
* Changes user password(s) and/or access string.
*
* Changes the list of users that belong to the user group.
*
* Allows you to purchase a reserved cache node offering. Reserved nodes are not eligible for cancellation and are
* non-refundable. For more information, see Managing Costs with
* Reserved Nodes for Redis or Managing Costs with
* Reserved Nodes for Memcached.
*
* Redistribute slots to ensure uniform distribution across existing shards in the cluster.
*
* Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache
* parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary
* outage to the cluster. During the reboot, the cluster status is set to REBOOTING.
*
* The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.
*
* When the reboot is complete, a cluster event is created.
*
* Rebooting a cluster is currently supported on Memcached and Redis (cluster mode disabled) clusters. Rebooting is
* not supported on Redis (cluster mode enabled) clusters.
*
* If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to
* be applied, see Rebooting a Cluster
* for an alternate process.
*
* Removes the tags identified by the
* Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific
* parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the
*
* Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security
* group that had been previously authorized.
*
* Start the migration of data.
*
* Represents the input of a
* This API is designed for testing the behavior of your application in case of ElastiCache failover. It is not
* designed to be an operational tool for initiating a failover to overcome a problem you may have with the cluster.
* Moreover, in certain conditions such as large-scale operational events, Amazon may block this API.
*
* Note the following
*
* A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the
* ElastiCache API and Amazon CLI) in any rolling 24-hour period.
*
* If calling this operation on shards in different clusters (called replication groups in the API and CLI), the
* calls can be made concurrently.
*
*
* If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication
* group, the first node replacement must complete before a subsequent call can be made.
*
* To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console,
* the Amazon CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in
* order of occurrance:
*
* Replication group message:
* Cache cluster message:
*
* Replication group message:
*
* Cache cluster message:
* Cache cluster message:
* For more information see:
*
* Viewing ElastiCache
* Events in the ElastiCache User Guide
*
* DescribeEvents
* in the ElastiCache API Reference
*
* Also see, Testing
* Multi-AZ in the ElastiCache User Guide.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private DeleteSnapshot
operation.
* @return Result of the DeleteSnapshot operation returned by the service.
* @throws SnapshotNotFoundException
* The requested snapshot name does not refer to an existing snapshot.
* @throws InvalidSnapshotStateException
* The current state of the snapshot does not allow the requested operation to occur.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DeleteSnapshot
* @see AWS API
* Documentation
*/
@Override
public Snapshot deleteSnapshot(DeleteSnapshotRequest request) {
request = beforeClientExecution(request);
return executeDeleteSnapshot(request);
}
@SdkInternalApi
final Snapshot executeDeleteSnapshot(DeleteSnapshotRequest deleteSnapshotRequest) {
ExecutionContext executionContext = createExecutionContext(deleteSnapshotRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeCacheClusters
operation.
* @return Result of the DescribeCacheClusters operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeCacheClusters
* @see AWS API Documentation
*/
@Override
public DescribeCacheClustersResult describeCacheClusters(DescribeCacheClustersRequest request) {
request = beforeClientExecution(request);
return executeDescribeCacheClusters(request);
}
@SdkInternalApi
final DescribeCacheClustersResult executeDescribeCacheClusters(DescribeCacheClustersRequest describeCacheClustersRequest) {
ExecutionContext executionContext = createExecutionContext(describeCacheClustersRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeCacheEngineVersions
operation.
* @return Result of the DescribeCacheEngineVersions operation returned by the service.
* @sample AmazonElastiCache.DescribeCacheEngineVersions
* @see AWS API Documentation
*/
@Override
public DescribeCacheEngineVersionsResult describeCacheEngineVersions(DescribeCacheEngineVersionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeCacheEngineVersions(request);
}
@SdkInternalApi
final DescribeCacheEngineVersionsResult executeDescribeCacheEngineVersions(DescribeCacheEngineVersionsRequest describeCacheEngineVersionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeCacheEngineVersionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeCacheParameterGroups
operation.
* @return Result of the DescribeCacheParameterGroups operation returned by the service.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeCacheParameterGroups
* @see AWS API Documentation
*/
@Override
public DescribeCacheParameterGroupsResult describeCacheParameterGroups(DescribeCacheParameterGroupsRequest request) {
request = beforeClientExecution(request);
return executeDescribeCacheParameterGroups(request);
}
@SdkInternalApi
final DescribeCacheParameterGroupsResult executeDescribeCacheParameterGroups(DescribeCacheParameterGroupsRequest describeCacheParameterGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(describeCacheParameterGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeCacheParameters
operation.
* @return Result of the DescribeCacheParameters operation returned by the service.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeCacheParameters
* @see AWS API Documentation
*/
@Override
public DescribeCacheParametersResult describeCacheParameters(DescribeCacheParametersRequest request) {
request = beforeClientExecution(request);
return executeDescribeCacheParameters(request);
}
@SdkInternalApi
final DescribeCacheParametersResult executeDescribeCacheParameters(DescribeCacheParametersRequest describeCacheParametersRequest) {
ExecutionContext executionContext = createExecutionContext(describeCacheParametersRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeCacheSecurityGroups
operation.
* @return Result of the DescribeCacheSecurityGroups operation returned by the service.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeCacheSecurityGroups
* @see AWS API Documentation
*/
@Override
public DescribeCacheSecurityGroupsResult describeCacheSecurityGroups(DescribeCacheSecurityGroupsRequest request) {
request = beforeClientExecution(request);
return executeDescribeCacheSecurityGroups(request);
}
@SdkInternalApi
final DescribeCacheSecurityGroupsResult executeDescribeCacheSecurityGroups(DescribeCacheSecurityGroupsRequest describeCacheSecurityGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(describeCacheSecurityGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeCacheSubnetGroups
operation.
* @return Result of the DescribeCacheSubnetGroups operation returned by the service.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @sample AmazonElastiCache.DescribeCacheSubnetGroups
* @see AWS API Documentation
*/
@Override
public DescribeCacheSubnetGroupsResult describeCacheSubnetGroups(DescribeCacheSubnetGroupsRequest request) {
request = beforeClientExecution(request);
return executeDescribeCacheSubnetGroups(request);
}
@SdkInternalApi
final DescribeCacheSubnetGroupsResult executeDescribeCacheSubnetGroups(DescribeCacheSubnetGroupsRequest describeCacheSubnetGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(describeCacheSubnetGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeEngineDefaultParameters
operation.
* @return Result of the DescribeEngineDefaultParameters operation returned by the service.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeEngineDefaultParameters
* @see AWS API Documentation
*/
@Override
public EngineDefaults describeEngineDefaultParameters(DescribeEngineDefaultParametersRequest request) {
request = beforeClientExecution(request);
return executeDescribeEngineDefaultParameters(request);
}
@SdkInternalApi
final EngineDefaults executeDescribeEngineDefaultParameters(DescribeEngineDefaultParametersRequest describeEngineDefaultParametersRequest) {
ExecutionContext executionContext = createExecutionContext(describeEngineDefaultParametersRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeEvents
operation.
* @return Result of the DescribeEvents operation returned by the service.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeEvents
* @see AWS API
* Documentation
*/
@Override
public DescribeEventsResult describeEvents(DescribeEventsRequest request) {
request = beforeClientExecution(request);
return executeDescribeEvents(request);
}
@SdkInternalApi
final DescribeEventsResult executeDescribeEvents(DescribeEventsRequest describeEventsRequest) {
ExecutionContext executionContext = createExecutionContext(describeEventsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeReplicationGroups
returns information about all replication groups.
* DescribeReplicationGroups
operation.
* @return Result of the DescribeReplicationGroups operation returned by the service.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeReplicationGroups
* @see AWS API Documentation
*/
@Override
public DescribeReplicationGroupsResult describeReplicationGroups(DescribeReplicationGroupsRequest request) {
request = beforeClientExecution(request);
return executeDescribeReplicationGroups(request);
}
@SdkInternalApi
final DescribeReplicationGroupsResult executeDescribeReplicationGroups(DescribeReplicationGroupsRequest describeReplicationGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(describeReplicationGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeReservedCacheNodes
operation.
* @return Result of the DescribeReservedCacheNodes operation returned by the service.
* @throws ReservedCacheNodeNotFoundException
* The requested reserved cache node was not found.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeReservedCacheNodes
* @see AWS API Documentation
*/
@Override
public DescribeReservedCacheNodesResult describeReservedCacheNodes(DescribeReservedCacheNodesRequest request) {
request = beforeClientExecution(request);
return executeDescribeReservedCacheNodes(request);
}
@SdkInternalApi
final DescribeReservedCacheNodesResult executeDescribeReservedCacheNodes(DescribeReservedCacheNodesRequest describeReservedCacheNodesRequest) {
ExecutionContext executionContext = createExecutionContext(describeReservedCacheNodesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeReservedCacheNodesOfferings
operation.
* @return Result of the DescribeReservedCacheNodesOfferings operation returned by the service.
* @throws ReservedCacheNodesOfferingNotFoundException
* The requested cache node offering does not exist.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeReservedCacheNodesOfferings
* @see AWS API Documentation
*/
@Override
public DescribeReservedCacheNodesOfferingsResult describeReservedCacheNodesOfferings(DescribeReservedCacheNodesOfferingsRequest request) {
request = beforeClientExecution(request);
return executeDescribeReservedCacheNodesOfferings(request);
}
@SdkInternalApi
final DescribeReservedCacheNodesOfferingsResult executeDescribeReservedCacheNodesOfferings(
DescribeReservedCacheNodesOfferingsRequest describeReservedCacheNodesOfferingsRequest) {
ExecutionContext executionContext = createExecutionContext(describeReservedCacheNodesOfferingsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDescribeSnapshots
* lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with
* a particular cache cluster.
* DescribeSnapshotsMessage
operation.
* @return Result of the DescribeSnapshots operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws SnapshotNotFoundException
* The requested snapshot name does not refer to an existing snapshot.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.DescribeSnapshots
* @see AWS
* API Documentation
*/
@Override
public DescribeSnapshotsResult describeSnapshots(DescribeSnapshotsRequest request) {
request = beforeClientExecution(request);
return executeDescribeSnapshots(request);
}
@SdkInternalApi
final DescribeSnapshotsResult executeDescribeSnapshots(DescribeSnapshotsRequest describeSnapshotsRequest) {
ExecutionContext executionContext = createExecutionContext(describeSnapshotsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Requestavailable
state.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws ClusterQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of clusters per customer.
* @throws NodeGroupsPerReplicationGroupQuotaExceededException
* The request cannot be processed because it would exceed the maximum allowed number of node groups
* (shards) in a single replication group. The default maximum is 90
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws NoOperationException
* The operation was not performed because no changes were required.
* @throws InvalidKMSKeyException
* The KMS key supplied is not valid.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.IncreaseReplicaCount
* @see AWS API Documentation
*/
@Override
public ReplicationGroup increaseReplicaCount(IncreaseReplicaCountRequest request) {
request = beforeClientExecution(request);
return executeIncreaseReplicaCount(request);
}
@SdkInternalApi
final ReplicationGroup executeIncreaseReplicaCount(IncreaseReplicaCountRequest increaseReplicaCountRequest) {
ExecutionContext executionContext = createExecutionContext(increaseReplicaCountRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestModifyCacheCluster
or ModifyReplicationGroup
operations to scale your
* cluster or replication group, the value of the CacheNodeType
parameter must be one of the node types
* returned by this operation.
* ListAllowedNodeTypeModifications
operation.
* @return Result of the ListAllowedNodeTypeModifications operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @sample AmazonElastiCache.ListAllowedNodeTypeModifications
* @see AWS API Documentation
*/
@Override
public ListAllowedNodeTypeModificationsResult listAllowedNodeTypeModifications(ListAllowedNodeTypeModificationsRequest request) {
request = beforeClientExecution(request);
return executeListAllowedNodeTypeModifications(request);
}
@SdkInternalApi
final ListAllowedNodeTypeModificationsResult executeListAllowedNodeTypeModifications(
ListAllowedNodeTypeModificationsRequest listAllowedNodeTypeModificationsRequest) {
ExecutionContext executionContext = createExecutionContext(listAllowedNodeTypeModificationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestListTagsForResource
returns an error.
* ListTagsForResource
operation.
* @return Result of the ListTagsForResource operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws ReservedCacheNodeNotFoundException
* The requested reserved cache node was not found.
* @throws SnapshotNotFoundException
* The requested snapshot name does not refer to an existing snapshot.
* @throws UserNotFoundException
* The user does not exist or could not be found.
* @throws UserGroupNotFoundException
* The user group was not found or does not exist
* @throws InvalidARNException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @sample AmazonElastiCache.ListTagsForResource
* @see AWS API Documentation
*/
@Override
public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResource(request);
}
@SdkInternalApi
final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestModifyCacheCluster
operation.
* @return Result of the ModifyCacheCluster operation returned by the service.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws InvalidCacheSecurityGroupStateException
* The current state of the cache security group does not allow deletion.
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws NodeQuotaForClusterExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes in a single
* cluster.
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.ModifyCacheCluster
* @see AWS
* API Documentation
*/
@Override
public CacheCluster modifyCacheCluster(ModifyCacheClusterRequest request) {
request = beforeClientExecution(request);
return executeModifyCacheCluster(request);
}
@SdkInternalApi
final CacheCluster executeModifyCacheCluster(ModifyCacheClusterRequest modifyCacheClusterRequest) {
ExecutionContext executionContext = createExecutionContext(modifyCacheClusterRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestModifyCacheParameterGroup
operation.
* @return Result of the ModifyCacheParameterGroup operation returned by the service.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidCacheParameterGroupStateException
* The current state of the cache parameter group does not allow the requested operation to occur.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @throws InvalidGlobalReplicationGroupStateException
* The Global datastore is not available or in primary-only state.
* @sample AmazonElastiCache.ModifyCacheParameterGroup
* @see AWS API Documentation
*/
@Override
public ModifyCacheParameterGroupResult modifyCacheParameterGroup(ModifyCacheParameterGroupRequest request) {
request = beforeClientExecution(request);
return executeModifyCacheParameterGroup(request);
}
@SdkInternalApi
final ModifyCacheParameterGroupResult executeModifyCacheParameterGroup(ModifyCacheParameterGroupRequest modifyCacheParameterGroupRequest) {
ExecutionContext executionContext = createExecutionContext(modifyCacheParameterGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestModifyCacheSubnetGroup
operation.
* @return Result of the ModifyCacheSubnetGroup operation returned by the service.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @throws CacheSubnetQuotaExceededException
* The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet
* group.
* @throws SubnetInUseException
* The requested subnet is being used by another cache subnet group.
* @throws InvalidSubnetException
* An invalid subnet identifier was specified.
* @throws SubnetNotAllowedException
* At least one subnet ID does not match the other subnet IDs. This mismatch typically occurs when a user
* sets one subnet ID to a regional Availability Zone and a different one to an outpost. Or when a user sets
* the subnet ID to an Outpost when not subscribed on this service.
* @sample AmazonElastiCache.ModifyCacheSubnetGroup
* @see AWS API Documentation
*/
@Override
public CacheSubnetGroup modifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest request) {
request = beforeClientExecution(request);
return executeModifyCacheSubnetGroup(request);
}
@SdkInternalApi
final CacheSubnetGroup executeModifyCacheSubnetGroup(ModifyCacheSubnetGroupRequest modifyCacheSubnetGroupRequest) {
ExecutionContext executionContext = createExecutionContext(modifyCacheSubnetGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
*
* ModifyReplicationGroups
operation.
* @return Result of the ModifyReplicationGroup operation returned by the service.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws InvalidUserGroupStateException
* The user group is not in an active state.
* @throws UserGroupNotFoundException
* The user group was not found or does not exist
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws InvalidCacheSecurityGroupStateException
* The current state of the cache security group does not allow deletion.
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws NodeQuotaForClusterExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes in a single
* cluster.
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws InvalidKMSKeyException
* The KMS key supplied is not valid.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.ModifyReplicationGroup
* @see AWS API Documentation
*/
@Override
public ReplicationGroup modifyReplicationGroup(ModifyReplicationGroupRequest request) {
request = beforeClientExecution(request);
return executeModifyReplicationGroup(request);
}
@SdkInternalApi
final ReplicationGroup executeModifyReplicationGroup(ModifyReplicationGroupRequest modifyReplicationGroupRequest) {
ExecutionContext executionContext = createExecutionContext(modifyReplicationGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestModifyReplicationGroupShardConfiguration
operation.
* @return Result of the ModifyReplicationGroupShardConfiguration operation returned by the service.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws InvalidVPCNetworkStateException
* The VPC network is in an invalid state.
* @throws InsufficientCacheClusterCapacityException
* The requested cache node type is not available in the specified Availability Zone. For more information,
* see InsufficientCacheClusterCapacity in the ElastiCache User Guide.
* @throws NodeGroupsPerReplicationGroupQuotaExceededException
* The request cannot be processed because it would exceed the maximum allowed number of node groups
* (shards) in a single replication group. The default maximum is 90
* @throws NodeQuotaForCustomerExceededException
* The request cannot be processed because it would exceed the allowed number of cache nodes per customer.
* @throws InvalidKMSKeyException
* The KMS key supplied is not valid.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.ModifyReplicationGroupShardConfiguration
* @see AWS API Documentation
*/
@Override
public ReplicationGroup modifyReplicationGroupShardConfiguration(ModifyReplicationGroupShardConfigurationRequest request) {
request = beforeClientExecution(request);
return executeModifyReplicationGroupShardConfiguration(request);
}
@SdkInternalApi
final ReplicationGroup executeModifyReplicationGroupShardConfiguration(
ModifyReplicationGroupShardConfigurationRequest modifyReplicationGroupShardConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(modifyReplicationGroupShardConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestPurchaseReservedCacheNodesOffering
operation.
* @return Result of the PurchaseReservedCacheNodesOffering operation returned by the service.
* @throws ReservedCacheNodesOfferingNotFoundException
* The requested cache node offering does not exist.
* @throws ReservedCacheNodeAlreadyExistsException
* You already have a reservation with the given identifier.
* @throws ReservedCacheNodeQuotaExceededException
* The request cannot be processed because it would exceed the user's cache node quota.
* @throws TagQuotaPerResourceExceededException
* The request cannot be processed because it would cause the resource to have more than the allowed number
* of tags. The maximum number of tags permitted on a resource is 50.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.PurchaseReservedCacheNodesOffering
* @see AWS API Documentation
*/
@Override
public ReservedCacheNode purchaseReservedCacheNodesOffering(PurchaseReservedCacheNodesOfferingRequest request) {
request = beforeClientExecution(request);
return executePurchaseReservedCacheNodesOffering(request);
}
@SdkInternalApi
final ReservedCacheNode executePurchaseReservedCacheNodesOffering(PurchaseReservedCacheNodesOfferingRequest purchaseReservedCacheNodesOfferingRequest) {
ExecutionContext executionContext = createExecutionContext(purchaseReservedCacheNodesOfferingRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestRebootCacheCluster
operation.
* @return Result of the RebootCacheCluster operation returned by the service.
* @throws InvalidCacheClusterStateException
* The requested cluster is not in the available
state.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @sample AmazonElastiCache.RebootCacheCluster
* @see AWS
* API Documentation
*/
@Override
public CacheCluster rebootCacheCluster(RebootCacheClusterRequest request) {
request = beforeClientExecution(request);
return executeRebootCacheCluster(request);
}
@SdkInternalApi
final CacheCluster executeRebootCacheCluster(RebootCacheClusterRequest rebootCacheClusterRequest) {
ExecutionContext executionContext = createExecutionContext(rebootCacheClusterRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestTagKeys
list from the named resource. A tag is a key-value pair
* where the key and value are case-sensitive. You can use tags to categorize and track all your ElastiCache
* resources, with the exception of global replication group. When you add or remove tags on replication groups,
* those actions will be replicated to all nodes in the replication group. For more information, see Resource-level permissions.
* RemoveTagsFromResource
operation.
* @return Result of the RemoveTagsFromResource operation returned by the service.
* @throws CacheClusterNotFoundException
* The requested cluster ID does not refer to an existing cluster.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws CacheSubnetGroupNotFoundException
* The requested cache subnet group name does not refer to an existing cache subnet group.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws ReservedCacheNodeNotFoundException
* The requested reserved cache node was not found.
* @throws SnapshotNotFoundException
* The requested snapshot name does not refer to an existing snapshot.
* @throws UserNotFoundException
* The user does not exist or could not be found.
* @throws UserGroupNotFoundException
* The user group was not found or does not exist
* @throws InvalidARNException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @throws TagNotFoundException
* The requested tag was not found on this resource.
* @sample AmazonElastiCache.RemoveTagsFromResource
* @see AWS API Documentation
*/
@Override
public RemoveTagsFromResourceResult removeTagsFromResource(RemoveTagsFromResourceRequest request) {
request = beforeClientExecution(request);
return executeRemoveTagsFromResource(request);
}
@SdkInternalApi
final RemoveTagsFromResourceResult executeRemoveTagsFromResource(RemoveTagsFromResourceRequest removeTagsFromResourceRequest) {
ExecutionContext executionContext = createExecutionContext(removeTagsFromResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestResetAllParameters
and CacheParameterGroupName
parameters.
* ResetCacheParameterGroup
operation.
* @return Result of the ResetCacheParameterGroup operation returned by the service.
* @throws InvalidCacheParameterGroupStateException
* The current state of the cache parameter group does not allow the requested operation to occur.
* @throws CacheParameterGroupNotFoundException
* The requested cache parameter group name does not refer to an existing cache parameter group.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @throws InvalidGlobalReplicationGroupStateException
* The Global datastore is not available or in primary-only state.
* @sample AmazonElastiCache.ResetCacheParameterGroup
* @see AWS API Documentation
*/
@Override
public ResetCacheParameterGroupResult resetCacheParameterGroup(ResetCacheParameterGroupRequest request) {
request = beforeClientExecution(request);
return executeResetCacheParameterGroup(request);
}
@SdkInternalApi
final ResetCacheParameterGroupResult executeResetCacheParameterGroup(ResetCacheParameterGroupRequest resetCacheParameterGroupRequest) {
ExecutionContext executionContext = createExecutionContext(resetCacheParameterGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestRevokeCacheSecurityGroupIngress
operation.
* @return Result of the RevokeCacheSecurityGroupIngress operation returned by the service.
* @throws CacheSecurityGroupNotFoundException
* The requested cache security group name does not refer to an existing cache security group.
* @throws AuthorizationNotFoundException
* The specified Amazon EC2 security group is not authorized for the specified cache security group.
* @throws InvalidCacheSecurityGroupStateException
* The current state of the cache security group does not allow deletion.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.RevokeCacheSecurityGroupIngress
* @see AWS API Documentation
*/
@Override
public CacheSecurityGroup revokeCacheSecurityGroupIngress(RevokeCacheSecurityGroupIngressRequest request) {
request = beforeClientExecution(request);
return executeRevokeCacheSecurityGroupIngress(request);
}
@SdkInternalApi
final CacheSecurityGroup executeRevokeCacheSecurityGroupIngress(RevokeCacheSecurityGroupIngressRequest revokeCacheSecurityGroupIngressRequest) {
ExecutionContext executionContext = createExecutionContext(revokeCacheSecurityGroupIngressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Requestavailable
state.
* @throws ReplicationGroupAlreadyUnderMigrationException
* The targeted replication group is not available.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @sample AmazonElastiCache.StartMigration
* @see AWS API
* Documentation
*/
@Override
public ReplicationGroup startMigration(StartMigrationRequest request) {
request = beforeClientExecution(request);
return executeStartMigration(request);
}
@SdkInternalApi
final ReplicationGroup executeStartMigration(StartMigrationRequest startMigrationRequest) {
ExecutionContext executionContext = createExecutionContext(startMigrationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestTestFailover
operation which test automatic failover on a specified node
* group (called shard in the console) in a replication group (called cluster in the console).
*
*
*
*
* Test Failover API called for node group <node-group-id>
* Failover from primary node <primary-node-id> to replica node <node-id> completed
* Failover from primary node <primary-node-id> to replica node <node-id> completed
* Recovering cache nodes <node-id>
* Finished recovery for cache nodes <node-id>
*
*
* available
state.
* @throws InvalidReplicationGroupStateException
* The requested replication group is not in the available
state.
* @throws NodeGroupNotFoundException
* The node group specified by the NodeGroupId
parameter could not be found. Please verify that
* the node group exists and that you spelled the NodeGroupId
value correctly.
* @throws ReplicationGroupNotFoundException
* The specified replication group does not exist.
* @throws TestFailoverNotAvailableException
* The TestFailover
action is not available.
* @throws InvalidKMSKeyException
* The KMS key supplied is not valid.
* @throws InvalidParameterValueException
* The value for a parameter is invalid.
* @throws InvalidParameterCombinationException
* Two or more incompatible parameters were specified.
* @sample AmazonElastiCache.TestFailover
* @see AWS API
* Documentation
*/
@Override
public ReplicationGroup testFailover(TestFailoverRequest request) {
request = beforeClientExecution(request);
return executeTestFailover(request);
}
@SdkInternalApi
final ReplicationGroup executeTestFailover(TestFailoverRequest testFailoverRequest) {
ExecutionContext executionContext = createExecutionContext(testFailoverRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request