Adding sql client to common (#44825)

This commit is contained in:
Zim Kalinowski 2018-08-30 12:44:36 +08:00 committed by Yunge Zhu
commit 78eb4724a0
4 changed files with 30 additions and 31 deletions

View file

@ -153,6 +153,7 @@ try:
from azure.mgmt.trafficmanager import TrafficManagerManagementClient from azure.mgmt.trafficmanager import TrafficManagerManagementClient
from azure.storage.cloudstorageaccount import CloudStorageAccount from azure.storage.cloudstorageaccount import CloudStorageAccount
from adal.authentication_context import AuthenticationContext from adal.authentication_context import AuthenticationContext
from azure.mgmt.sql import SqlManagementClient
from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
from azure.mgmt.rdbms.mysql import MySQLManagementClient from azure.mgmt.rdbms.mysql import MySQLManagementClient
from azure.mgmt.containerregistry import ContainerRegistryManagementClient from azure.mgmt.containerregistry import ContainerRegistryManagementClient
@ -283,6 +284,7 @@ class AzureRMModuleBase(object):
self._web_client = None self._web_client = None
self._marketplace_client = None self._marketplace_client = None
self._containerservice_client = None self._containerservice_client = None
self._sql_client = None
self._mysql_client = None self._mysql_client = None
self._postgresql_client = None self._postgresql_client = None
self._containerregistry_client = None self._containerregistry_client = None
@ -1073,6 +1075,14 @@ class AzureRMModuleBase(object):
base_url=self._cloud_environment.endpoints.resource_manager) base_url=self._cloud_environment.endpoints.resource_manager)
return self._containerservice_client return self._containerservice_client
@property
def sql_client(self):
self.log('Getting SQL client')
if not self._sql_client:
self._sql_client = self.get_mgmt_svc_client(SqlManagementClient,
base_url=self._cloud_environment.endpoints.resource_manager)
return self._sql_client
@property @property
def postgresql_client(self): def postgresql_client(self):
self.log('Getting PostgreSQL client') self.log('Getting PostgreSQL client')

View file

@ -303,7 +303,6 @@ class AzureRMDatabases(AzureRMModuleBase):
self.parameters = dict() self.parameters = dict()
self.results = dict(changed=False) self.results = dict(changed=False)
self.mgmt_client = None
self.state = None self.state = None
self.to_do = Actions.NoAction self.to_do = Actions.NoAction
@ -351,9 +350,6 @@ class AzureRMDatabases(AzureRMModuleBase):
old_response = None old_response = None
response = None response = None
self.mgmt_client = self.get_mgmt_svc_client(SqlManagementClient,
base_url=self._cloud_environment.endpoints.resource_manager)
resource_group = self.get_resource_group(self.resource_group) resource_group = self.get_resource_group(self.resource_group)
if "location" not in self.parameters: if "location" not in self.parameters:
@ -432,10 +428,10 @@ class AzureRMDatabases(AzureRMModuleBase):
self.log("Creating / Updating the SQL Database instance {0}".format(self.name)) self.log("Creating / Updating the SQL Database instance {0}".format(self.name))
try: try:
response = self.mgmt_client.databases.create_or_update(resource_group_name=self.resource_group, response = self.sql_client.databases.create_or_update(resource_group_name=self.resource_group,
server_name=self.server_name, server_name=self.server_name,
database_name=self.name, database_name=self.name,
parameters=self.parameters) parameters=self.parameters)
if isinstance(response, AzureOperationPoller): if isinstance(response, AzureOperationPoller):
response = self.get_poller_result(response) response = self.get_poller_result(response)
@ -452,9 +448,9 @@ class AzureRMDatabases(AzureRMModuleBase):
''' '''
self.log("Deleting the SQL Database instance {0}".format(self.name)) self.log("Deleting the SQL Database instance {0}".format(self.name))
try: try:
response = self.mgmt_client.databases.delete(resource_group_name=self.resource_group, response = self.sql_client.databases.delete(resource_group_name=self.resource_group,
server_name=self.server_name, server_name=self.server_name,
database_name=self.name) database_name=self.name)
except CloudError as e: except CloudError as e:
self.log('Error attempting to delete the SQL Database instance.') self.log('Error attempting to delete the SQL Database instance.')
self.fail("Error deleting the SQL Database instance: {0}".format(str(e))) self.fail("Error deleting the SQL Database instance: {0}".format(str(e)))
@ -470,9 +466,9 @@ class AzureRMDatabases(AzureRMModuleBase):
self.log("Checking if the SQL Database instance {0} is present".format(self.name)) self.log("Checking if the SQL Database instance {0} is present".format(self.name))
found = False found = False
try: try:
response = self.mgmt_client.databases.get(resource_group_name=self.resource_group, response = self.sql_client.databases.get(resource_group_name=self.resource_group,
server_name=self.server_name, server_name=self.server_name,
database_name=self.name) database_name=self.name)
found = True found = True
self.log("Response : {0}".format(response)) self.log("Response : {0}".format(response))
self.log("SQL Database instance : {0} found".format(response.name)) self.log("SQL Database instance : {0} found".format(response.name))

