/// <summary> /// <para> Modify settings for a DB Instance. You can change one or more database configuration parameters by specifying these parameters and /// the new values in the request. </para> /// </summary> /// /// <param name="modifyDBInstanceRequest">Container for the necessary parameters to execute the ModifyDBInstance service method on /// AmazonRDS.</param> /// /// <returns>The response from the ModifyDBInstance service method, as returned by AmazonRDS.</returns> /// /// <exception cref="DBParameterGroupNotFoundException"/> /// <exception cref="DBInstanceNotFoundException"/> /// <exception cref="InvalidDBInstanceStateException"/> /// <exception cref="DBSecurityGroupNotFoundException"/> /// <exception cref="InvalidDBSecurityGroupStateException"/> /// <exception cref="InsufficientDBInstanceCapacityException"/> public ModifyDBInstanceResponse ModifyDBInstance(ModifyDBInstanceRequest modifyDBInstanceRequest) { IRequest <ModifyDBInstanceRequest> request = new ModifyDBInstanceRequestMarshaller().Marshall(modifyDBInstanceRequest); ModifyDBInstanceResponse response = Invoke <ModifyDBInstanceRequest, ModifyDBInstanceResponse> (request, this.signer, ModifyDBInstanceResponseUnmarshaller.GetInstance()); return(response); }
private static IDictionary <string, string> ConvertModifyDBInstance(ModifyDBInstanceRequest request) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary["Action"] = "ModifyDBInstance"; if (request.IsSetDBInstanceIdentifier()) { dictionary["DBInstanceIdentifier"] = request.DBInstanceIdentifier; } if (request.IsSetAllocatedStorage()) { dictionary["AllocatedStorage"] = request.AllocatedStorage.ToString(); } if (request.IsSetDBInstanceClass()) { dictionary["DBInstanceClass"] = request.DBInstanceClass; } List <string> dBSecurityGroups = request.DBSecurityGroups; int num = 1; foreach (string str in dBSecurityGroups) { dictionary["DBSecurityGroups" + ".member." + num] = str; num++; } if (request.IsSetApplyImmediately()) { dictionary["ApplyImmediately"] = request.ApplyImmediately.ToString().ToLower(); } if (request.IsSetMasterUserPassword()) { dictionary["MasterUserPassword"] = request.MasterUserPassword; } if (request.IsSetDBParameterGroupName()) { dictionary["DBParameterGroupName"] = request.DBParameterGroupName; } if (request.IsSetBackupRetentionPeriod()) { dictionary["BackupRetentionPeriod"] = request.BackupRetentionPeriod.ToString(); } if (request.IsSetPreferredBackupWindow()) { dictionary["PreferredBackupWindow"] = request.PreferredBackupWindow; } if (request.IsSetPreferredMaintenanceWindow()) { dictionary["PreferredMaintenanceWindow"] = request.PreferredMaintenanceWindow; } return(dictionary); }
private async Task <string> RenameOldInstance(DBInstance instance) { string newName = instance.DBInstanceIdentifier + "-old"; _logger.Info($"Renaming {instance.DBInstanceIdentifier} to {newName}"); ModifyDBInstanceRequest modifyDBInstanceRequest = new ModifyDBInstanceRequest() { DBInstanceIdentifier = instance.DBInstanceIdentifier, NewDBInstanceIdentifier = newName, ApplyImmediately = true }; ModifyDBInstanceResponse modifyResponse = await _rdsClient.ModifyDBInstanceAsync(modifyDBInstanceRequest); await WaitForDBToHaveName(instance.DbiResourceId, newName); _logger.Info("Rename successful."); return(newName); }
public async Task StopRdsInstance(string instanceIdentifier) { var instance = await GetRDSInstance(); var isMultiAZ = instance.MultiAZ; if (isMultiAZ) { ModifyDBInstanceRequest request = new ModifyDBInstanceRequest(); request.MultiAZ = false; request.ApplyImmediately = true; request.DBInstanceIdentifier = instanceIdentifier; try { var response = await client.ModifyDBInstanceAsync(request); isMultiAZ = response.DBInstance.MultiAZ; while (isMultiAZ) { await Task.Delay(3000); var newResponse = await GetRDSInstance(); isMultiAZ = newResponse.MultiAZ; } } catch (Exception ex) { ; } } var stopRequest = new StopDBInstanceRequest() { DBInstanceIdentifier = instanceIdentifier }; await client.StopDBInstanceAsync(stopRequest); }
public ModifyDBInstanceResponse ModifyDBInstance(ModifyDBInstanceRequest request) { return(this.Invoke <ModifyDBInstanceResponse>(ConvertModifyDBInstance(request))); }