pin api version of azure storage models

pull/33897/merge
Zhijun Zhao 7 years ago committed by Matt Davis
parent c6531ad556
commit e6aeed2a8e

@ -754,9 +754,9 @@ class AzureRMModuleBase(object):
return self._storage_client return self._storage_client
@property @property
def storage_accounts_models(self): def storage_models(self):
self.log('Getting storage models...') self.log('Getting storage models...')
return self.storage_client.storage_accounts.models return StorageManagementClient.models("2017-10-01")
@property @property
def network_client(self): def network_client(self):

@ -153,9 +153,6 @@ try:
from msrestazure.azure_exceptions import CloudError from msrestazure.azure_exceptions import CloudError
from azure.storage.cloudstorageaccount import CloudStorageAccount from azure.storage.cloudstorageaccount import CloudStorageAccount
from azure.common import AzureMissingResourceHttpError from azure.common import AzureMissingResourceHttpError
from azure.mgmt.storage.models import ProvisioningState, SkuName, SkuTier, Kind
from azure.mgmt.storage.models import StorageAccountUpdateParameters, CustomDomain, \
StorageAccountCreateParameters, Sku
except ImportError: except ImportError:
# This is handled in azure_rm_common # This is handled in azure_rm_common
pass pass
@ -180,7 +177,7 @@ class AzureRMStorageAccount(AzureRMModuleBase):
access_tier=dict(type='str', choices=['Hot', 'Cool']) access_tier=dict(type='str', choices=['Hot', 'Cool'])
) )
for key in SkuName: for key in self.storage_models.SkuName:
self.module_arg_spec['account_type']['choices'].append(getattr(key, 'value')) self.module_arg_spec['account_type']['choices'].append(getattr(key, 'value'))
self.results = dict( self.results = dict(
@ -322,6 +319,7 @@ class AzureRMStorageAccount(AzureRMModuleBase):
if self.account_type: if self.account_type:
if self.account_type != self.account_dict['sku_name']: if self.account_type != self.account_dict['sku_name']:
# change the account type # change the account type
SkuName = self.storage_models.SkuName
if self.account_dict['sku_name'] in [SkuName.premium_lrs, SkuName.standard_zrs]: if self.account_dict['sku_name'] in [SkuName.premium_lrs, SkuName.standard_zrs]:
self.fail("Storage accounts of type {0} and {1} cannot be changed.".format( self.fail("Storage accounts of type {0} and {1} cannot be changed.".format(
SkuName.premium_lrs, SkuName.standard_zrs)) SkuName.premium_lrs, SkuName.standard_zrs))
@ -337,9 +335,9 @@ class AzureRMStorageAccount(AzureRMModuleBase):
try: try:
self.log("sku_name: %s" % self.account_dict['sku_name']) self.log("sku_name: %s" % self.account_dict['sku_name'])
self.log("sku_tier: %s" % self.account_dict['sku_tier']) self.log("sku_tier: %s" % self.account_dict['sku_tier'])
sku = Sku(SkuName(self.account_dict['sku_name'])) sku = self.storage_models.Sku(SkuName(self.account_dict['sku_name']))
sku.tier = SkuTier(self.account_dict['sku_tier']) sku.tier = self.storage_models.SkuTier(self.account_dict['sku_tier'])
parameters = StorageAccountUpdateParameters(sku=sku) parameters = self.storage_models.StorageAccountUpdateParameters(sku=sku)
self.storage_client.storage_accounts.update(self.resource_group, self.storage_client.storage_accounts.update(self.resource_group,
self.name, self.name,
parameters) parameters)
@ -352,9 +350,9 @@ class AzureRMStorageAccount(AzureRMModuleBase):
self.account_dict['custom_domain'] = self.custom_domain self.account_dict['custom_domain'] = self.custom_domain
if self.results['changed'] and not self.check_mode: if self.results['changed'] and not self.check_mode:
new_domain = CustomDomain(name=self.custom_domain['name'], new_domain = self.storage_models.CustomDomain(name=self.custom_domain['name'],
use_sub_domain=self.custom_domain['use_sub_domain']) use_sub_domain=self.custom_domain['use_sub_domain'])
parameters = StorageAccountUpdateParameters(custom_domain=new_domain) parameters = self.storage_models.StorageAccountUpdateParameters(custom_domain=new_domain)
try: try:
self.storage_client.storage_accounts.update(self.resource_group, self.name, parameters) self.storage_client.storage_accounts.update(self.resource_group, self.name, parameters)
except Exception as exc: except Exception as exc:
@ -366,7 +364,7 @@ class AzureRMStorageAccount(AzureRMModuleBase):
self.account_dict['access_tier'] = self.access_tier self.account_dict['access_tier'] = self.access_tier
if self.results['changed'] and not self.check_mode: if self.results['changed'] and not self.check_mode:
parameters = StorageAccountUpdateParameters(access_tier=self.access_tier) parameters = self.storage_models.StorageAccountUpdateParameters(access_tier=self.access_tier)
try: try:
self.storage_client.storage_accounts.update(self.resource_group, self.name, parameters) self.storage_client.storage_accounts.update(self.resource_group, self.name, parameters)
except Exception as exc: except Exception as exc:
@ -376,7 +374,7 @@ class AzureRMStorageAccount(AzureRMModuleBase):
if update_tags: if update_tags:
self.results['changed'] = True self.results['changed'] = True
if not self.check_mode: if not self.check_mode:
parameters = StorageAccountUpdateParameters(tags=self.account_dict['tags']) parameters = self.storage_models.StorageAccountUpdateParameters(tags=self.account_dict['tags'])
try: try:
self.storage_client.storage_accounts.update(self.resource_group, self.name, parameters) self.storage_client.storage_accounts.update(self.resource_group, self.name, parameters)
except Exception as exc: except Exception as exc:
@ -408,9 +406,11 @@ class AzureRMStorageAccount(AzureRMModuleBase):
if self.tags: if self.tags:
account_dict['tags'] = self.tags account_dict['tags'] = self.tags
return account_dict return account_dict
sku = Sku(SkuName(self.account_type)) sku = self.storage_models.Sku(self.storage_models.SkuName(self.account_type))
sku.tier = SkuTier.standard if 'Standard' in self.account_type else SkuTier.premium sku.tier = self.storage_models.SkuTier.standard if 'Standard' in self.account_type else \
parameters = StorageAccountCreateParameters(sku, self.kind, self.location, tags=self.tags, access_tier=self.access_tier) self.storage_models.SkuTier.premium
parameters = self.storage_models.StorageAccountCreateParameters(sku, self.kind, self.location,
tags=self.tags, access_tier=self.access_tier)
self.log(str(parameters)) self.log(str(parameters))
try: try:
poller = self.storage_client.storage_accounts.create(self.resource_group, self.name, parameters) poller = self.storage_client.storage_accounts.create(self.resource_group, self.name, parameters)
@ -422,7 +422,7 @@ class AzureRMStorageAccount(AzureRMModuleBase):
return self.get_account() return self.get_account()
def delete_account(self): def delete_account(self):
if self.account_dict['provisioning_state'] == ProvisioningState.succeeded.value and \ if self.account_dict['provisioning_state'] == self.storage_models.ProvisioningState.succeeded.value and \
self.account_has_blob_containers() and self.force: self.account_has_blob_containers() and self.force:
self.fail("Account contains blob containers. Is it in use? Use the force option to attempt deletion.") self.fail("Account contains blob containers. Is it in use? Use the force option to attempt deletion.")

@ -1528,10 +1528,10 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
self.log("Storage account {0} found.".format(storage_account_name)) self.log("Storage account {0} found.".format(storage_account_name))
self.check_provisioning_state(account) self.check_provisioning_state(account)
return account return account
sku = self.storage_accounts_models.Sku(self.storage_accounts_models.SkuName.standard_lrs) sku = self.storage_models.Sku(self.storage_models.SkuName.standard_lrs)
sku.tier = self.storage_accounts_models.SkuTier.standard sku.tier = self.storage_models.SkuTier.standard
kind = self.storage_accounts_models.Kind.storage kind = self.storage_models.Kind.storage
parameters = self.storage_accounts_models.StorageAccountCreateParameters(sku, kind, self.location) parameters = self.storage_models.StorageAccountCreateParameters(sku, kind, self.location)
self.log("Creating storage account {0} in location {1}".format(storage_account_name, self.location)) self.log("Creating storage account {0} in location {1}".format(storage_account_name, self.location))
self.results['actions'].append("Created storage account {0}".format(storage_account_name)) self.results['actions'].append("Created storage account {0}".format(storage_account_name))
try: try:

Loading…
Cancel
Save