mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
adding new clients to common (#44804)
* adding new clients to common * container registry and instance clients to the common * fix problem
This commit is contained in:
parent
34b7b77bce
commit
ed2cd40a5b
3 changed files with 38 additions and 30 deletions
|
@ -153,6 +153,8 @@ try:
|
|||
from adal.authentication_context import AuthenticationContext
|
||||
from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
|
||||
from azure.mgmt.rdbms.mysql import MySQLManagementClient
|
||||
from azure.mgmt.containerregistry import ContainerRegistryManagementClient
|
||||
from azure.mgmt.containerinstance import ContainerInstanceManagementClient
|
||||
except ImportError as exc:
|
||||
HAS_AZURE_EXC = exc
|
||||
HAS_AZURE = False
|
||||
|
@ -276,6 +278,8 @@ class AzureRMModuleBase(object):
|
|||
self._containerservice_client = None
|
||||
self._mysql_client = None
|
||||
self._postgresql_client = None
|
||||
self._containerregistry_client = None
|
||||
self._containerinstance_client = None
|
||||
self._adfs_authority_url = None
|
||||
self._resource = None
|
||||
|
||||
|
@ -1075,3 +1079,23 @@ class AzureRMModuleBase(object):
|
|||
self._mysql_client = self.get_mgmt_svc_client(MySQLManagementClient,
|
||||
base_url=self._cloud_environment.endpoints.resource_manager)
|
||||
return self._mysql_client
|
||||
|
||||
@property
|
||||
def containerregistry_client(self):
|
||||
self.log('Getting container registry mgmt client')
|
||||
if not self._containerregistry_client:
|
||||
self._containerregistry_client = self.get_mgmt_svc_client(ContainerRegistryManagementClient,
|
||||
base_url=self._cloud_environment.endpoints.resource_manager,
|
||||
api_version='2017-10-01')
|
||||
|
||||
return self._containerregistry_client
|
||||
|
||||
@property
|
||||
def containerinstance_client(self):
|
||||
self.log('Getting container instance mgmt client')
|
||||
if not self._containerinstance_client:
|
||||
self._containerinstance_client = self.get_mgmt_svc_client(ContainerInstanceManagementClient,
|
||||
base_url=self._cloud_environment.endpoints.resource_manager,
|
||||
api_version='2018-06-01')
|
||||
|
||||
return self._containerinstance_client
|
||||
|
|
|
@ -257,7 +257,6 @@ class AzureRMContainerInstance(AzureRMModuleBase):
|
|||
self.containers = None
|
||||
|
||||
self.results = dict(changed=False, state=dict())
|
||||
self.client = None
|
||||
self.cgmodels = None
|
||||
|
||||
super(AzureRMContainerInstance, self).__init__(derived_arg_spec=self.module_arg_spec,
|
||||
|
@ -274,10 +273,8 @@ class AzureRMContainerInstance(AzureRMModuleBase):
|
|||
response = None
|
||||
results = dict()
|
||||
|
||||
self.client = self.get_mgmt_svc_client(ContainerInstanceManagementClient)
|
||||
|
||||
# since this client hasn't been upgraded to expose models directly off the OperationClass, fish them out
|
||||
self.cgmodels = self.client.container_groups.models
|
||||
self.cgmodels = self.containerinstance_client.container_groups.models
|
||||
|
||||
resource_group = self.get_resource_group(self.resource_group)
|
||||
|
||||
|
@ -380,9 +377,9 @@ class AzureRMContainerInstance(AzureRMModuleBase):
|
|||
os_type=self.os_type,
|
||||
volumes=None)
|
||||
|
||||
response = self.client.container_groups.create_or_update(resource_group_name=self.resource_group,
|
||||
container_group_name=self.name,
|
||||
container_group=parameters)
|
||||
response = self.containerinstance_client.container_groups.create_or_update(resource_group_name=self.resource_group,
|
||||
container_group_name=self.name,
|
||||
container_group=parameters)
|
||||
|
||||
if isinstance(response, AzureOperationPoller):
|
||||
response = self.get_poller_result(response)
|
||||
|
@ -396,7 +393,7 @@ class AzureRMContainerInstance(AzureRMModuleBase):
|
|||
:return: True
|
||||
'''
|
||||
self.log("Deleting the container instance {0}".format(self.name))
|
||||
response = self.client.container_groups.delete(resource_group_name=self.resource_group, container_group_name=self.name)
|
||||
response = self.containerinstance_client.container_groups.delete(resource_group_name=self.resource_group, container_group_name=self.name)
|
||||
return True
|
||||
|
||||
def get_containerinstance(self):
|
||||
|
@ -408,7 +405,7 @@ class AzureRMContainerInstance(AzureRMModuleBase):
|
|||
self.log("Checking if the container instance {0} is present".format(self.name))
|
||||
found = False
|
||||
try:
|
||||
response = self.client.container_groups.get(resource_group_name=self.resource_group, container_group_name=self.name)
|
||||
response = self.containerinstance_client.container_groups.get(resource_group_name=self.resource_group, container_group_name=self.name)
|
||||
found = True
|
||||
self.log("Response : {0}".format(response))
|
||||
self.log("Container instance : {0} found".format(response.name))
|
||||
|
|
|
@ -245,7 +245,6 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
self.state = None
|
||||
self.sku = None
|
||||
self.tags = None
|
||||
self._containerregistry_mgmt_client = None
|
||||
|
||||
self.results = dict(changed=False, state=dict())
|
||||
|
||||
|
@ -315,9 +314,9 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
try:
|
||||
if to_do != Actions.NoAction:
|
||||
if to_do == Actions.Create:
|
||||
name_status = self.containerregistry_mgmt_client.registries.check_name_availability(self.name)
|
||||
name_status = self.containerregistry_client.registries.check_name_availability(self.name)
|
||||
if name_status.name_available:
|
||||
poller = self.containerregistry_mgmt_client.registries.create(
|
||||
poller = self.containerregistry_client.registries.create(
|
||||
resource_group_name=self.resource_group,
|
||||
registry_name=self.name,
|
||||
registry=Registry(
|
||||
|
@ -332,9 +331,9 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
else:
|
||||
raise Exception("Invalid registry name. reason: " + name_status.reason + " message: " + name_status.message)
|
||||
else:
|
||||
registry = self.containerregistry_mgmt_client.registries.get(self.resource_group, self.name)
|
||||
registry = self.containerregistry_client.registries.get(self.resource_group, self.name)
|
||||
if registry is not None:
|
||||
poller = self.containerregistry_mgmt_client.registries.update(
|
||||
poller = self.containerregistry_client.registries.update(
|
||||
resource_group_name=self.resource_group,
|
||||
registry_name=self.name,
|
||||
registry_update_parameters=RegistryUpdateParameters(
|
||||
|
@ -349,7 +348,7 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
raise Exception("Update registry failed as registry '" + self.name + "' doesn't exist.")
|
||||
response = self.get_poller_result(poller)
|
||||
if self.admin_user_enabled:
|
||||
credentials = self.containerregistry_mgmt_client.registries.list_credentials(self.resource_group, self.name)
|
||||
credentials = self.containerregistry_client.registries.list_credentials(self.resource_group, self.name)
|
||||
else:
|
||||
self.log('Cannot perform credential operations as admin user is disabled')
|
||||
credentials = None
|
||||
|
@ -369,7 +368,7 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
'''
|
||||
self.log("Deleting the container registry instance {0}".format(self.name))
|
||||
try:
|
||||
self.containerregistry_mgmt_client.registries.delete(self.resource_group, self.name).wait()
|
||||
self.containerregistry_client.registries.delete(self.resource_group, self.name).wait()
|
||||
except CloudError as e:
|
||||
self.log('Error attempting to delete the container registry instance.')
|
||||
self.fail("Error deleting the container registry instance: {0}".format(str(e)))
|
||||
|
@ -385,7 +384,7 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
self.log("Checking if the container registry instance {0} is present".format(self.name))
|
||||
found = False
|
||||
try:
|
||||
response = self.containerregistry_mgmt_client.registries.get(self.resource_group, self.name)
|
||||
response = self.containerregistry_client.registries.get(self.resource_group, self.name)
|
||||
found = True
|
||||
self.log("Response : {0}".format(response))
|
||||
self.log("Container registry instance : {0} found".format(response.name))
|
||||
|
@ -397,7 +396,7 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
response = None
|
||||
if found is True and self.admin_user_enabled is True:
|
||||
try:
|
||||
credentials = self.containerregistry_mgmt_client.registries.list_credentials(self.resource_group, self.name)
|
||||
credentials = self.containerregistry_client.registries.list_credentials(self.resource_group, self.name)
|
||||
except CloudError as e:
|
||||
self.fail('List registry credentials failed: {0}'.format(str(e)))
|
||||
credentials = None
|
||||
|
@ -407,18 +406,6 @@ class AzureRMContainerRegistry(AzureRMModuleBase):
|
|||
return None
|
||||
return create_containerregistry_dict(response, credentials)
|
||||
|
||||
@property
|
||||
def containerregistry_mgmt_client(self):
|
||||
self.log('Getting container registry mgmt client')
|
||||
if not self._containerregistry_mgmt_client:
|
||||
self._containerregistry_mgmt_client = self.get_mgmt_svc_client(
|
||||
ContainerRegistryManagementClient,
|
||||
base_url=self._cloud_environment.endpoints.resource_manager,
|
||||
api_version='2017-10-01'
|
||||
)
|
||||
|
||||
return self._containerregistry_mgmt_client
|
||||
|
||||
|
||||
def main():
|
||||
"""Main execution"""
|
||||
|
|
Loading…
Reference in a new issue