/// <summary> /// The <i>CreateCacheCluster</i> operation creates a cache cluster. All nodes in the /// cache cluster run the same protocol-compliant cache engine software, either Memcached /// or Redis. /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateCacheCluster service method.</param> /// /// <returns>The response from the CreateCacheCluster service method, as returned by ElastiCache.</returns> /// <exception cref="Amazon.ElastiCache.Model.CacheClusterAlreadyExistsException"> /// You already have a cache cluster with the given identifier. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.CacheParameterGroupNotFoundException"> /// The requested cache parameter group name does not refer to an existing cache parameter /// group. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.CacheSecurityGroupNotFoundException"> /// The requested cache security group name does not refer to an existing cache security /// group. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.CacheSubnetGroupNotFoundException"> /// The requested cache subnet group name does not refer to an existing cache subnet group. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.ClusterQuotaForCustomerExceededException"> /// The request cannot be processed because it would exceed the allowed number of cache /// clusters per customer. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.InsufficientCacheClusterCapacityException"> /// The requested cache node type is not available in the specified Availability Zone. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.InvalidParameterCombinationException"> /// Two or more incompatible parameters were specified. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.InvalidParameterValueException"> /// The value for a parameter is invalid. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.InvalidReplicationGroupStateException"> /// The requested replication group is not in the <i>available</i> state. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.InvalidVPCNetworkStateException"> /// The VPC network is in an invalid state. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.NodeQuotaForClusterExceededException"> /// The request cannot be processed because it would exceed the allowed number of cache /// nodes in a single cache cluster. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.NodeQuotaForCustomerExceededException"> /// The request cannot be processed because it would exceed the allowed number of cache /// nodes per customer. /// </exception> /// <exception cref="Amazon.ElastiCache.Model.ReplicationGroupNotFoundException"> /// The specified replication group does not exist. /// </exception> public CreateCacheClusterResponse CreateCacheCluster(CreateCacheClusterRequest request) { var marshaller = new CreateCacheClusterRequestMarshaller(); var unmarshaller = CreateCacheClusterResponseUnmarshaller.Instance; return Invoke<CreateCacheClusterRequest,CreateCacheClusterResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the CreateCacheCluster operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateCacheCluster operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<CreateCacheClusterResponse> CreateCacheClusterAsync(CreateCacheClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateCacheClusterRequestMarshaller(); var unmarshaller = CreateCacheClusterResponseUnmarshaller.Instance; return InvokeAsync<CreateCacheClusterRequest,CreateCacheClusterResponse>(request, marshaller, unmarshaller, cancellationToken); }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.ElastiCache.Model.CreateCacheClusterRequest(); if (cmdletContext.AuthToken != null) { request.AuthToken = cmdletContext.AuthToken; } if (cmdletContext.AutoMinorVersionUpgrade != null) { request.AutoMinorVersionUpgrade = cmdletContext.AutoMinorVersionUpgrade.Value; } if (cmdletContext.AZMode != null) { request.AZMode = cmdletContext.AZMode; } if (cmdletContext.CacheClusterId != null) { request.CacheClusterId = cmdletContext.CacheClusterId; } if (cmdletContext.CacheNodeType != null) { request.CacheNodeType = cmdletContext.CacheNodeType; } if (cmdletContext.CacheParameterGroupName != null) { request.CacheParameterGroupName = cmdletContext.CacheParameterGroupName; } if (cmdletContext.CacheSecurityGroupName != null) { request.CacheSecurityGroupNames = cmdletContext.CacheSecurityGroupName; } if (cmdletContext.CacheSubnetGroupName != null) { request.CacheSubnetGroupName = cmdletContext.CacheSubnetGroupName; } if (cmdletContext.Engine != null) { request.Engine = cmdletContext.Engine; } if (cmdletContext.EngineVersion != null) { request.EngineVersion = cmdletContext.EngineVersion; } if (cmdletContext.NotificationTopicArn != null) { request.NotificationTopicArn = cmdletContext.NotificationTopicArn; } if (cmdletContext.NumCacheNode != null) { request.NumCacheNodes = cmdletContext.NumCacheNode.Value; } if (cmdletContext.OutpostMode != null) { request.OutpostMode = cmdletContext.OutpostMode; } if (cmdletContext.Port != null) { request.Port = cmdletContext.Port.Value; } if (cmdletContext.PreferredAvailabilityZone != null) { request.PreferredAvailabilityZone = cmdletContext.PreferredAvailabilityZone; } if (cmdletContext.PreferredAvailabilityZoneSet != null) { request.PreferredAvailabilityZones = cmdletContext.PreferredAvailabilityZoneSet; } if (cmdletContext.PreferredMaintenanceWindow != null) { request.PreferredMaintenanceWindow = cmdletContext.PreferredMaintenanceWindow; } if (cmdletContext.PreferredOutpostArn != null) { request.PreferredOutpostArn = cmdletContext.PreferredOutpostArn; } if (cmdletContext.PreferredOutpostArnSet != null) { request.PreferredOutpostArns = cmdletContext.PreferredOutpostArnSet; } if (cmdletContext.ReplicationGroupId != null) { request.ReplicationGroupId = cmdletContext.ReplicationGroupId; } if (cmdletContext.SecurityGroupId != null) { request.SecurityGroupIds = cmdletContext.SecurityGroupId; } if (cmdletContext.SnapshotArn != null) { request.SnapshotArns = cmdletContext.SnapshotArn; } if (cmdletContext.SnapshotName != null) { request.SnapshotName = cmdletContext.SnapshotName; } if (cmdletContext.SnapshotRetentionLimit != null) { request.SnapshotRetentionLimit = cmdletContext.SnapshotRetentionLimit.Value; } if (cmdletContext.SnapshotWindow != null) { request.SnapshotWindow = cmdletContext.SnapshotWindow; } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }
private Amazon.ElastiCache.Model.CreateCacheClusterResponse CallAWSServiceOperation(IAmazonElastiCache client, Amazon.ElastiCache.Model.CreateCacheClusterRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon ElastiCache", "CreateCacheCluster"); try { #if DESKTOP return(client.CreateCacheCluster(request)); #elif CORECLR return(client.CreateCacheClusterAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }
/// <summary> /// Initiates the asynchronous execution of the CreateCacheCluster operation. /// <seealso cref="Amazon.ElastiCache.IAmazonElastiCache.CreateCacheCluster"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateCacheCluster operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<CreateCacheClusterResponse> CreateCacheClusterAsync(CreateCacheClusterRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateCacheClusterRequestMarshaller(); var unmarshaller = CreateCacheClusterResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreateCacheClusterRequest, CreateCacheClusterResponse>(request, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the CreateCacheCluster operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateCacheCluster operation on AmazonElastiCacheClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateCacheCluster /// operation.</returns> public IAsyncResult BeginCreateCacheCluster(CreateCacheClusterRequest request, AsyncCallback callback, object state) { var marshaller = new CreateCacheClusterRequestMarshaller(); var unmarshaller = CreateCacheClusterResponseUnmarshaller.Instance; return BeginInvoke<CreateCacheClusterRequest>(request, marshaller, unmarshaller, callback, state); }
IAsyncResult invokeCreateCacheCluster(CreateCacheClusterRequest createCacheClusterRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new CreateCacheClusterRequestMarshaller().Marshall(createCacheClusterRequest); var unmarshaller = CreateCacheClusterResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para>The <i>CreateCacheCluster</i> operation creates a new cache cluster. All nodes in the cache cluster run the same protocol-compliant /// cache engine software - either Memcached or Redis.</para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateCacheCluster service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateCacheCluster service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="T:Amazon.ElastiCache.Model.NodeQuotaForCustomerExceededException" /> /// <exception cref="T:Amazon.ElastiCache.Model.ClusterQuotaForCustomerExceededException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheClusterAlreadyExistsException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InsufficientCacheClusterCapacityException" /> /// <exception cref="T:Amazon.ElastiCache.Model.ReplicationGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterCombinationException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheParameterGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheSecurityGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.NodeQuotaForClusterExceededException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheSubnetGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidReplicationGroupStateException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterValueException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidVPCNetworkStateException" /> public CreateCacheClusterResponse CreateCacheCluster(CreateCacheClusterRequest request) { var task = CreateCacheClusterAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the CreateCacheCluster operation. /// <seealso cref="Amazon.ElastiCache.IAmazonElastiCache.CreateCacheCluster"/> /// </summary> /// /// <param name="createCacheClusterRequest">Container for the necessary parameters to execute the CreateCacheCluster operation on /// AmazonElastiCache.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking /// EndCreateCacheCluster operation.</returns> public IAsyncResult BeginCreateCacheCluster(CreateCacheClusterRequest createCacheClusterRequest, AsyncCallback callback, object state) { return invokeCreateCacheCluster(createCacheClusterRequest, callback, state, false); }
/// <summary> /// <para>The <i>CreateCacheCluster</i> operation creates a new cache cluster. All nodes in the cache cluster run the same protocol-compliant /// cache engine software - either Memcached or Redis.</para> /// </summary> /// /// <param name="createCacheClusterRequest">Container for the necessary parameters to execute the CreateCacheCluster service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateCacheCluster service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="NodeQuotaForCustomerExceededException"/> /// <exception cref="ClusterQuotaForCustomerExceededException"/> /// <exception cref="CacheClusterAlreadyExistsException"/> /// <exception cref="InsufficientCacheClusterCapacityException"/> /// <exception cref="ReplicationGroupNotFoundException"/> /// <exception cref="InvalidParameterCombinationException"/> /// <exception cref="CacheParameterGroupNotFoundException"/> /// <exception cref="CacheSecurityGroupNotFoundException"/> /// <exception cref="NodeQuotaForClusterExceededException"/> /// <exception cref="CacheSubnetGroupNotFoundException"/> /// <exception cref="InvalidReplicationGroupStateException"/> /// <exception cref="InvalidParameterValueException"/> /// <exception cref="InvalidVPCNetworkStateException"/> public CreateCacheClusterResponse CreateCacheCluster(CreateCacheClusterRequest createCacheClusterRequest) { IAsyncResult asyncResult = invokeCreateCacheCluster(createCacheClusterRequest, null, null, true); return EndCreateCacheCluster(asyncResult); }
/// <summary> /// <para>The <i>CreateCacheCluster</i> operation creates a new cache cluster. All nodes in the cache cluster run the same protocol-compliant /// cache engine software - either Memcached or Redis.</para> /// </summary> /// /// <param name="createCacheClusterRequest">Container for the necessary parameters to execute the CreateCacheCluster service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateCacheCluster service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="T:Amazon.ElastiCache.Model.NodeQuotaForCustomerExceededException" /> /// <exception cref="T:Amazon.ElastiCache.Model.ClusterQuotaForCustomerExceededException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheClusterAlreadyExistsException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InsufficientCacheClusterCapacityException" /> /// <exception cref="T:Amazon.ElastiCache.Model.ReplicationGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterCombinationException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheParameterGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheSecurityGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.NodeQuotaForClusterExceededException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheSubnetGroupNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidReplicationGroupStateException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterValueException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidVPCNetworkStateException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public async Task<CreateCacheClusterResponse> CreateCacheClusterAsync(CreateCacheClusterRequest createCacheClusterRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateCacheClusterRequestMarshaller(); var unmarshaller = CreateCacheClusterResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, CreateCacheClusterRequest, CreateCacheClusterResponse>(createCacheClusterRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
internal CreateCacheClusterResponse CreateCacheCluster(CreateCacheClusterRequest request) { var task = CreateCacheClusterAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <summary> /// <para> Creates a new Cache Cluster. </para> /// </summary> /// /// <param name="createCacheClusterRequest">Container for the necessary parameters to execute the CreateCacheCluster service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateCacheCluster service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="NodeQuotaForCustomerExceededException"/> /// <exception cref="NodeQuotaForClusterExceededException"/> /// <exception cref="InvalidParameterValueException"/> /// <exception cref="ClusterQuotaForCustomerExceededException"/> /// <exception cref="CacheClusterAlreadyExistsException"/> /// <exception cref="InsufficientCacheClusterCapacityException"/> /// <exception cref="InvalidParameterCombinationException"/> /// <exception cref="CacheParameterGroupNotFoundException"/> /// <exception cref="CacheSecurityGroupNotFoundException"/> public CreateCacheClusterResponse CreateCacheCluster(CreateCacheClusterRequest createCacheClusterRequest) { IRequest<CreateCacheClusterRequest> request = new CreateCacheClusterRequestMarshaller().Marshall(createCacheClusterRequest); CreateCacheClusterResponse response = Invoke<CreateCacheClusterRequest, CreateCacheClusterResponse> (request, this.signer, CreateCacheClusterResponseUnmarshaller.GetInstance()); return response; }