/// <summary> /// Initiates the asynchronous execution of the RestoreDBClusterFromSnapshot operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RestoreDBClusterFromSnapshot 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<RestoreDBClusterFromSnapshotResponse> RestoreDBClusterFromSnapshotAsync(RestoreDBClusterFromSnapshotRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new RestoreDBClusterFromSnapshotRequestMarshaller(); var unmarshaller = RestoreDBClusterFromSnapshotResponseUnmarshaller.Instance; return InvokeAsync<RestoreDBClusterFromSnapshotRequest,RestoreDBClusterFromSnapshotResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Creates a new DB cluster from a DB cluster snapshot. The target DB cluster is created /// from the source DB cluster restore point with the same configuration as the original /// source DB cluster, except that the new DB cluster is created with the default security /// group. /// /// /// <para> /// For more information on Amazon Aurora, see <a href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html">Aurora /// on Amazon RDS</a> in the <i>Amazon RDS User Guide.</i> /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the RestoreDBClusterFromSnapshot service method.</param> /// /// <returns>The response from the RestoreDBClusterFromSnapshot service method, as returned by RDS.</returns> /// <exception cref="Amazon.RDS.Model.DBClusterAlreadyExistsException"> /// User already has a DB cluster with the given identifier. /// </exception> /// <exception cref="Amazon.RDS.Model.DBClusterQuotaExceededException"> /// User attempted to create a new DB cluster and the user has already reached the maximum /// allowed DB cluster quota. /// </exception> /// <exception cref="Amazon.RDS.Model.DBClusterSnapshotNotFoundException"> /// <i>DBClusterSnapshotIdentifier</i> does not refer to an existing DB cluster snapshot. /// </exception> /// <exception cref="Amazon.RDS.Model.DBSnapshotNotFoundException"> /// <i>DBSnapshotIdentifier</i> does not refer to an existing DB snapshot. /// </exception> /// <exception cref="Amazon.RDS.Model.DBSubnetGroupNotFoundException"> /// <i>DBSubnetGroupName</i> does not refer to an existing DB subnet group. /// </exception> /// <exception cref="Amazon.RDS.Model.DBSubnetGroupNotFoundException"> /// <i>DBSubnetGroupName</i> does not refer to an existing DB subnet group. /// </exception> /// <exception cref="Amazon.RDS.Model.InsufficientDBClusterCapacityException"> /// The DB cluster does not have enough capacity for the current operation. /// </exception> /// <exception cref="Amazon.RDS.Model.InsufficientStorageClusterCapacityException"> /// There is insufficient storage available for the current action. You may be able to /// resolve this error by updating your subnet group to use different Availability Zones /// that have more storage available. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidDBClusterSnapshotStateException"> /// The supplied value is not a valid DB cluster snapshot state. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidDBSnapshotStateException"> /// The state of the DB snapshot does not allow deletion. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidRestoreException"> /// Cannot restore from vpc backup to non-vpc DB instance. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidSubnetException"> /// The requested subnet is invalid, or multiple subnets were requested that are not /// all in a common VPC. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidVPCNetworkStateException"> /// DB subnet group does not cover all Availability Zones after it is created because /// users' change. /// </exception> /// <exception cref="Amazon.RDS.Model.KMSKeyNotAccessibleException"> /// Error accessing KMS key. /// </exception> /// <exception cref="Amazon.RDS.Model.OptionGroupNotFoundException"> /// The specified option group could not be found. /// </exception> /// <exception cref="Amazon.RDS.Model.StorageQuotaExceededException"> /// Request would result in user exceeding the allowed amount of storage available across /// all DB instances. /// </exception> /// <exception cref="Amazon.RDS.Model.StorageQuotaExceededException"> /// Request would result in user exceeding the allowed amount of storage available across /// all DB instances. /// </exception> public RestoreDBClusterFromSnapshotResponse RestoreDBClusterFromSnapshot(RestoreDBClusterFromSnapshotRequest request) { var marshaller = new RestoreDBClusterFromSnapshotRequestMarshaller(); var unmarshaller = RestoreDBClusterFromSnapshotResponseUnmarshaller.Instance; return Invoke<RestoreDBClusterFromSnapshotRequest,RestoreDBClusterFromSnapshotResponse>(request, marshaller, unmarshaller); }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.RDS.Model.RestoreDBClusterFromSnapshotRequest(); if (cmdletContext.AvailabilityZone != null) { request.AvailabilityZones = cmdletContext.AvailabilityZone; } if (cmdletContext.BacktrackWindow != null) { request.BacktrackWindow = cmdletContext.BacktrackWindow.Value; } if (cmdletContext.CopyTagsToSnapshot != null) { request.CopyTagsToSnapshot = cmdletContext.CopyTagsToSnapshot.Value; } if (cmdletContext.DatabaseName != null) { request.DatabaseName = cmdletContext.DatabaseName; } if (cmdletContext.DBClusterIdentifier != null) { request.DBClusterIdentifier = cmdletContext.DBClusterIdentifier; } if (cmdletContext.DBClusterParameterGroupName != null) { request.DBClusterParameterGroupName = cmdletContext.DBClusterParameterGroupName; } if (cmdletContext.DBSubnetGroupName != null) { request.DBSubnetGroupName = cmdletContext.DBSubnetGroupName; } if (cmdletContext.DeletionProtection != null) { request.DeletionProtection = cmdletContext.DeletionProtection.Value; } if (cmdletContext.Domain != null) { request.Domain = cmdletContext.Domain; } if (cmdletContext.DomainIAMRoleName != null) { request.DomainIAMRoleName = cmdletContext.DomainIAMRoleName; } if (cmdletContext.EnableCloudwatchLogsExport != null) { request.EnableCloudwatchLogsExports = cmdletContext.EnableCloudwatchLogsExport; } if (cmdletContext.EnableIAMDatabaseAuthentication != null) { request.EnableIAMDatabaseAuthentication = cmdletContext.EnableIAMDatabaseAuthentication.Value; } if (cmdletContext.Engine != null) { request.Engine = cmdletContext.Engine; } if (cmdletContext.EngineMode != null) { request.EngineMode = cmdletContext.EngineMode; } if (cmdletContext.EngineVersion != null) { request.EngineVersion = cmdletContext.EngineVersion; } if (cmdletContext.KmsKeyId != null) { request.KmsKeyId = cmdletContext.KmsKeyId; } if (cmdletContext.OptionGroupName != null) { request.OptionGroupName = cmdletContext.OptionGroupName; } if (cmdletContext.Port != null) { request.Port = cmdletContext.Port.Value; } // populate ScalingConfiguration var requestScalingConfigurationIsNull = true; request.ScalingConfiguration = new Amazon.RDS.Model.ScalingConfiguration(); System.Boolean?requestScalingConfiguration_scalingConfiguration_AutoPause = null; if (cmdletContext.ScalingConfiguration_AutoPause != null) { requestScalingConfiguration_scalingConfiguration_AutoPause = cmdletContext.ScalingConfiguration_AutoPause.Value; } if (requestScalingConfiguration_scalingConfiguration_AutoPause != null) { request.ScalingConfiguration.AutoPause = requestScalingConfiguration_scalingConfiguration_AutoPause.Value; requestScalingConfigurationIsNull = false; } System.Int32?requestScalingConfiguration_scalingConfiguration_MaxCapacity = null; if (cmdletContext.ScalingConfiguration_MaxCapacity != null) { requestScalingConfiguration_scalingConfiguration_MaxCapacity = cmdletContext.ScalingConfiguration_MaxCapacity.Value; } if (requestScalingConfiguration_scalingConfiguration_MaxCapacity != null) { request.ScalingConfiguration.MaxCapacity = requestScalingConfiguration_scalingConfiguration_MaxCapacity.Value; requestScalingConfigurationIsNull = false; } System.Int32?requestScalingConfiguration_scalingConfiguration_MinCapacity = null; if (cmdletContext.ScalingConfiguration_MinCapacity != null) { requestScalingConfiguration_scalingConfiguration_MinCapacity = cmdletContext.ScalingConfiguration_MinCapacity.Value; } if (requestScalingConfiguration_scalingConfiguration_MinCapacity != null) { request.ScalingConfiguration.MinCapacity = requestScalingConfiguration_scalingConfiguration_MinCapacity.Value; requestScalingConfigurationIsNull = false; } System.Int32?requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause = null; if (cmdletContext.ScalingConfiguration_SecondsUntilAutoPause != null) { requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause = cmdletContext.ScalingConfiguration_SecondsUntilAutoPause.Value; } if (requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause != null) { request.ScalingConfiguration.SecondsUntilAutoPause = requestScalingConfiguration_scalingConfiguration_SecondsUntilAutoPause.Value; requestScalingConfigurationIsNull = false; } System.String requestScalingConfiguration_scalingConfiguration_TimeoutAction = null; if (cmdletContext.ScalingConfiguration_TimeoutAction != null) { requestScalingConfiguration_scalingConfiguration_TimeoutAction = cmdletContext.ScalingConfiguration_TimeoutAction; } if (requestScalingConfiguration_scalingConfiguration_TimeoutAction != null) { request.ScalingConfiguration.TimeoutAction = requestScalingConfiguration_scalingConfiguration_TimeoutAction; requestScalingConfigurationIsNull = false; } // determine if request.ScalingConfiguration should be set to null if (requestScalingConfigurationIsNull) { request.ScalingConfiguration = null; } if (cmdletContext.SnapshotIdentifier != null) { request.SnapshotIdentifier = cmdletContext.SnapshotIdentifier; } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; } if (cmdletContext.VpcSecurityGroupId != null) { request.VpcSecurityGroupIds = cmdletContext.VpcSecurityGroupId; } 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.RDS.Model.RestoreDBClusterFromSnapshotResponse CallAWSServiceOperation(IAmazonRDS client, Amazon.RDS.Model.RestoreDBClusterFromSnapshotRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Relational Database Service", "RestoreDBClusterFromSnapshot"); try { #if DESKTOP return(client.RestoreDBClusterFromSnapshot(request)); #elif CORECLR return(client.RestoreDBClusterFromSnapshotAsync(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 RestoreDBClusterFromSnapshot operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RestoreDBClusterFromSnapshot operation on AmazonRDSClient.</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 EndRestoreDBClusterFromSnapshot /// operation.</returns> public IAsyncResult BeginRestoreDBClusterFromSnapshot(RestoreDBClusterFromSnapshotRequest request, AsyncCallback callback, object state) { var marshaller = new RestoreDBClusterFromSnapshotRequestMarshaller(); var unmarshaller = RestoreDBClusterFromSnapshotResponseUnmarshaller.Instance; return BeginInvoke<RestoreDBClusterFromSnapshotRequest>(request, marshaller, unmarshaller, callback, state); }