private Amazon.RDS.Model.RestoreDBClusterFromS3Response CallAWSServiceOperation(IAmazonRDS client, Amazon.RDS.Model.RestoreDBClusterFromS3Request request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Relational Database Service", "RestoreDBClusterFromS3"); try { #if DESKTOP return(client.RestoreDBClusterFromS3(request)); #elif CORECLR return(client.RestoreDBClusterFromS3Async(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.RDS.Model.RestoreDBClusterFromS3Request(); if (cmdletContext.AvailabilityZone != null) { request.AvailabilityZones = cmdletContext.AvailabilityZone; } if (cmdletContext.BacktrackWindow != null) { request.BacktrackWindow = cmdletContext.BacktrackWindow.Value; } if (cmdletContext.BackupRetentionPeriod != null) { request.BackupRetentionPeriod = cmdletContext.BackupRetentionPeriod.Value; } if (cmdletContext.CharacterSetName != null) { request.CharacterSetName = cmdletContext.CharacterSetName; } 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.EngineVersion != null) { request.EngineVersion = cmdletContext.EngineVersion; } if (cmdletContext.KmsKeyId != null) { request.KmsKeyId = cmdletContext.KmsKeyId; } if (cmdletContext.MasterUsername != null) { request.MasterUsername = cmdletContext.MasterUsername; } if (cmdletContext.MasterUserPassword != null) { request.MasterUserPassword = cmdletContext.MasterUserPassword; } if (cmdletContext.OptionGroupName != null) { request.OptionGroupName = cmdletContext.OptionGroupName; } if (cmdletContext.Port != null) { request.Port = cmdletContext.Port.Value; } if (cmdletContext.PreferredBackupWindow != null) { request.PreferredBackupWindow = cmdletContext.PreferredBackupWindow; } if (cmdletContext.PreferredMaintenanceWindow != null) { request.PreferredMaintenanceWindow = cmdletContext.PreferredMaintenanceWindow; } if (cmdletContext.S3BucketName != null) { request.S3BucketName = cmdletContext.S3BucketName; } if (cmdletContext.S3IngestionRoleArn != null) { request.S3IngestionRoleArn = cmdletContext.S3IngestionRoleArn; } if (cmdletContext.S3Prefix != null) { request.S3Prefix = cmdletContext.S3Prefix; } if (cmdletContext.SourceEngine != null) { request.SourceEngine = cmdletContext.SourceEngine; } if (cmdletContext.SourceEngineVersion != null) { request.SourceEngineVersion = cmdletContext.SourceEngineVersion; } if (cmdletContext.StorageEncrypted != null) { request.StorageEncrypted = cmdletContext.StorageEncrypted.Value; } 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); }
/// <summary> /// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon /// RDS must be authorized to access the Amazon S3 bucket and the data must be created /// using the Percona XtraBackup utility as described in <a href="AmazonRDS/latest/UserGuide/Aurora.Migrate.MySQL.html#Aurora.Migrate.MySQL.S3">Migrating /// Data from MySQL by Using an Amazon S3 Bucket</a>. /// </summary> /// <param name="request">Container for the necessary parameters to execute the RestoreDBClusterFromS3 service method.</param> /// /// <returns>The response from the RestoreDBClusterFromS3 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.DBClusterNotFoundException"> /// <i>DBClusterIdentifier</i> does not refer to an existing DB cluster. /// </exception> /// <exception cref="Amazon.RDS.Model.DBClusterParameterGroupNotFoundException"> /// <i>DBClusterParameterGroupName</i> does not refer to an existing DB Cluster parameter /// group. /// </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.DBSubnetGroupNotFoundException"> /// <i>DBSubnetGroupName</i> does not refer to an existing DB subnet group. /// </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.InvalidDBClusterStateException"> /// The DB cluster is not in a valid state. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidDBSubnetGroupStateException"> /// The DB subnet group cannot be deleted because it is in use. /// </exception> /// <exception cref="Amazon.RDS.Model.InvalidS3BucketException"> /// The specified Amazon S3 bucket name could not be found or Amazon RDS is not authorized /// to access the specified Amazon S3 bucket. Verify the <b>SourceS3BucketName</b> and /// <b>S3IngestionRoleArn</b> values and try again. /// </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.StorageQuotaExceededException"> /// Request would result in user exceeding the allowed amount of storage available across /// all DB instances. /// </exception> public RestoreDBClusterFromS3Response RestoreDBClusterFromS3(RestoreDBClusterFromS3Request request) { var marshaller = new RestoreDBClusterFromS3RequestMarshaller(); var unmarshaller = RestoreDBClusterFromS3ResponseUnmarshaller.Instance; return Invoke<RestoreDBClusterFromS3Request,RestoreDBClusterFromS3Response>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the RestoreDBClusterFromS3 operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RestoreDBClusterFromS3 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<RestoreDBClusterFromS3Response> RestoreDBClusterFromS3Async(RestoreDBClusterFromS3Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new RestoreDBClusterFromS3RequestMarshaller(); var unmarshaller = RestoreDBClusterFromS3ResponseUnmarshaller.Instance; return InvokeAsync<RestoreDBClusterFromS3Request,RestoreDBClusterFromS3Response>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the RestoreDBClusterFromS3 operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RestoreDBClusterFromS3 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 EndRestoreDBClusterFromS3 /// operation.</returns> public IAsyncResult BeginRestoreDBClusterFromS3(RestoreDBClusterFromS3Request request, AsyncCallback callback, object state) { var marshaller = new RestoreDBClusterFromS3RequestMarshaller(); var unmarshaller = RestoreDBClusterFromS3ResponseUnmarshaller.Instance; return BeginInvoke<RestoreDBClusterFromS3Request>(request, marshaller, unmarshaller, callback, state); }