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); } }
public List <DBDetail> GetDBProperties() { List <DBDetail> dbdetails = new List <DBDetail>(); var profileList = SqlHelper.GetAzureAccounts(); foreach (var profile in profileList) { var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(profile.ClientId, profile.ClientSecretKey, profile.TenantId, AzureEnvironment.AzureGlobalCloud); try { var azure = Azure.Authenticate(credentials).WithSubscription(profile.SubscriptionId); foreach (var server in azure.SqlServers.List()) { foreach (var database in server.Databases.List()) { DBDetail db = new DBDetail(); db.Name = database.Name; var temp = (database.MaxSizeBytes) / 1000000000; db.Size = temp.ToString() + " GB"; db.ServerName = database.SqlServerName; db.Status = database.Status; db.Key = database.DatabaseId; ////db.Key = database.Key; ////db.Key = database.Id; string status = database.Type; string[] s = status.Split('/'); db.Type = s[2]; db.accountId = profile.accountId; db.ProfileName = "Not Applicable"; db.Region = database.RegionName; dbdetails.Add(db); } } } catch (Exception e) { this.log.Error(e); return(null); } } return(dbdetails); }