View file

@ -165,7 +165,6 @@ class AzureRMServers(AzureRMModuleBase):
self.parameters = dict() self.parameters = dict()
self.results = dict(changed=False) self.results = dict(changed=False)
self.mgmt_client = None
self.state = None self.state = None
self.to_do = Actions.NoAction self.to_do = Actions.NoAction
@ -195,9 +194,6 @@ class AzureRMServers(AzureRMModuleBase):
response = None response = None
results = dict() results = dict()
self.mgmt_client = self.get_mgmt_svc_client(SqlManagementClient,
base_url=self._cloud_environment.endpoints.resource_manager)
resource_group = self.get_resource_group(self.resource_group) resource_group = self.get_resource_group(self.resource_group)
if "location" not in self.parameters: if "location" not in self.parameters:
@ -268,9 +264,9 @@ class AzureRMServers(AzureRMModuleBase):
self.log("Creating / Updating the SQL Server instance {0}".format(self.name)) self.log("Creating / Updating the SQL Server instance {0}".format(self.name))
try: try:
response = self.mgmt_client.servers.create_or_update(self.resource_group, response = self.sql_client.servers.create_or_update(self.resource_group,
self.name, self.name,
self.parameters) self.parameters)
if isinstance(response, AzureOperationPoller): if isinstance(response, AzureOperationPoller):
response = self.get_poller_result(response) response = self.get_poller_result(response)
@ -287,8 +283,8 @@ class AzureRMServers(AzureRMModuleBase):
''' '''
self.log("Deleting the SQL Server instance {0}".format(self.name)) self.log("Deleting the SQL Server instance {0}".format(self.name))
try: try:
response = self.mgmt_client.servers.delete(self.resource_group, response = self.sql_client.servers.delete(self.resource_group,
self.name) self.name)
except CloudError as e: except CloudError as e:
self.log('Error attempting to delete the SQL Server instance.') self.log('Error attempting to delete the SQL Server instance.')
self.fail("Error deleting the SQL Server instance: {0}".format(str(e))) self.fail("Error deleting the SQL Server instance: {0}".format(str(e)))
@ -304,8 +300,8 @@ class AzureRMServers(AzureRMModuleBase):
self.log("Checking if the SQL Server instance {0} is present".format(self.name)) self.log("Checking if the SQL Server instance {0} is present".format(self.name))
found = False found = False
try: try:
response = self.mgmt_client.servers.get(self.resource_group, response = self.sql_client.servers.get(self.resource_group,
self.name) self.name)
found = True found = True
self.log("Response : {0}".format(response)) self.log("Response : {0}".format(response))
self.log("SQL Server instance : {0} found".format(response.name)) self.log("SQL Server instance : {0} found".format(response.name))

View file

@ -139,7 +139,6 @@ class AzureRMServersFacts(AzureRMModuleBase):
changed=False, changed=False,
ansible_facts=dict() ansible_facts=dict()
) )
self.mgmt_client = None
self.resource_group = None self.resource_group = None
self.server_name = None self.server_name = None
super(AzureRMServersFacts, self).__init__(self.module_arg_spec) super(AzureRMServersFacts, self).__init__(self.module_arg_spec)
@ -147,8 +146,6 @@ class AzureRMServersFacts(AzureRMModuleBase):
def exec_module(self, **kwargs): def exec_module(self, **kwargs):
for key in self.module_arg_spec: for key in self.module_arg_spec:
setattr(self, key, kwargs[key]) setattr(self, key, kwargs[key])
self.mgmt_client = self.get_mgmt_svc_client(SqlManagementClient,
base_url=self._cloud_environment.endpoints.resource_manager)
if (self.resource_group is not None and if (self.resource_group is not None and
self.server_name is not None): self.server_name is not None):
@ -166,8 +163,8 @@ class AzureRMServersFacts(AzureRMModuleBase):
response = None response = None
results = {} results = {}
try: try:
response = self.mgmt_client.servers.get(resource_group_name=self.resource_group, response = self.sql_client.servers.get(resource_group_name=self.resource_group,
server_name=self.server_name) server_name=self.server_name)
self.log("Response : {0}".format(response)) self.log("Response : {0}".format(response))
except CloudError as e: except CloudError as e:
self.log('Could not get facts for Servers.') self.log('Could not get facts for Servers.')
@ -186,7 +183,7 @@ class AzureRMServersFacts(AzureRMModuleBase):
response = None response = None
results = {} results = {}
try: try:
response = self.mgmt_client.servers.list_by_resource_group(resource_group_name=self.resource_group) response = self.sql_client.servers.list_by_resource_group(resource_group_name=self.resource_group)
self.log("Response : {0}".format(response)) self.log("Response : {0}".format(response))
except CloudError as e: except CloudError as e:
self.log('Could not get facts for Servers.') self.log('Could not get facts for Servers.')