static private ConvertAccountResourceToNewAccountContext ( BatchAccount resource ) : BatchAccountContext | ||
resource | BatchAccount | Resource info returned by RP |
리턴 | BatchAccountContext |
/// <summary> /// Get details about the Batch account /// </summary> /// <param name="resourceGroupName">The name of the resource group the account is under. If unspecified, it will be looked up.</param> /// <param name="accountName">The account name</param> /// <returns>A BatchAccountContext object representing the account</returns> public virtual BatchAccountContext GetAccount(string resourceGroupName, string accountName) { // single account lookup - find its resource group if not specified if (string.IsNullOrEmpty(resourceGroupName)) { resourceGroupName = GetGroupForAccount(accountName); } var response = BatchManagementClient.Accounts.Get(resourceGroupName, accountName); return(BatchAccountContext.ConvertAccountResourceToNewAccountContext(response.Resource)); }
/// <summary> /// Lists all accounts in a subscription or in a resource group if its name is specified /// </summary> /// <param name="resourceGroupName">The name of the resource group to search under for accounts. If unspecified, all accounts will be looked up.</param> /// <param name="tag">The tag to filter accounts on</param> /// <returns>A collection of BatchAccountContext objects</returns> public virtual IEnumerable <BatchAccountContext> ListAccounts(string resourceGroupName, Hashtable tag) { List <BatchAccountContext> accounts = new List <BatchAccountContext>(); // no account name so we're doing some sort of list. If no resource group, then list all accounts under the // subscription otherwise all accounts in the resource group. var response = BatchManagementClient.Accounts.List(new AccountListParameters { ResourceGroupName = resourceGroupName }); // filter out the accounts if a tag was specified IList <AccountResource> accountResources = new List <AccountResource>(); if (tag != null && tag.Count > 0) { accountResources = Helpers.FilterAccounts(response.Accounts, tag); } else { accountResources = response.Accounts; } foreach (AccountResource resource in accountResources) { accounts.Add(BatchAccountContext.ConvertAccountResourceToNewAccountContext(resource)); } var nextLink = response.NextLink; while (nextLink != null) { response = ListNextAccounts(nextLink); foreach (AccountResource resource in response.Accounts) { accounts.Add(BatchAccountContext.ConvertAccountResourceToNewAccountContext(resource)); } nextLink = response.NextLink; } return(accounts); }
/// <summary> /// Creates a new Batch account /// </summary> /// <param name="resourceGroupName">The name of the resource group in which to create the account</param> /// <param name="accountName">The account name</param> /// <param name="location">The location to use when creating the account</param> /// <param name="tags">The tags to associate with the account</param> /// <returns>A BatchAccountContext object representing the new account</returns> public virtual BatchAccountContext CreateAccount(string resourceGroupName, string accountName, string location, Hashtable[] tags) { // use the group lookup to validate whether account already exists. We don't care about the returned // group name nor the exception if (GetGroupForAccountNoThrow(accountName) != null) { throw new CloudException(Resources.NBA_AccountAlreadyExists); } Dictionary <string, string> tagDictionary = Helpers.CreateTagDictionary(tags, validate: true); var response = BatchManagementClient.Accounts.Create(resourceGroupName, accountName, new BatchAccountCreateParameters() { Location = location, Tags = tagDictionary }); var context = BatchAccountContext.ConvertAccountResourceToNewAccountContext(response.Resource); return(context); }
/// <summary> /// Updates an existing Batch account /// </summary> /// <param name="resourceGroupName">The name of the resource group the account is under. If unspecified, it will be looked up.</param> /// <param name="accountName">The account name</param> /// <param name="tags">New tags to associate with the account</param> /// <returns>A BatchAccountContext object representing the updated account</returns> public virtual BatchAccountContext UpdateAccount(string resourceGroupName, string accountName, Hashtable[] tags) { if (string.IsNullOrEmpty(resourceGroupName)) { // use resource mgr to see if account exists and then use resource group name to do the actual lookup resourceGroupName = GetGroupForAccount(accountName); } Dictionary <string, string> tagDictionary = Helpers.CreateTagDictionary(tags, validate: true); // need to the location in order to call var getResponse = BatchManagementClient.Accounts.Get(resourceGroupName, accountName); var response = BatchManagementClient.Accounts.Create(resourceGroupName, accountName, new BatchAccountCreateParameters() { Location = getResponse.Resource.Location, Tags = tagDictionary }); BatchAccountContext context = BatchAccountContext.ConvertAccountResourceToNewAccountContext(response.Resource); return(context); }