public static DescribeDatabasesResponse Unmarshall(UnmarshallerContext context)
{
DescribeDatabasesResponse describeDatabasesResponse = new DescribeDatabasesResponse();
describeDatabasesResponse.HttpResponse = context.HttpResponse;
describeDatabasesResponse.RequestId = context.StringValue("DescribeDatabases.RequestId");
List<DescribeDatabasesResponse.Database> databases = new List<DescribeDatabasesResponse.Database>();
for (int i = 0; i < context.Length("DescribeDatabases.Databases.Length"); i++) {
DescribeDatabasesResponse.Database database = new DescribeDatabasesResponse.Database();
database.DBName = context.StringValue("DescribeDatabases.Databases["+ i +"].DBName");
database.DBInstanceId = context.StringValue("DescribeDatabases.Databases["+ i +"].DBInstanceId");
database.Engine = context.StringValue("DescribeDatabases.Databases["+ i +"].Engine");
database.DBStatus = context.EnumValue<DescribeDatabasesResponse.Database.DBStatusEnum>("DescribeDatabases.Databases["+ i +"].DBStatus");
database.CharacterSetName = context.StringValue("DescribeDatabases.Databases["+ i +"].CharacterSetName");
database.DBDescription = context.StringValue("DescribeDatabases.Databases["+ i +"].DBDescription");
List<DescribeDatabasesResponse.Database.AccountPrivilegeInfo> accounts = new List<DescribeDatabasesResponse.Database.AccountPrivilegeInfo>();
for (int j = 0; j < context.Length("DescribeDatabases.Databases["+ i +"].Accounts.Length"); j++) {
DescribeDatabasesResponse.Database.AccountPrivilegeInfo accountPrivilegeInfo = new DescribeDatabasesResponse.Database.AccountPrivilegeInfo();
accountPrivilegeInfo.Account = context.StringValue("DescribeDatabases.Databases["+ i +"].Accounts["+ j +"].Account");
accountPrivilegeInfo.AccountPrivilege = context.StringValue("DescribeDatabases.Databases["+ i +"].Accounts["+ j +"].AccountPrivilege");
accounts.Add(accountPrivilegeInfo);
}
database.Accounts = accounts;
databases.Add(database);
}
describeDatabasesResponse.Databases = databases;
return describeDatabasesResponse;
}