public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonNeptuneConfig config = new AmazonNeptuneConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonNeptuneClient client = new AmazonNeptuneClient(creds, config); DescribeDBInstancesResponse resp = new DescribeDBInstancesResponse(); do { DescribeDBInstancesRequest req = new DescribeDBInstancesRequest { Marker = resp.Marker , MaxRecords = maxItems }; resp = client.DescribeDBInstances(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.DBInstances) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.Marker)); }
static void Main(string[] args) { try { //create RDS instance client = new AmazonRDSClient(); CreateDBInstanceRequest request = new CreateDBInstanceRequest("packtpubRDS", 5, "db.m1.small", "mysql", "dbadmin", "password"); client.CreateDBInstance(request); // list RDS instances DescribeDBInstancesRequest request2 = new DescribeDBInstancesRequest(); DescribeDBInstancesResponse response2 = new DescribeDBInstancesResponse(); response2 = client.DescribeDBInstances(request2); foreach (DBInstance entry in response2.DBInstances) { Console.WriteLine(entry.DBInstanceIdentifier); } Console.WriteLine("Waiting for 60 seconds before deleting the RDS instance"); System.Threading.Thread.Sleep(50000); // delete RDS instance DeleteDBInstanceRequest delete_request = new DeleteDBInstanceRequest("packtpubRDS"); delete_request.SkipFinalSnapshot = true; client.DeleteDBInstance(delete_request); } catch (AmazonRDSException exception) { Console.WriteLine("Error!"); Console.WriteLine(exception.ErrorCode); Console.ReadKey(); } }
public void Describe(string identifier) { var request = new DescribeDBInstancesRequest { DBInstanceIdentifier = identifier }; DescribeDBInstancesResponse response = Client.DescribeDBInstances(request); }
/// <summary> /// <para> Returns information about provisioned RDS instances. This API supports pagination. </para> /// </summary> /// /// <param name="describeDBInstancesRequest">Container for the necessary parameters to execute the DescribeDBInstances service method on /// AmazonRDS.</param> /// /// <returns>The response from the DescribeDBInstances service method, as returned by AmazonRDS.</returns> /// /// <exception cref="DBInstanceNotFoundException"/> public DescribeDBInstancesResponse DescribeDBInstances(DescribeDBInstancesRequest describeDBInstancesRequest) { IRequest <DescribeDBInstancesRequest> request = new DescribeDBInstancesRequestMarshaller().Marshall(describeDBInstancesRequest); DescribeDBInstancesResponse response = Invoke <DescribeDBInstancesRequest, DescribeDBInstancesResponse> (request, this.signer, DescribeDBInstancesResponseUnmarshaller.GetInstance()); return(response); }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { DescribeDBInstancesResponse response = new DescribeDBInstancesResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.IsStartElement) { if (context.TestExpression("DescribeDBInstancesResult", 2)) { UnmarshallResult(context, response); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context); } } } return(response); }
public virtual void failover() { try { //fail over rds which is in the same AZ // Note: This turns the asynchronous call into a synchronous one DescribeDBInstancesResponse describeDBInstancesResult = RDS_CLIENT.DescribeDBInstancesAsync().GetAwaiter().GetResult(); IList <DBInstance> dbInstances = describeDBInstancesResult.DBInstances; string dbInstancedId = null; foreach (DBInstance dbInstance in dbInstances) { if (string.Equals(dbInstance.DBSubnetGroup.VpcId, vpcId, StringComparison.OrdinalIgnoreCase) && dbInstance.MultiAZ && dbInstance.StatusInfos.Count == 0) { dbInstancedId = dbInstance.DBInstanceIdentifier; } } if (!string.IsNullOrEmpty(dbInstancedId)) { RebootDBInstanceRequest rebootDBInstanceRequest = new RebootDBInstanceRequest(); rebootDBInstanceRequest.DBInstanceIdentifier = dbInstancedId; rebootDBInstanceRequest.ForceFailover = true; Console.WriteLine("Rebooting dbInstanceId " + dbInstancedId); // Note: This turns the asynchronous call into a synchronous one RDS_CLIENT.RebootDBInstanceAsync(rebootDBInstanceRequest).GetAwaiter().GetResult(); } } catch (Exception exception) { Console.WriteLine("Unkown exception occured " + exception.Message); } }
private static void UnmarshallResult(XmlUnmarshallerContext context, DescribeDBInstancesResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.ReadAtDepth(originalDepth)) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("DBInstances/DBInstance", targetDepth)) { var unmarshaller = DBInstanceUnmarshaller.Instance; var item = unmarshaller.Unmarshall(context); response.DBInstances.Add(item); continue; } if (context.TestExpression("Marker", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Marker = unmarshaller.Unmarshall(context); continue; } } } return; }
public static DescribeDBInstancesResponse Unmarshall(UnmarshallerContext context) { DescribeDBInstancesResponse describeDBInstancesResponse = new DescribeDBInstancesResponse(); describeDBInstancesResponse.HttpResponse = context.HttpResponse; describeDBInstancesResponse.RequestId = context.StringValue("DescribeDBInstances.RequestId"); describeDBInstancesResponse.PageNumber = context.IntegerValue("DescribeDBInstances.PageNumber"); describeDBInstancesResponse.TotalRecordCount = context.IntegerValue("DescribeDBInstances.TotalRecordCount"); describeDBInstancesResponse.PageRecordCount = context.IntegerValue("DescribeDBInstances.PageRecordCount"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance> describeDBInstancesResponse_items = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance>(); for (int i = 0; i < context.Length("DescribeDBInstances.Items.Length"); i++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance dBInstance = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance(); dBInstance.InsId = context.IntegerValue("DescribeDBInstances.Items[" + i + "].InsId"); dBInstance.DBInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceId"); dBInstance.DBInstanceDescription = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceDescription"); dBInstance.PayType = context.StringValue("DescribeDBInstances.Items[" + i + "].PayType"); dBInstance.DBInstanceType = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceType"); dBInstance.RegionId = context.StringValue("DescribeDBInstances.Items[" + i + "].RegionId"); dBInstance.ExpireTime = context.StringValue("DescribeDBInstances.Items[" + i + "].ExpireTime"); dBInstance.DBInstanceStatus = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceStatus"); dBInstance.Engine = context.StringValue("DescribeDBInstances.Items[" + i + "].Engine"); dBInstance.DBInstanceNetType = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceNetType"); dBInstance.ConnectionMode = context.StringValue("DescribeDBInstances.Items[" + i + "].ConnectionMode"); dBInstance.LockMode = context.StringValue("DescribeDBInstances.Items[" + i + "].LockMode"); dBInstance.DBInstanceClass = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceClass"); dBInstance.InstanceNetworkType = context.StringValue("DescribeDBInstances.Items[" + i + "].InstanceNetworkType"); dBInstance.VpcCloudInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].VpcCloudInstanceId"); dBInstance.LockReason = context.StringValue("DescribeDBInstances.Items[" + i + "].LockReason"); dBInstance.ZoneId = context.StringValue("DescribeDBInstances.Items[" + i + "].ZoneId"); dBInstance.MutriORsignle = context.BooleanValue("DescribeDBInstances.Items[" + i + "].MutriORsignle"); dBInstance.CreateTime = context.StringValue("DescribeDBInstances.Items[" + i + "].CreateTime"); dBInstance.EngineVersion = context.StringValue("DescribeDBInstances.Items[" + i + "].EngineVersion"); dBInstance.GuardDBInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].GuardDBInstanceId"); dBInstance.TempDBInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].TempDBInstanceId"); dBInstance.MasterInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].MasterInstanceId"); dBInstance.VpcId = context.StringValue("DescribeDBInstances.Items[" + i + "].VpcId"); dBInstance.VSwitchId = context.StringValue("DescribeDBInstances.Items[" + i + "].VSwitchId"); dBInstance.ReplicateId = context.StringValue("DescribeDBInstances.Items[" + i + "].ReplicateId"); dBInstance.ResourceGroupId = context.StringValue("DescribeDBInstances.Items[" + i + "].ResourceGroupId"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ReadOnlyDBInstanceId> dBInstance_readOnlyDBInstanceIds = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ReadOnlyDBInstanceId>(); for (int j = 0; j < context.Length("DescribeDBInstances.Items[" + i + "].ReadOnlyDBInstanceIds.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ReadOnlyDBInstanceId readOnlyDBInstanceId = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ReadOnlyDBInstanceId(); readOnlyDBInstanceId.DBInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].ReadOnlyDBInstanceIds[" + j + "].DBInstanceId"); dBInstance_readOnlyDBInstanceIds.Add(readOnlyDBInstanceId); } dBInstance.ReadOnlyDBInstanceIds = dBInstance_readOnlyDBInstanceIds; describeDBInstancesResponse_items.Add(dBInstance); } describeDBInstancesResponse.Items = describeDBInstancesResponse_items; return(describeDBInstancesResponse); }
public static DescribeDBInstancesResponse Unmarshall(UnmarshallerContext context) { DescribeDBInstancesResponse describeDBInstancesResponse = new DescribeDBInstancesResponse() { HttpResponse = context.HttpResponse, RequestId = context.StringValue("DescribeDBInstances.RequestId"), PageNumber = context.IntegerValue("DescribeDBInstances.PageNumber"), TotalRecordCount = context.IntegerValue("DescribeDBInstances.TotalRecordCount"), PageRecordCount = context.IntegerValue("DescribeDBInstances.PageRecordCount") }; List <DescribeDBInstancesResponse.DBInstance> items = new List <DescribeDBInstancesResponse.DBInstance>(); for (int i = 0; i < context.Length("DescribeDBInstances.Items.Length"); i++) { DescribeDBInstancesResponse.DBInstance dBInstance = new DescribeDBInstancesResponse.DBInstance() { InsId = context.IntegerValue($"DescribeDBInstances.Items[{i}].InsId"), DBInstanceId = context.StringValue($"DescribeDBInstances.Items[{i}].DBInstanceId"), DBInstanceDescription = context.StringValue($"DescribeDBInstances.Items[{i}].DBInstanceDescription"), PayType = context.StringValue($"DescribeDBInstances.Items[{i}].PayType"), DBInstanceType = context.EnumValue <DescribeDBInstancesResponse.DBInstance.DBInstanceTypeEnum>($"DescribeDBInstances.Items[{i}].DBInstanceType"), RegionId = context.StringValue($"DescribeDBInstances.Items[{i}].RegionId"), ExpireTime = context.StringValue($"DescribeDBInstances.Items[{i}].ExpireTime"), DBInstanceStatus = context.EnumValue <DescribeDBInstancesResponse.DBInstance.DBInstanceStatusEnum>($"DescribeDBInstances.Items[{i}].DBInstanceStatus"), Engine = context.StringValue($"DescribeDBInstances.Items[{i}].Engine"), DBInstanceNetType = context.EnumValue <DescribeDBInstancesResponse.DBInstance.DBInstanceNetTypeEnum>($"DescribeDBInstances.Items[{i}].DBInstanceNetType"), ConnectionMode = context.EnumValue <DescribeDBInstancesResponse.DBInstance.ConnectionModeEnum>($"DescribeDBInstances.Items[{i}].ConnectionMode"), LockMode = context.EnumValue <DescribeDBInstancesResponse.DBInstance.LockModeEnum>($"DescribeDBInstances.Items[{i}].LockMode"), InstanceNetworkType = context.StringValue($"DescribeDBInstances.Items[{i}].InstanceNetworkType"), LockReason = context.StringValue($"DescribeDBInstances.Items[{i}].LockReason"), ZoneId = context.StringValue($"DescribeDBInstances.Items[{i}].ZoneId"), MutriORsignle = context.BooleanValue($"DescribeDBInstances.Items[{i}].MutriORsignle"), CreateTime = context.StringValue($"DescribeDBInstances.Items[{i}].CreateTime"), EngineVersion = context.StringValue($"DescribeDBInstances.Items[{i}].EngineVersion"), GuardDBInstanceId = context.StringValue($"DescribeDBInstances.Items[{i}].GuardDBInstanceId"), TempDBInstanceId = context.StringValue($"DescribeDBInstances.Items[{i}].TempDBInstanceId"), MasterInstanceId = context.StringValue($"DescribeDBInstances.Items[{i}].MasterInstanceId"), VpcId = context.StringValue($"DescribeDBInstances.Items[{i}].VpcId") }; List <DescribeDBInstancesResponse.DBInstance.ReadOnlyDBInstanceId> readOnlyDBInstanceIds = new List <DescribeDBInstancesResponse.DBInstance.ReadOnlyDBInstanceId>(); for (int j = 0; j < context.Length($"DescribeDBInstances.Items[{i}].ReadOnlyDBInstanceIds.Length"); j++) { DescribeDBInstancesResponse.DBInstance.ReadOnlyDBInstanceId readOnlyDBInstanceId = new DescribeDBInstancesResponse.DBInstance.ReadOnlyDBInstanceId() { DBInstanceId = context.StringValue($"DescribeDBInstances.Items[{i}].ReadOnlyDBInstanceIds[{j}].DBInstanceId") }; readOnlyDBInstanceIds.Add(readOnlyDBInstanceId); } dBInstance.ReadOnlyDBInstanceIds = readOnlyDBInstanceIds; items.Add(dBInstance); } describeDBInstancesResponse.Items = items; return(describeDBInstancesResponse); }
public List <DBDetail> GetDBProperties() { List <AWSProfile> profile; List <DBDetail> list = new List <DBDetail>(); profile = SqlHelper.GetAWSAccounts(); //foreach (var profile_ in profile) //{ // Amazon.Util.ProfileManager.RegisterProfile(profile_.ProfileName, profile_.Accesskey, profile_.Secretkey); //} try { foreach (var profile_ in profile) { var regions = Amazon.RegionEndpoint.EnumerableAllRegions; //Amazon.Runtime.AWSCredentials credentials = new Amazon.Runtime.StoredProfileAWSCredentials(profile_.ProfileName); foreach (var r in regions) { string region_; if (r.SystemName != "us-gov-west-1" && r.SystemName != "cn-north-1") { region_ = r.SystemName; var region = RegionEndpoint.GetBySystemName(region_); AmazonRDSClient rds = new AmazonRDSClient(profile_.Accesskey, profile_.Secretkey, region); DescribeDBInstancesRequest request = new DescribeDBInstancesRequest(); DescribeDBInstancesResponse response = rds.DescribeDBInstances(request); List <DBInstance> result = response.DBInstances; foreach (var db in result) { DBDetail dbdetail = new DBDetail(); dbdetail.Name = db.DBInstanceIdentifier; dbdetail.Size = db.AllocatedStorage.ToString() + " GB"; dbdetail.Status = db.DBInstanceStatus; dbdetail.Type = db.StorageType; dbdetail.Key = db.DbiResourceId; dbdetail.ServerName = db.Engine; dbdetail.accountId = profile_.accountId; dbdetail.ProfileName = profile_.ProfileName; dbdetail.Region = region_; list.Add(dbdetail); } } } } return(list); } catch (Exception e) { this.log.Error(e); return(null); } }
private void WriteRDSInfo() { StringBuilder output = new StringBuilder(); DescribeDBInstancesRequest rdsRequest = new DescribeDBInstancesRequest(); DescribeDBInstancesResponse rdsResponse = rds.DescribeDBInstances(rdsRequest); foreach (DBInstance dbInstance in rdsResponse.DescribeDBInstancesResult.DBInstances) { output.AppendFormat("<li>{0}</li>", dbInstance.DBName); } this.rdsPlaceholder.Text = output.ToString(); }
public void Setup() { _firstPage = new DescribeDBInstancesResponse { Marker = "token-1", DBInstances = new List <DBInstance> { new DBInstance { DBInstanceIdentifier = "DBInstance-1" } } }; _secondPage = new DescribeDBInstancesResponse { Marker = "token-2", DBInstances = new List <DBInstance> { new DBInstance { DBInstanceIdentifier = "DBInstance-2" } } }; _thirdPage = new DescribeDBInstancesResponse { DBInstances = new List <DBInstance> { new DBInstance { DBInstanceIdentifier = "DBInstance-3" } } }; var rdsMock = new Mock <IAmazonRDS>(); rdsMock.Setup(s => s.DescribeDBInstancesAsync( It.Is <DescribeDBInstancesRequest>(r => r.Marker == null), It.IsAny <CancellationToken>())) .ReturnsAsync(_firstPage); rdsMock.Setup(s => s.DescribeDBInstancesAsync( It.Is <DescribeDBInstancesRequest>(r => r.Marker == "token-1"), It.IsAny <CancellationToken>())) .ReturnsAsync(_secondPage); rdsMock.Setup(s => s.DescribeDBInstancesAsync( It.Is <DescribeDBInstancesRequest>(r => r.Marker == "token-2"), It.IsAny <CancellationToken>())) .ReturnsAsync(_thirdPage); _rdsSource = new RdsSource(rdsMock.Object); }
public static DescribeDBInstancesResponse Unmarshall(UnmarshallerContext context) { DescribeDBInstancesResponse describeDBInstancesResponse = new DescribeDBInstancesResponse(); describeDBInstancesResponse.HttpResponse = context.HttpResponse; describeDBInstancesResponse.RequestId = context.StringValue("DescribeDBInstances.RequestId"); describeDBInstancesResponse.PageNumber = context.IntegerValue("DescribeDBInstances.PageNumber"); describeDBInstancesResponse.TotalRecordCount = context.IntegerValue("DescribeDBInstances.TotalRecordCount"); describeDBInstancesResponse.PageRecordCount = context.IntegerValue("DescribeDBInstances.PageRecordCount"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance> describeDBInstancesResponse_items = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance>(); for (int i = 0; i < context.Length("DescribeDBInstances.Items.Length"); i++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance dBInstance = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance(); dBInstance.DBInstanceId = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceId"); dBInstance.DBInstanceDescription = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceDescription"); dBInstance.PayType = context.StringValue("DescribeDBInstances.Items[" + i + "].PayType"); dBInstance.InstanceNetworkType = context.StringValue("DescribeDBInstances.Items[" + i + "].InstanceNetworkType"); dBInstance.ConnectionMode = context.StringValue("DescribeDBInstances.Items[" + i + "].ConnectionMode"); dBInstance.RegionId = context.StringValue("DescribeDBInstances.Items[" + i + "].RegionId"); dBInstance.ZoneId = context.StringValue("DescribeDBInstances.Items[" + i + "].ZoneId"); dBInstance.ExpireTime = context.StringValue("DescribeDBInstances.Items[" + i + "].ExpireTime"); dBInstance.DBInstanceStatus = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceStatus"); dBInstance.Engine = context.StringValue("DescribeDBInstances.Items[" + i + "].Engine"); dBInstance.EngineVersion = context.StringValue("DescribeDBInstances.Items[" + i + "].EngineVersion"); dBInstance.DBInstanceNetType = context.StringValue("DescribeDBInstances.Items[" + i + "].DBInstanceNetType"); dBInstance.LockMode = context.StringValue("DescribeDBInstances.Items[" + i + "].LockMode"); dBInstance.LockReason = context.StringValue("DescribeDBInstances.Items[" + i + "].LockReason"); dBInstance.CreateTime = context.StringValue("DescribeDBInstances.Items[" + i + "].CreateTime"); dBInstance.VpcId = context.StringValue("DescribeDBInstances.Items[" + i + "].VpcId"); dBInstance.VSwitchId = context.StringValue("DescribeDBInstances.Items[" + i + "].VSwitchId"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag> dBInstance_tags = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag>(); for (int j = 0; j < context.Length("DescribeDBInstances.Items[" + i + "].Tags.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag tag = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag(); tag.Key = context.StringValue("DescribeDBInstances.Items[" + i + "].Tags[" + j + "].Key"); tag._Value = context.StringValue("DescribeDBInstances.Items[" + i + "].Tags[" + j + "].Value"); dBInstance_tags.Add(tag); } dBInstance.Tags = dBInstance_tags; describeDBInstancesResponse_items.Add(dBInstance); } describeDBInstancesResponse.Items = describeDBInstancesResponse_items; return(describeDBInstancesResponse); }
public virtual async Task Failover() { try { //fail over rds which is in the same AZ // Note: This turns the asynchronous call into a synchronous one DescribeDBInstancesResponse describeDBInstancesResult = await rdsClient.DescribeDBInstancesAsync(); string dbInstancedId = String.Empty; foreach (DBInstance dbInstance in describeDBInstancesResult.DBInstances) { if (String.Equals(dbInstance.DBSubnetGroup.VpcId, vpcId, StringComparison.OrdinalIgnoreCase) && dbInstance.MultiAZ && dbInstance.StatusInfos.Count == 0) { dbInstancedId = dbInstance.DBInstanceIdentifier; break; } } if (!String.IsNullOrEmpty(dbInstancedId)) { Console.WriteLine("Rebooting rds instance " + dbInstancedId); var response = await rdsClient.RebootDBInstanceAsync(new RebootDBInstanceRequest() { DBInstanceIdentifier = dbInstancedId, ForceFailover = true }); } else { Console.WriteLine($"Did not find a multi-az database in the VPC {vpcId}"); } } catch (Exception exception) { Console.WriteLine("Unknown exception occurred " + exception.Message); } }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { DescribeDBInstancesResponse response = new DescribeDBInstancesResponse(); while (context.Read()) { if (context.IsStartElement) { if (context.TestExpression("DescribeDBInstancesResult", 2)) { response.DescribeDBInstancesResult = DescribeDBInstancesResultUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.GetInstance().Unmarshall(context); } } } return(response); }
private static void UnmarshallResult(XmlUnmarshallerContext context, DescribeDBInstancesResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.Read()) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("Marker", targetDepth)) { response.Marker = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("DBInstances/DBInstance", targetDepth)) { response.DBInstances.Add(DBInstanceUnmarshaller.GetInstance().Unmarshall(context)); continue; } } else if (context.IsEndElement && context.CurrentDepth < originalDepth) { return; } } return; }
public static DescribeDBInstancesResponse Unmarshall(UnmarshallerContext context) { DescribeDBInstancesResponse describeDBInstancesResponse = new DescribeDBInstancesResponse(); describeDBInstancesResponse.HttpResponse = context.HttpResponse; describeDBInstancesResponse.RequestId = context.StringValue("DescribeDBInstances.RequestId"); describeDBInstancesResponse.PageNumber = context.IntegerValue("DescribeDBInstances.PageNumber"); describeDBInstancesResponse.PageSize = context.IntegerValue("DescribeDBInstances.PageSize"); describeDBInstancesResponse.TotalCount = context.IntegerValue("DescribeDBInstances.TotalCount"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance> describeDBInstancesResponse_dBInstances = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance>(); for (int i = 0; i < context.Length("DescribeDBInstances.DBInstances.Length"); i++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance dBInstance = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance(); dBInstance.DBInstanceId = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceId"); dBInstance.DBInstanceDescription = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceDescription"); dBInstance.RegionId = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].RegionId"); dBInstance.ZoneId = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ZoneId"); dBInstance.Engine = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].Engine"); dBInstance.EngineVersion = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].EngineVersion"); dBInstance.DBInstanceClass = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceClass"); dBInstance.DBInstanceStorage = context.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceStorage"); dBInstance.DBInstanceStatus = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceStatus"); dBInstance.LockMode = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].LockMode"); dBInstance.ChargeType = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ChargeType"); dBInstance.NetworkType = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].NetworkType"); dBInstance.CreationTime = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].CreationTime"); dBInstance.ExpireTime = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ExpireTime"); dBInstance.DBInstanceType = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceType"); dBInstance.LastDowngradeTime = context.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].LastDowngradeTime"); dBInstance.ReplicationFactor = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ReplicationFactor"); dBInstance.DestroyTime = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].DestroyTime"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute> dBInstance_mongosList = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute>(); for (int j = 0; j < context.Length("DescribeDBInstances.DBInstances[" + i + "].MongosList.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute mongosAttribute = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute(); mongosAttribute.NodeId = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].NodeId"); mongosAttribute.NodeDescription = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].NodeDescription"); mongosAttribute.NodeClass = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].NodeClass"); mongosAttribute.ConnectSting = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].ConnectSting"); mongosAttribute.Port = context.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].Port"); dBInstance_mongosList.Add(mongosAttribute); } dBInstance.MongosList = dBInstance_mongosList; List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute> dBInstance_shardList = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute>(); for (int j = 0; j < context.Length("DescribeDBInstances.DBInstances[" + i + "].ShardList.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute shardAttribute = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute(); shardAttribute.NodeId = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeId"); shardAttribute.NodeDescription = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeDescription"); shardAttribute.NodeClass = context.StringValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeClass"); shardAttribute.NodeStorage = context.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeStorage"); dBInstance_shardList.Add(shardAttribute); } dBInstance.ShardList = dBInstance_shardList; describeDBInstancesResponse_dBInstances.Add(dBInstance); } describeDBInstancesResponse.DBInstances = describeDBInstancesResponse_dBInstances; return(describeDBInstancesResponse); }
public virtual async Task Failover() { try { Console.WriteLine($"Simulating AZ failure for {azName}"); // Find all subnets in the availability zone passed in the input DescribeSubnetsResponse subnetsInSpecifiedAZandVpc = await ec2Client.DescribeSubnetsAsync(new DescribeSubnetsRequest() { Filters = new List <Amazon.EC2.Model.Filter> { new Amazon.EC2.Model.Filter { Name = "vpc-id", Values = { vpcId } }, new Amazon.EC2.Model.Filter { Name = "availability-zone", Values = { azName } } } }); List <string> subnetIdsInSpecifiedAZ = subnetsInSpecifiedAZandVpc.Subnets.Select(x => x.SubnetId).ToList(); // Modify the autoscaling group to remove the AZ affected which is the AZ passed in the input // Find the autoscaling group that this is deployed into DescribeAutoScalingGroupsResponse autoScalingGroupsResponse = await asClient.DescribeAutoScalingGroupsAsync(); if (autoScalingGroupsResponse != null && autoScalingGroupsResponse.AutoScalingGroups.Count > 0) { // Note: This assumes an Auto Scaling group exists; no error checking for readability AutoScalingGroup autoScalingGroup = autoScalingGroupsResponse.AutoScalingGroups[0]; Console.WriteLine($"Updating the auto scaling group {autoScalingGroup.AutoScalingGroupName} to remove the subnet in {azName}"); UpdateAutoScalingGroupResponse updateAutoScalingGroupResponse = await asClient.UpdateAutoScalingGroupAsync(new UpdateAutoScalingGroupRequest { AutoScalingGroupName = autoScalingGroup.AutoScalingGroupName, VPCZoneIdentifier = String.Join(",", autoScalingGroup.VPCZoneIdentifier.Split(',').Where(x => !subnetIdsInSpecifiedAZ.Contains(x))) }); } Console.WriteLine("Creating new network ACL associations"); await BlockSubnetsInAZ(vpcId, subnetIdsInSpecifiedAZ); Console.WriteLine("Failing over database"); //fail over rds which is in the same AZ DescribeDBInstancesResponse describeDBInstancesResult = await rdsClient.DescribeDBInstancesAsync(); string dbInstancedId = describeDBInstancesResult.DBInstances.Where(x => String.Equals(x.DBSubnetGroup.VpcId, vpcId, StringComparison.OrdinalIgnoreCase) && String.Equals(x.AvailabilityZone, azName, StringComparison.OrdinalIgnoreCase) && x.MultiAZ && !x.StatusInfos.Any())?.Select(x => x.DBInstanceIdentifier).FirstOrDefault(); // we want to fail over rds if rds is present in the same az where it is affected if (!String.IsNullOrEmpty(dbInstancedId)) { Console.WriteLine("Rebooting dbInstanceId to secondary AZ " + dbInstancedId); var response = await rdsClient.RebootDBInstanceAsync(new RebootDBInstanceRequest() { DBInstanceIdentifier = dbInstancedId, ForceFailover = true }); } else { Console.WriteLine($"Didn't find DB in the same AZ as {azName}"); } Console.Write("Done"); } catch (Exception exception) { Console.WriteLine("Unknown exception occurred " + exception.Message); } }
public static DescribeDBInstancesResponse Unmarshall(UnmarshallerContext _ctx) { DescribeDBInstancesResponse describeDBInstancesResponse = new DescribeDBInstancesResponse(); describeDBInstancesResponse.HttpResponse = _ctx.HttpResponse; describeDBInstancesResponse.TotalCount = _ctx.IntegerValue("DescribeDBInstances.TotalCount"); describeDBInstancesResponse.PageSize = _ctx.IntegerValue("DescribeDBInstances.PageSize"); describeDBInstancesResponse.RequestId = _ctx.StringValue("DescribeDBInstances.RequestId"); describeDBInstancesResponse.PageNumber = _ctx.IntegerValue("DescribeDBInstances.PageNumber"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance> describeDBInstancesResponse_dBInstances = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance>(); for (int i = 0; i < _ctx.Length("DescribeDBInstances.DBInstances.Length"); i++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance dBInstance = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance(); dBInstance.EngineVersion = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].EngineVersion"); dBInstance.ReplicationFactor = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ReplicationFactor"); dBInstance.ZoneId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ZoneId"); dBInstance.ResourceGroupId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ResourceGroupId"); dBInstance.DBInstanceStatus = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceStatus"); dBInstance.DBInstanceClass = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceClass"); dBInstance.DestroyTime = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DestroyTime"); dBInstance.DBInstanceType = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceType"); dBInstance.LockMode = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].LockMode"); dBInstance.DBInstanceId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceId"); dBInstance.NetworkType = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].NetworkType"); dBInstance.VpcAuthMode = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].VpcAuthMode"); dBInstance.ChargeType = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ChargeType"); dBInstance.DBInstanceStorage = _ctx.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceStorage"); dBInstance.LastDowngradeTime = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].LastDowngradeTime"); dBInstance.CreationTime = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].CreationTime"); dBInstance.RegionId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].RegionId"); dBInstance.ExpireTime = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ExpireTime"); dBInstance.KindCode = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].KindCode"); dBInstance.Engine = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Engine"); dBInstance.DBInstanceDescription = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBInstanceDescription"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute> dBInstance_mongosList = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute>(); for (int j = 0; j < _ctx.Length("DescribeDBInstances.DBInstances[" + i + "].MongosList.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute mongosAttribute = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_MongosAttribute(); mongosAttribute.NodeClass = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].NodeClass"); mongosAttribute.NodeDescription = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].NodeDescription"); mongosAttribute.NodeId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].MongosList[" + j + "].NodeId"); dBInstance_mongosList.Add(mongosAttribute); } dBInstance.MongosList = dBInstance_mongosList; List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute> dBInstance_shardList = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute>(); for (int j = 0; j < _ctx.Length("DescribeDBInstances.DBInstances[" + i + "].ShardList.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute shardAttribute = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_ShardAttribute(); shardAttribute.NodeClass = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeClass"); shardAttribute.NodeDescription = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeDescription"); shardAttribute.ReadonlyReplicas = _ctx.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].ReadonlyReplicas"); shardAttribute.NodeId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeId"); shardAttribute.NodeStorage = _ctx.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].ShardList[" + j + "].NodeStorage"); dBInstance_shardList.Add(shardAttribute); } dBInstance.ShardList = dBInstance_shardList; List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag> dBInstance_tags = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag>(); for (int j = 0; j < _ctx.Length("DescribeDBInstances.DBInstances[" + i + "].Tags.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag tag = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_Tag(); tag._Value = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Tags[" + j + "].Value"); tag.Key = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Tags[" + j + "].Key"); dBInstance_tags.Add(tag); } dBInstance.Tags = dBInstance_tags; describeDBInstancesResponse_dBInstances.Add(dBInstance); } describeDBInstancesResponse.DBInstances = describeDBInstancesResponse_dBInstances; return(describeDBInstancesResponse); }
public virtual void failover() { try { // Modify the autoscaling group to remove the AZ affected which is the AZ passed in the input // Find the autoscaling group that this is deployed into // Note: This changes the asynchronous call to a synchronous one DescribeAutoScalingGroupsResponse autoScalingGroupsResponse = AUTO_SCALING_CLIENT.DescribeAutoScalingGroupsAsync().GetAwaiter().GetResult(); if (autoScalingGroupsResponse != null && autoScalingGroupsResponse.AutoScalingGroups.Count > 0) { // Note: This assumes an Auto Scaling group exists; no error checking for readability AutoScalingGroup autoScalingGroup = autoScalingGroupsResponse.AutoScalingGroups[0]; string autoScalingGroupName = autoScalingGroup.AutoScalingGroupName; // Find all subnets in the availability zone passed in the input DescribeSubnetsResponse subnetsResult = EC2_CLIENT.DescribeSubnetsAsync(new DescribeSubnetsRequest() { Filters = new List <Amazon.EC2.Model.Filter> { new Amazon.EC2.Model.Filter { Name = "vpc-id", Values = new List <string> { vpcId } } } }).GetAwaiter().GetResult(); IList <string> desiredSubnetsForASG = new List <string>(); foreach (Amazon.EC2.Model.Subnet subnet in subnetsResult.Subnets) { if (!string.Equals(subnet.AvailabilityZone, azId, StringComparison.OrdinalIgnoreCase)) { desiredSubnetsForASG.Add(subnet.SubnetId); } } List <string> desiredSubnets = new List <String>(autoScalingGroup.VPCZoneIdentifier.Split(new[] { ',' }, StringSplitOptions.None)); var tempList = new List <String>(desiredSubnets); foreach (var subnet in desiredSubnets) { if (!desiredSubnetsForASG.Contains(subnet)) { tempList.Remove(subnet); } } desiredSubnets = tempList; Console.WriteLine("Updating the auto scaling group " + autoScalingGroupName + " to remove the subnet in the AZ"); // Note: This turns the asynchronous call into a synchronous one UpdateAutoScalingGroupResponse updateAutoScalingGroupResponse = AUTO_SCALING_CLIENT.UpdateAutoScalingGroupAsync(new UpdateAutoScalingGroupRequest { AutoScalingGroupName = autoScalingGroupName, VPCZoneIdentifier = string.Join(",", desiredSubnets) }).GetAwaiter().GetResult(); } // Find all subnets in the availability zone passed in the input // Note: This turns the asynchronous call into a synchronous one DescribeSubnetsResponse describeSubnetsResult = EC2_CLIENT.DescribeSubnetsAsync(new DescribeSubnetsRequest { Filters = new List <Amazon.EC2.Model.Filter> { new Amazon.EC2.Model.Filter { Name = "vpc-id", Values = new List <string> { vpcId } }, new Amazon.EC2.Model.Filter { Name = "availabilityZone", Values = new List <string> { azId } } } }).GetAwaiter().GetResult(); IList <string> desiredSubnetsForAddingNewNacl = new List <string>(); foreach (Amazon.EC2.Model.Subnet subnet in describeSubnetsResult.Subnets) { desiredSubnetsForAddingNewNacl.Add(subnet.SubnetId); } //Find all the network acl associations matching the subnets identified above // Note: This turns the asynchronous call into a synchronous one DescribeNetworkAclsResponse describeNetworkAclsResult = EC2_CLIENT.DescribeNetworkAclsAsync(new DescribeNetworkAclsRequest() { Filters = new List <Amazon.EC2.Model.Filter> { new Amazon.EC2.Model.Filter { Name = "association.subnet-id", Values = (List <string>)desiredSubnetsForAddingNewNacl } } }).GetAwaiter().GetResult(); IList <NetworkAclAssociation> desiredAclAssociations = new List <NetworkAclAssociation>(); // Note: This assumes a Network ACL is present for readability IList <NetworkAclAssociation> networkAclsAssociatedWithSubnet = describeNetworkAclsResult.NetworkAcls[0].Associations; foreach (string subnetId in desiredSubnetsForAddingNewNacl) { foreach (NetworkAclAssociation networkAcl in networkAclsAssociatedWithSubnet) { if (string.Equals(networkAcl.SubnetId, subnetId, StringComparison.OrdinalIgnoreCase)) { desiredAclAssociations.Add(networkAcl); } } } //create new network acl association with both ingress and egress denying to all the traffic CreateNetworkAclRequest createNetworkAclRequest = new CreateNetworkAclRequest(); createNetworkAclRequest.VpcId = vpcId; // Note: This turns the asynchronous call into a synchronous one CreateNetworkAclResponse createNetworkAclResponse = EC2_CLIENT.CreateNetworkAclAsync(createNetworkAclRequest).GetAwaiter().GetResult(); string networkAclId = createNetworkAclResponse.NetworkAcl.NetworkAclId; createNetworkAclEntry(networkAclId, 100, "0.0.0.0/0", true, "-1", createPortRange(0, 65535), RuleAction.Deny); createNetworkAclEntry(networkAclId, 101, "0.0.0.0/0", false, "-1", createPortRange(0, 65535), RuleAction.Deny); // replace all the network acl associations identified for the above subnets with the new network // acl association which will deny all traffic for those subnets in that AZ Console.WriteLine("Creating new network ACL associations"); replaceNetworkAclAssociations(desiredAclAssociations, networkAclId); //fail over rds which is in the same AZ // Note: This turns the asynchronous call into a synchronous one DescribeDBInstancesResponse describeDBInstancesResult = RDS_CLIENT.DescribeDBInstancesAsync().GetAwaiter().GetResult(); IList <DBInstance> dbInstances = describeDBInstancesResult.DBInstances; string dbInstancedId = null; foreach (DBInstance dbInstance in dbInstances) { if (string.Equals(dbInstance.DBSubnetGroup.VpcId, vpcId, StringComparison.OrdinalIgnoreCase) && (string.Equals(dbInstance.AvailabilityZone, azId, StringComparison.OrdinalIgnoreCase)) && dbInstance.MultiAZ && dbInstance.StatusInfos.Count == 0) { dbInstancedId = dbInstance.DBInstanceIdentifier; } } // we want to fail over rds if rds is present in the same az where it is affected if (!string.IsNullOrEmpty(dbInstancedId)) { RebootDBInstanceRequest rebootDBInstanceRequest = new RebootDBInstanceRequest(); rebootDBInstanceRequest.DBInstanceIdentifier = dbInstancedId; rebootDBInstanceRequest.ForceFailover = true; Console.WriteLine("Rebooting dbInstanceId to secondary AZ " + dbInstancedId); // Note: This turns the asynchronous call into a synchronous one RDS_CLIENT.RebootDBInstanceAsync(rebootDBInstanceRequest).GetAwaiter().GetResult(); } } catch (Exception exception) { Console.WriteLine("Unkown exception occured " + exception.Message); } }
public static DescribeDBInstancesResponse Unmarshall(UnmarshallerContext _ctx) { DescribeDBInstancesResponse describeDBInstancesResponse = new DescribeDBInstancesResponse(); describeDBInstancesResponse.HttpResponse = _ctx.HttpResponse; describeDBInstancesResponse.RequestId = _ctx.StringValue("DescribeDBInstances.RequestId"); describeDBInstancesResponse.PageNumber = _ctx.IntegerValue("DescribeDBInstances.PageNumber"); describeDBInstancesResponse.PageSize = _ctx.IntegerValue("DescribeDBInstances.PageSize"); describeDBInstancesResponse.TotalNumber = _ctx.IntegerValue("DescribeDBInstances.TotalNumber"); List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance> describeDBInstancesResponse_dBInstances = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance>(); for (int i = 0; i < _ctx.Length("DescribeDBInstances.DBInstances.Length"); i++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance dBInstance = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance(); dBInstance.Id = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Id"); dBInstance.Description = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Description"); dBInstance.PayType = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].PayType"); dBInstance.CreateTime = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].CreateTime"); dBInstance.ExpireTime = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ExpireTime"); dBInstance.Expired = _ctx.BooleanValue("DescribeDBInstances.DBInstances[" + i + "].Expired"); dBInstance.RegionId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].RegionId"); dBInstance.ZoneId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ZoneId"); dBInstance.Network = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Network"); dBInstance.VPCId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].VPCId"); dBInstance.Engine = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Engine"); dBInstance.DBType = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBType"); dBInstance.DBVersion = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].DBVersion"); dBInstance.Status = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Status"); dBInstance.LockMode = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].LockMode"); dBInstance.LockReason = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].LockReason"); dBInstance.NodeCount = _ctx.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].NodeCount"); dBInstance.NodeClass = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].NodeClass"); dBInstance.StorageUsed = _ctx.IntegerValue("DescribeDBInstances.DBInstances[" + i + "].StorageUsed"); dBInstance.CommodityCode = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].CommodityCode"); dBInstance.Type = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Type"); List <string> dBInstance_readDBInstances = new List <string>(); for (int j = 0; j < _ctx.Length("DescribeDBInstances.DBInstances[" + i + "].ReadDBInstances.Length"); j++) { dBInstance_readDBInstances.Add(_ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].ReadDBInstances[" + j + "]")); } dBInstance.ReadDBInstances = dBInstance_readDBInstances; List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_PolarDBXNode> dBInstance_nodes = new List <DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_PolarDBXNode>(); for (int j = 0; j < _ctx.Length("DescribeDBInstances.DBInstances[" + i + "].Nodes.Length"); j++) { DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_PolarDBXNode polarDBXNode = new DescribeDBInstancesResponse.DescribeDBInstances_DBInstance.DescribeDBInstances_PolarDBXNode(); polarDBXNode.Id = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Nodes[" + j + "].Id"); polarDBXNode.ClassCode = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Nodes[" + j + "].ClassCode"); polarDBXNode.RegionId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Nodes[" + j + "].RegionId"); polarDBXNode.ZoneId = _ctx.StringValue("DescribeDBInstances.DBInstances[" + i + "].Nodes[" + j + "].ZoneId"); dBInstance_nodes.Add(polarDBXNode); } dBInstance.Nodes = dBInstance_nodes; describeDBInstancesResponse_dBInstances.Add(dBInstance); } describeDBInstancesResponse.DBInstances = describeDBInstancesResponse_dBInstances; return(describeDBInstancesResponse); }