/// <summary> /// Initiates the asynchronous execution of the CreateReplicationGroup operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateReplicationGroup 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<CreateReplicationGroupResponse> CreateReplicationGroupAsync(CreateReplicationGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateReplicationGroupRequestMarshaller(); var unmarshaller = CreateReplicationGroupResponseUnmarshaller.Instance; return InvokeAsync<CreateReplicationGroupRequest,CreateReplicationGroupResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the CreateReplicationGroup operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateReplicationGroup 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 EndCreateReplicationGroup /// operation.</returns> public IAsyncResult BeginCreateReplicationGroup(CreateReplicationGroupRequest request, AsyncCallback callback, object state) { var marshaller = new CreateReplicationGroupRequestMarshaller(); var unmarshaller = CreateReplicationGroupResponseUnmarshaller.Instance; return BeginInvoke<CreateReplicationGroupRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// The <i>CreateReplicationGroup</i> operation creates a replication group. A replication /// group is a collection of cache clusters, where one of the cache clusters is a read/write /// primary and the others are read-only replicas. Writes to the primary are automatically /// propagated to the replicas. /// /// /// <para> /// When you create a replication group, you must specify an existing cache cluster that /// is in the primary role. When the replication group has been successfully created, /// you can add one or more read replica replicas to it, up to a total of five read replicas. /// </para> /// /// <para> /// <b>Note:</b> This action is valid only for Redis. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateReplicationGroup service method.</param> /// /// <returns>The response from the CreateReplicationGroup service method, as returned by ElastiCache.</returns> /// <exception cref="Amazon.ElastiCache.Model.CacheClusterNotFoundException"> /// The requested cache cluster ID does not refer to an existing cache cluster. /// </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.InvalidCacheClusterStateException"> /// The requested cache cluster is not in the <i>available</i> state. /// </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.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.ReplicationGroupAlreadyExistsException"> /// The specified replication group already exists. /// </exception> public CreateReplicationGroupResponse CreateReplicationGroup(CreateReplicationGroupRequest request) { var marshaller = new CreateReplicationGroupRequestMarshaller(); var unmarshaller = CreateReplicationGroupResponseUnmarshaller.Instance; return Invoke<CreateReplicationGroupRequest,CreateReplicationGroupResponse>(request, marshaller, unmarshaller); }
/// <summary> /// <para>The <i>CreateReplicationGroup</i> operation creates a replication group. A replication group is a collection of cache clusters, where /// one of the clusters is a read/write primary and the other clusters are read-only replicas. Writes to the primary are automatically /// propagated to the replicas.</para> <para>When you create a replication group, you must specify an existing cache cluster that is in the /// primary role. When the replication group has been successfully created, you can add one or more read replica replicas to it, up to a total /// of five read replicas.</para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateReplicationGroup service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateReplicationGroup service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="T:Amazon.ElastiCache.Model.ReplicationGroupAlreadyExistsException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterValueException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheClusterNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterCombinationException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidCacheClusterStateException" /> public CreateReplicationGroupResponse CreateReplicationGroup(CreateReplicationGroupRequest request) { var task = CreateReplicationGroupAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the CreateReplicationGroup operation. /// <seealso cref="Amazon.ElastiCache.IAmazonElastiCache.CreateReplicationGroup"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateReplicationGroup 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<CreateReplicationGroupResponse> CreateReplicationGroupAsync(CreateReplicationGroupRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateReplicationGroupRequestMarshaller(); var unmarshaller = CreateReplicationGroupResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreateReplicationGroupRequest, CreateReplicationGroupResponse>(request, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the CreateReplicationGroup operation. /// <seealso cref="Amazon.ElastiCache.IAmazonElastiCache.CreateReplicationGroup"/> /// </summary> /// /// <param name="createReplicationGroupRequest">Container for the necessary parameters to execute the CreateReplicationGroup 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 /// EndCreateReplicationGroup operation.</returns> public IAsyncResult BeginCreateReplicationGroup(CreateReplicationGroupRequest createReplicationGroupRequest, AsyncCallback callback, object state) { return invokeCreateReplicationGroup(createReplicationGroupRequest, callback, state, false); }
IAsyncResult invokeCreateReplicationGroup(CreateReplicationGroupRequest createReplicationGroupRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new CreateReplicationGroupRequestMarshaller().Marshall(createReplicationGroupRequest); var unmarshaller = CreateReplicationGroupResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para>The <i>CreateReplicationGroup</i> operation creates a replication group. A replication group is a collection of cache clusters, where /// one of the clusters is a read/write primary and the other clusters are read-only replicas. Writes to the primary are automatically /// propagated to the replicas.</para> <para>When you create a replication group, you must specify an existing cache cluster that is in the /// primary role. When the replication group has been successfully created, you can add one or more read replica replicas to it, up to a total /// of five read replicas.</para> /// </summary> /// /// <param name="createReplicationGroupRequest">Container for the necessary parameters to execute the CreateReplicationGroup service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateReplicationGroup service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="ReplicationGroupAlreadyExistsException"/> /// <exception cref="InvalidParameterValueException"/> /// <exception cref="CacheClusterNotFoundException"/> /// <exception cref="InvalidParameterCombinationException"/> /// <exception cref="InvalidCacheClusterStateException"/> public CreateReplicationGroupResponse CreateReplicationGroup(CreateReplicationGroupRequest createReplicationGroupRequest) { IAsyncResult asyncResult = invokeCreateReplicationGroup(createReplicationGroupRequest, null, null, true); return EndCreateReplicationGroup(asyncResult); }
/// <summary> /// <para>The <i>CreateReplicationGroup</i> operation creates a replication group. A replication group is a collection of cache clusters, where /// one of the clusters is a read/write primary and the other clusters are read-only replicas. Writes to the primary are automatically /// propagated to the replicas.</para> <para>When you create a replication group, you must specify an existing cache cluster that is in the /// primary role. When the replication group has been successfully created, you can add one or more read replica replicas to it, up to a total /// of five read replicas.</para> /// </summary> /// /// <param name="createReplicationGroupRequest">Container for the necessary parameters to execute the CreateReplicationGroup service method on /// AmazonElastiCache.</param> /// /// <returns>The response from the CreateReplicationGroup service method, as returned by AmazonElastiCache.</returns> /// /// <exception cref="T:Amazon.ElastiCache.Model.ReplicationGroupAlreadyExistsException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterValueException" /> /// <exception cref="T:Amazon.ElastiCache.Model.CacheClusterNotFoundException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidParameterCombinationException" /> /// <exception cref="T:Amazon.ElastiCache.Model.InvalidCacheClusterStateException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public async Task<CreateReplicationGroupResponse> CreateReplicationGroupAsync(CreateReplicationGroupRequest createReplicationGroupRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateReplicationGroupRequestMarshaller(); var unmarshaller = CreateReplicationGroupResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, CreateReplicationGroupRequest, CreateReplicationGroupResponse>(createReplicationGroupRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
internal CreateReplicationGroupResponse CreateReplicationGroup(CreateReplicationGroupRequest request) { var task = CreateReplicationGroupAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
private Amazon.ElastiCache.Model.CreateReplicationGroupResponse CallAWSServiceOperation(IAmazonElastiCache client, Amazon.ElastiCache.Model.CreateReplicationGroupRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon ElastiCache", "CreateReplicationGroup"); try { #if DESKTOP return(client.CreateReplicationGroup(request)); #elif CORECLR return(client.CreateReplicationGroupAsync(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; } }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.ElastiCache.Model.CreateReplicationGroupRequest(); if (cmdletContext.AtRestEncryptionEnabled != null) { request.AtRestEncryptionEnabled = cmdletContext.AtRestEncryptionEnabled.Value; } if (cmdletContext.AuthToken != null) { request.AuthToken = cmdletContext.AuthToken; } if (cmdletContext.AutomaticFailoverEnabled != null) { request.AutomaticFailoverEnabled = cmdletContext.AutomaticFailoverEnabled.Value; } if (cmdletContext.AutoMinorVersionUpgrade != null) { request.AutoMinorVersionUpgrade = cmdletContext.AutoMinorVersionUpgrade.Value; } 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.KmsKeyId != null) { request.KmsKeyId = cmdletContext.KmsKeyId; } if (cmdletContext.NodeGroupConfiguration != null) { request.NodeGroupConfiguration = cmdletContext.NodeGroupConfiguration; } if (cmdletContext.NotificationTopicArn != null) { request.NotificationTopicArn = cmdletContext.NotificationTopicArn; } if (cmdletContext.NumCacheCluster != null) { request.NumCacheClusters = cmdletContext.NumCacheCluster.Value; } if (cmdletContext.NumNodeGroup != null) { request.NumNodeGroups = cmdletContext.NumNodeGroup.Value; } if (cmdletContext.Port != null) { request.Port = cmdletContext.Port.Value; } if (cmdletContext.PreferredCacheClusterAZs != null) { request.PreferredCacheClusterAZs = cmdletContext.PreferredCacheClusterAZs; } if (cmdletContext.PreferredMaintenanceWindow != null) { request.PreferredMaintenanceWindow = cmdletContext.PreferredMaintenanceWindow; } if (cmdletContext.PrimaryClusterId != null) { request.PrimaryClusterId = cmdletContext.PrimaryClusterId; } if (cmdletContext.ReplicasPerNodeGroup != null) { request.ReplicasPerNodeGroup = cmdletContext.ReplicasPerNodeGroup.Value; } if (cmdletContext.ReplicationGroupDescription != null) { request.ReplicationGroupDescription = cmdletContext.ReplicationGroupDescription; } 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; } if (cmdletContext.TransitEncryptionEnabled != null) { request.TransitEncryptionEnabled = cmdletContext.TransitEncryptionEnabled.Value; } 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); }