diff --git a/sdk/sql/azure-mgmt-sql/CHANGELOG.md b/sdk/sql/azure-mgmt-sql/CHANGELOG.md index f367bb504f4..b2cf6386ad8 100644 --- a/sdk/sql/azure-mgmt-sql/CHANGELOG.md +++ b/sdk/sql/azure-mgmt-sql/CHANGELOG.md @@ -1,5 +1,46 @@ # Release History +## 4.0.0b20 (2024-11-04) + +### Features Added + + - Model `DistributedAvailabilityGroup` added property `distributed_availability_group_name` + - Model `DistributedAvailabilityGroup` added property `partner_link_role` + - Model `DistributedAvailabilityGroup` added property `partner_availability_group_name` + - Model `DistributedAvailabilityGroup` added property `partner_endpoint` + - Model `DistributedAvailabilityGroup` added property `instance_link_role` + - Model `DistributedAvailabilityGroup` added property `instance_availability_group_name` + - Model `DistributedAvailabilityGroup` added property `failover_mode` + - Model `DistributedAvailabilityGroup` added property `seeding_mode` + - Model `DistributedAvailabilityGroup` added property `databases` + - Added model `CertificateInfo` + - Added model `DistributedAvailabilityGroupDatabase` + - Added model `DistributedAvailabilityGroupSetRole` + - Added model `DistributedAvailabilityGroupsFailoverRequest` + - Added enum `FailoverModeType` + - Added enum `FailoverType` + - Added enum `InstanceRole` + - Added enum `LinkRole` + - Added enum `ReplicaConnectedState` + - Added enum `ReplicaSynchronizationHealth` + - Added enum `ReplicationModeType` + - Added enum `RoleChangeType` + - Added enum `SeedingModeType` + - Operation group `DistributedAvailabilityGroupsOperations` added method `begin_failover` + - Operation group `DistributedAvailabilityGroupsOperations` added method `begin_set_role` + +### Breaking Changes + + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `target_database` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `source_endpoint` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `primary_availability_group_name` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `secondary_availability_group_name` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `source_replica_id` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `target_replica_id` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `link_state` + - Model `DistributedAvailabilityGroup` deleted or renamed its instance variable `last_hardened_lsn` + - Deleted or renamed model `ReplicationMode` + ## 4.0.0b19 (2024-09-09) ### Features Added diff --git a/sdk/sql/azure-mgmt-sql/_meta.json b/sdk/sql/azure-mgmt-sql/_meta.json index ca1773301ac..0b51a784ca4 100644 --- a/sdk/sql/azure-mgmt-sql/_meta.json +++ b/sdk/sql/azure-mgmt-sql/_meta.json @@ -1,11 +1,11 @@ { - "commit": "fa6609332acece21de44c0bf885cbcb3d87bd01f", + "commit": "987a8f38ab2a8359d085e149be042267a9ecc66f", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "autorest": "3.10.2", "use": [ "@autorest/python@6.19.0", "@autorest/modelerfour@4.27.0" ], - "autorest_command": "autorest specification/sql/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.19.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False", + "autorest_command": "autorest specification/sql/resource-manager/readme.md --generate-sample=True --generate-test=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.19.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False", "readme": "specification/sql/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_sql_management_client.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_sql_management_client.py index 524ef1003b3..11b5bda1819 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_sql_management_client.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_sql_management_client.py @@ -431,9 +431,6 @@ class SqlManagementClient: # pylint: disable=client-accepts-api-version-keyword :ivar server_connection_policies: ServerConnectionPoliciesOperations operations :vartype server_connection_policies: azure.mgmt.sql.operations.ServerConnectionPoliciesOperations - :ivar distributed_availability_groups: DistributedAvailabilityGroupsOperations operations - :vartype distributed_availability_groups: - azure.mgmt.sql.operations.DistributedAvailabilityGroupsOperations :ivar server_trust_certificates: ServerTrustCertificatesOperations operations :vartype server_trust_certificates: azure.mgmt.sql.operations.ServerTrustCertificatesOperations :ivar endpoint_certificates: EndpointCertificatesOperations operations @@ -599,6 +596,9 @@ class SqlManagementClient: # pylint: disable=client-accepts-api-version-keyword :vartype servers: azure.mgmt.sql.operations.ServersOperations :ivar replication_links: ReplicationLinksOperations operations :vartype replication_links: azure.mgmt.sql.operations.ReplicationLinksOperations + :ivar distributed_availability_groups: DistributedAvailabilityGroupsOperations operations + :vartype distributed_availability_groups: + azure.mgmt.sql.operations.DistributedAvailabilityGroupsOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The subscription ID that identifies an Azure subscription. Required. @@ -885,9 +885,6 @@ def __init__( self.server_connection_policies = ServerConnectionPoliciesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.distributed_availability_groups = DistributedAvailabilityGroupsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.server_trust_certificates = ServerTrustCertificatesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -1049,6 +1046,9 @@ def __init__( self.replication_links = ReplicationLinksOperations( self._client, self._config, self._serialize, self._deserialize ) + self.distributed_availability_groups = DistributedAvailabilityGroupsOperations( + self._client, self._config, self._serialize, self._deserialize + ) def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_version.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_version.py index ccd58626575..2068c1b3af5 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_version.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "4.0.0b19" +VERSION = "4.0.0b20" diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/_sql_management_client.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/_sql_management_client.py index 8e24eb5cacd..058d03827a5 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/_sql_management_client.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/_sql_management_client.py @@ -435,9 +435,6 @@ class SqlManagementClient: # pylint: disable=client-accepts-api-version-keyword :ivar server_connection_policies: ServerConnectionPoliciesOperations operations :vartype server_connection_policies: azure.mgmt.sql.aio.operations.ServerConnectionPoliciesOperations - :ivar distributed_availability_groups: DistributedAvailabilityGroupsOperations operations - :vartype distributed_availability_groups: - azure.mgmt.sql.aio.operations.DistributedAvailabilityGroupsOperations :ivar server_trust_certificates: ServerTrustCertificatesOperations operations :vartype server_trust_certificates: azure.mgmt.sql.aio.operations.ServerTrustCertificatesOperations @@ -605,6 +602,9 @@ class SqlManagementClient: # pylint: disable=client-accepts-api-version-keyword :vartype servers: azure.mgmt.sql.aio.operations.ServersOperations :ivar replication_links: ReplicationLinksOperations operations :vartype replication_links: azure.mgmt.sql.aio.operations.ReplicationLinksOperations + :ivar distributed_availability_groups: DistributedAvailabilityGroupsOperations operations + :vartype distributed_availability_groups: + azure.mgmt.sql.aio.operations.DistributedAvailabilityGroupsOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The subscription ID that identifies an Azure subscription. Required. @@ -891,9 +891,6 @@ def __init__( self.server_connection_policies = ServerConnectionPoliciesOperations( self._client, self._config, self._serialize, self._deserialize ) - self.distributed_availability_groups = DistributedAvailabilityGroupsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.server_trust_certificates = ServerTrustCertificatesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -1055,6 +1052,9 @@ def __init__( self.replication_links = ReplicationLinksOperations( self._client, self._config, self._serialize, self._deserialize ) + self.distributed_availability_groups = DistributedAvailabilityGroupsOperations( + self._client, self._config, self._serialize, self._deserialize + ) def _send_request( self, request: HttpRequest, *, stream: bool = False, **kwargs: Any diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/__init__.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/__init__.py index 3c1a4b9c517..a5bb9e00626 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/__init__.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/__init__.py @@ -116,7 +116,6 @@ from ._long_term_retention_managed_instance_backups_operations import LongTermRetentionManagedInstanceBackupsOperations from ._restorable_dropped_managed_databases_operations import RestorableDroppedManagedDatabasesOperations from ._server_connection_policies_operations import ServerConnectionPoliciesOperations -from ._distributed_availability_groups_operations import DistributedAvailabilityGroupsOperations from ._server_trust_certificates_operations import ServerTrustCertificatesOperations from ._endpoint_certificates_operations import EndpointCertificatesOperations from ._managed_database_sensitivity_labels_operations import ManagedDatabaseSensitivityLabelsOperations @@ -186,6 +185,7 @@ from ._managed_instances_operations import ManagedInstancesOperations from ._servers_operations import ServersOperations from ._replication_links_operations import ReplicationLinksOperations +from ._distributed_availability_groups_operations import DistributedAvailabilityGroupsOperations from ._patch import __all__ as _patch_all from ._patch import * # pylint: disable=unused-wildcard-import @@ -288,7 +288,6 @@ "LongTermRetentionManagedInstanceBackupsOperations", "RestorableDroppedManagedDatabasesOperations", "ServerConnectionPoliciesOperations", - "DistributedAvailabilityGroupsOperations", "ServerTrustCertificatesOperations", "EndpointCertificatesOperations", "ManagedDatabaseSensitivityLabelsOperations", @@ -342,6 +341,7 @@ "ManagedInstancesOperations", "ServersOperations", "ReplicationLinksOperations", + "DistributedAvailabilityGroupsOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/_distributed_availability_groups_operations.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/_distributed_availability_groups_operations.py index d90d108a9d9..65480382e1f 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/_distributed_availability_groups_operations.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/aio/operations/_distributed_availability_groups_operations.py @@ -34,8 +34,10 @@ from ...operations._distributed_availability_groups_operations import ( build_create_or_update_request, build_delete_request, + build_failover_request, build_get_request, build_list_by_instance_request, + build_set_role_request, build_update_request, ) @@ -86,7 +88,7 @@ def list_by_instance( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[_models.DistributedAvailabilityGroupsListResult] = kwargs.pop("cls", None) error_map: MutableMapping[int, Type[HttpResponseError]] = { @@ -134,7 +136,8 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -172,7 +175,7 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) _request = build_get_request( @@ -195,7 +198,8 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DistributedAvailabilityGroup", pipeline_response.http_response) @@ -223,7 +227,7 @@ async def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) @@ -263,7 +267,8 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) @@ -363,7 +368,7 @@ async def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -426,7 +431,7 @@ async def _delete_initial( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) _request = build_delete_request( @@ -454,7 +459,8 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) @@ -487,7 +493,7 @@ async def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -544,7 +550,7 @@ async def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) @@ -584,7 +590,8 @@ async def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) @@ -684,7 +691,7 @@ async def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) @@ -728,3 +735,422 @@ def get_long_running_output(pipeline_response): return AsyncLROPoller[_models.DistributedAvailabilityGroup]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + + async def _failover_initial( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupsFailoverRequest, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping[int, Type[HttpResponseError]] = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _json = self._serialize.body(parameters, "DistributedAvailabilityGroupsFailoverRequest") + + _request = build_failover_request( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_failover( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: _models.DistributedAvailabilityGroupsFailoverRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DistributedAvailabilityGroup]: + """Performs requested failover type in this distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group failover request parameters. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupsFailoverRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_failover( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DistributedAvailabilityGroup]: + """Performs requested failover type in this distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group failover request parameters. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_failover( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupsFailoverRequest, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.DistributedAvailabilityGroup]: + """Performs requested failover type in this distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group failover request parameters. Is either a + DistributedAvailabilityGroupsFailoverRequest type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupsFailoverRequest or + IO[bytes] + :return: An instance of AsyncLROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._failover_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("DistributedAvailabilityGroup", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.DistributedAvailabilityGroup].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.DistributedAvailabilityGroup]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _set_role_initial( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupSetRole, IO[bytes]], + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping[int, Type[HttpResponseError]] = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _json = self._serialize.body(parameters, "DistributedAvailabilityGroupSetRole") + + _request = build_set_role_request( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_set_role( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: _models.DistributedAvailabilityGroupSetRole, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DistributedAvailabilityGroup]: + """Sets the role for managed instance in a distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group set role request parameters. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupSetRole + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_set_role( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.DistributedAvailabilityGroup]: + """Sets the role for managed instance in a distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group set role request parameters. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_set_role( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupSetRole, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.DistributedAvailabilityGroup]: + """Sets the role for managed instance in a distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group set role request parameters. Is either a + DistributedAvailabilityGroupSetRole type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupSetRole or IO[bytes] + :return: An instance of AsyncLROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._set_role_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("DistributedAvailabilityGroup", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.DistributedAvailabilityGroup].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.DistributedAvailabilityGroup]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py index 0137688191e..1b89fb810ad 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/__init__.py @@ -17,6 +17,7 @@ from ._models_py3 import Baseline from ._models_py3 import BaselineAdjustedResult from ._models_py3 import BenchmarkReference +from ._models_py3 import CertificateInfo from ._models_py3 import ChangeLongTermRetentionBackupAccessTierParameters from ._models_py3 import CheckNameAvailabilityRequest from ._models_py3 import CheckNameAvailabilityResponse @@ -66,6 +67,9 @@ from ._models_py3 import DeletedServer from ._models_py3 import DeletedServerListResult from ._models_py3 import DistributedAvailabilityGroup +from ._models_py3 import DistributedAvailabilityGroupDatabase +from ._models_py3 import DistributedAvailabilityGroupSetRole +from ._models_py3 import DistributedAvailabilityGroupsFailoverRequest from ._models_py3 import DistributedAvailabilityGroupsListResult from ._models_py3 import EditionCapability from ._models_py3 import ElasticPool @@ -473,6 +477,8 @@ from ._sql_management_client_enums import ExternalGovernanceStatus from ._sql_management_client_enums import FailoverGroupDatabasesSecondaryType from ._sql_management_client_enums import FailoverGroupReplicationRole +from ._sql_management_client_enums import FailoverModeType +from ._sql_management_client_enums import FailoverType from ._sql_management_client_enums import FreeLimitExhaustionBehavior from ._sql_management_client_enums import FreemiumType from ._sql_management_client_enums import GeoBackupPolicyName @@ -483,6 +489,7 @@ from ._sql_management_client_enums import ImplementationMethod from ._sql_management_client_enums import InstanceFailoverGroupReplicationRole from ._sql_management_client_enums import InstancePoolLicenseType +from ._sql_management_client_enums import InstanceRole from ._sql_management_client_enums import IsRetryable from ._sql_management_client_enums import JobAgentState from ._sql_management_client_enums import JobExecutionLifecycle @@ -494,6 +501,7 @@ from ._sql_management_client_enums import JobTargetType from ._sql_management_client_enums import LedgerDigestUploadsName from ._sql_management_client_enums import LedgerDigestUploadsState +from ._sql_management_client_enums import LinkRole from ._sql_management_client_enums import LogSizeUnit from ._sql_management_client_enums import LongTermRetentionPolicyName from ._sql_management_client_enums import ManagedDatabaseCreateMode @@ -530,13 +538,16 @@ from ._sql_management_client_enums import RecommendedActionCurrentState from ._sql_management_client_enums import RecommendedActionInitiatedBy from ._sql_management_client_enums import RecommendedSensitivityLabelUpdateKind +from ._sql_management_client_enums import ReplicaConnectedState +from ._sql_management_client_enums import ReplicaSynchronizationHealth from ._sql_management_client_enums import ReplicaType from ._sql_management_client_enums import ReplicationLinkType -from ._sql_management_client_enums import ReplicationMode +from ._sql_management_client_enums import ReplicationModeType from ._sql_management_client_enums import ReplicationRole from ._sql_management_client_enums import ReplicationState from ._sql_management_client_enums import RestoreDetailsName from ._sql_management_client_enums import RestorePointType +from ._sql_management_client_enums import RoleChangeType from ._sql_management_client_enums import RuleSeverity from ._sql_management_client_enums import RuleStatus from ._sql_management_client_enums import RuleType @@ -547,6 +558,7 @@ from ._sql_management_client_enums import SecurityAlertPolicyState from ._sql_management_client_enums import SecurityAlertsPolicyState from ._sql_management_client_enums import SecurityEventType +from ._sql_management_client_enums import SeedingModeType from ._sql_management_client_enums import SensitivityLabelRank from ._sql_management_client_enums import SensitivityLabelSource from ._sql_management_client_enums import SensitivityLabelUpdateKind @@ -601,6 +613,7 @@ "Baseline", "BaselineAdjustedResult", "BenchmarkReference", + "CertificateInfo", "ChangeLongTermRetentionBackupAccessTierParameters", "CheckNameAvailabilityRequest", "CheckNameAvailabilityResponse", @@ -650,6 +663,9 @@ "DeletedServer", "DeletedServerListResult", "DistributedAvailabilityGroup", + "DistributedAvailabilityGroupDatabase", + "DistributedAvailabilityGroupSetRole", + "DistributedAvailabilityGroupsFailoverRequest", "DistributedAvailabilityGroupsListResult", "EditionCapability", "ElasticPool", @@ -1056,6 +1072,8 @@ "ExternalGovernanceStatus", "FailoverGroupDatabasesSecondaryType", "FailoverGroupReplicationRole", + "FailoverModeType", + "FailoverType", "FreeLimitExhaustionBehavior", "FreemiumType", "GeoBackupPolicyName", @@ -1066,6 +1084,7 @@ "ImplementationMethod", "InstanceFailoverGroupReplicationRole", "InstancePoolLicenseType", + "InstanceRole", "IsRetryable", "JobAgentState", "JobExecutionLifecycle", @@ -1077,6 +1096,7 @@ "JobTargetType", "LedgerDigestUploadsName", "LedgerDigestUploadsState", + "LinkRole", "LogSizeUnit", "LongTermRetentionPolicyName", "ManagedDatabaseCreateMode", @@ -1113,13 +1133,16 @@ "RecommendedActionCurrentState", "RecommendedActionInitiatedBy", "RecommendedSensitivityLabelUpdateKind", + "ReplicaConnectedState", + "ReplicaSynchronizationHealth", "ReplicaType", "ReplicationLinkType", - "ReplicationMode", + "ReplicationModeType", "ReplicationRole", "ReplicationState", "RestoreDetailsName", "RestorePointType", + "RoleChangeType", "RuleSeverity", "RuleStatus", "RuleType", @@ -1130,6 +1153,7 @@ "SecurityAlertPolicyState", "SecurityAlertsPolicyState", "SecurityEventType", + "SeedingModeType", "SensitivityLabelRank", "SensitivityLabelSource", "SensitivityLabelUpdateKind", diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_models_py3.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_models_py3.py index 23ddb6a0f20..d7ffcf8b85e 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_models_py3.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_models_py3.py @@ -528,6 +528,34 @@ def __init__(self, **kwargs: Any) -> None: self.reference = None +class CertificateInfo(_serialization.Model): + """Certificate information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar certificate_name: The certificate name. + :vartype certificate_name: str + :ivar expiry_date: The certificate expiry date. + :vartype expiry_date: ~datetime.datetime + """ + + _validation = { + "certificate_name": {"readonly": True}, + "expiry_date": {"readonly": True}, + } + + _attribute_map = { + "certificate_name": {"key": "certificateName", "type": "str"}, + "expiry_date": {"key": "expiryDate", "type": "iso-8601"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.certificate_name = None + self.expiry_date = None + + class ChangeLongTermRetentionBackupAccessTierParameters(_serialization.Model): # pylint: disable=name-too-long """Contains the information necessary to change long term retention backup access tier and related operation mode. @@ -4083,90 +4111,309 @@ class DistributedAvailabilityGroup(ProxyResource): # pylint: disable=too-many-i :vartype name: str :ivar type: Resource type. :vartype type: str - :ivar target_database: The name of the target database. - :vartype target_database: str - :ivar source_endpoint: The source endpoint. - :vartype source_endpoint: str - :ivar primary_availability_group_name: The primary availability group name. - :vartype primary_availability_group_name: str - :ivar secondary_availability_group_name: The secondary availability group name. - :vartype secondary_availability_group_name: str - :ivar replication_mode: The replication mode of a distributed availability group. Parameter - will be ignored during link creation. Known values are: "Async", "Sync", and "Async". - :vartype replication_mode: str or ~azure.mgmt.sql.models.ReplicationMode - :ivar distributed_availability_group_id: The distributed availability group id. + :ivar distributed_availability_group_name: Name of the distributed availability group. + :vartype distributed_availability_group_name: str + :ivar distributed_availability_group_id: ID of the distributed availability group. :vartype distributed_availability_group_id: str - :ivar source_replica_id: The source replica id. - :vartype source_replica_id: str - :ivar target_replica_id: The target replica id. - :vartype target_replica_id: str - :ivar link_state: The link state. - :vartype link_state: str - :ivar last_hardened_lsn: The last hardened lsn. - :vartype last_hardened_lsn: str + :ivar replication_mode: Replication mode of the link. Known values are: "Async", "Sync", and + "Async". + :vartype replication_mode: str or ~azure.mgmt.sql.models.ReplicationModeType + :ivar partner_link_role: SQL server side link role. Known values are: "Primary" and + "Secondary". + :vartype partner_link_role: str or ~azure.mgmt.sql.models.LinkRole + :ivar partner_availability_group_name: SQL server side availability group name. + :vartype partner_availability_group_name: str + :ivar partner_endpoint: SQL server side endpoint - IP or DNS resolvable name. + :vartype partner_endpoint: str + :ivar instance_link_role: Managed instance side link role. Known values are: "Primary" and + "Secondary". + :vartype instance_link_role: str or ~azure.mgmt.sql.models.LinkRole + :ivar instance_availability_group_name: Managed instance side availability group name. + :vartype instance_availability_group_name: str + :ivar failover_mode: The link failover mode - can be Manual if intended to be used for two-way + failover with a supported SQL Server, or None for one-way failover to Azure. Known values are: + "None" and "Manual". + :vartype failover_mode: str or ~azure.mgmt.sql.models.FailoverModeType + :ivar seeding_mode: Database seeding mode – can be Automatic (default), or Manual for supported + scenarios. Known values are: "Automatic" and "Manual". + :vartype seeding_mode: str or ~azure.mgmt.sql.models.SeedingModeType + :ivar databases: Databases in the distributed availability group. + :vartype databases: list[~azure.mgmt.sql.models.DistributedAvailabilityGroupDatabase] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, + "distributed_availability_group_name": {"readonly": True}, "distributed_availability_group_id": {"readonly": True}, - "source_replica_id": {"readonly": True}, - "target_replica_id": {"readonly": True}, - "link_state": {"readonly": True}, - "last_hardened_lsn": {"readonly": True}, + "partner_link_role": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, - "target_database": {"key": "properties.targetDatabase", "type": "str"}, - "source_endpoint": {"key": "properties.sourceEndpoint", "type": "str"}, - "primary_availability_group_name": {"key": "properties.primaryAvailabilityGroupName", "type": "str"}, - "secondary_availability_group_name": {"key": "properties.secondaryAvailabilityGroupName", "type": "str"}, - "replication_mode": {"key": "properties.replicationMode", "type": "str"}, + "distributed_availability_group_name": {"key": "properties.distributedAvailabilityGroupName", "type": "str"}, "distributed_availability_group_id": {"key": "properties.distributedAvailabilityGroupId", "type": "str"}, - "source_replica_id": {"key": "properties.sourceReplicaId", "type": "str"}, - "target_replica_id": {"key": "properties.targetReplicaId", "type": "str"}, - "link_state": {"key": "properties.linkState", "type": "str"}, - "last_hardened_lsn": {"key": "properties.lastHardenedLsn", "type": "str"}, + "replication_mode": {"key": "properties.replicationMode", "type": "str"}, + "partner_link_role": {"key": "properties.partnerLinkRole", "type": "str"}, + "partner_availability_group_name": {"key": "properties.partnerAvailabilityGroupName", "type": "str"}, + "partner_endpoint": {"key": "properties.partnerEndpoint", "type": "str"}, + "instance_link_role": {"key": "properties.instanceLinkRole", "type": "str"}, + "instance_availability_group_name": {"key": "properties.instanceAvailabilityGroupName", "type": "str"}, + "failover_mode": {"key": "properties.failoverMode", "type": "str"}, + "seeding_mode": {"key": "properties.seedingMode", "type": "str"}, + "databases": {"key": "properties.databases", "type": "[DistributedAvailabilityGroupDatabase]"}, } def __init__( self, *, - target_database: Optional[str] = None, - source_endpoint: Optional[str] = None, - primary_availability_group_name: Optional[str] = None, - secondary_availability_group_name: Optional[str] = None, - replication_mode: Optional[Union[str, "_models.ReplicationMode"]] = None, + replication_mode: Optional[Union[str, "_models.ReplicationModeType"]] = None, + partner_availability_group_name: Optional[str] = None, + partner_endpoint: Optional[str] = None, + instance_link_role: Optional[Union[str, "_models.LinkRole"]] = None, + instance_availability_group_name: Optional[str] = None, + failover_mode: Optional[Union[str, "_models.FailoverModeType"]] = None, + seeding_mode: Optional[Union[str, "_models.SeedingModeType"]] = None, + databases: Optional[List["_models.DistributedAvailabilityGroupDatabase"]] = None, **kwargs: Any ) -> None: """ - :keyword target_database: The name of the target database. - :paramtype target_database: str - :keyword source_endpoint: The source endpoint. - :paramtype source_endpoint: str - :keyword primary_availability_group_name: The primary availability group name. - :paramtype primary_availability_group_name: str - :keyword secondary_availability_group_name: The secondary availability group name. - :paramtype secondary_availability_group_name: str - :keyword replication_mode: The replication mode of a distributed availability group. Parameter - will be ignored during link creation. Known values are: "Async", "Sync", and "Async". - :paramtype replication_mode: str or ~azure.mgmt.sql.models.ReplicationMode - """ - super().__init__(**kwargs) - self.target_database = target_database - self.source_endpoint = source_endpoint - self.primary_availability_group_name = primary_availability_group_name - self.secondary_availability_group_name = secondary_availability_group_name - self.replication_mode = replication_mode + :keyword replication_mode: Replication mode of the link. Known values are: "Async", "Sync", and + "Async". + :paramtype replication_mode: str or ~azure.mgmt.sql.models.ReplicationModeType + :keyword partner_availability_group_name: SQL server side availability group name. + :paramtype partner_availability_group_name: str + :keyword partner_endpoint: SQL server side endpoint - IP or DNS resolvable name. + :paramtype partner_endpoint: str + :keyword instance_link_role: Managed instance side link role. Known values are: "Primary" and + "Secondary". + :paramtype instance_link_role: str or ~azure.mgmt.sql.models.LinkRole + :keyword instance_availability_group_name: Managed instance side availability group name. + :paramtype instance_availability_group_name: str + :keyword failover_mode: The link failover mode - can be Manual if intended to be used for + two-way failover with a supported SQL Server, or None for one-way failover to Azure. Known + values are: "None" and "Manual". + :paramtype failover_mode: str or ~azure.mgmt.sql.models.FailoverModeType + :keyword seeding_mode: Database seeding mode – can be Automatic (default), or Manual for + supported scenarios. Known values are: "Automatic" and "Manual". + :paramtype seeding_mode: str or ~azure.mgmt.sql.models.SeedingModeType + :keyword databases: Databases in the distributed availability group. + :paramtype databases: list[~azure.mgmt.sql.models.DistributedAvailabilityGroupDatabase] + """ + super().__init__(**kwargs) + self.distributed_availability_group_name = None self.distributed_availability_group_id = None - self.source_replica_id = None - self.target_replica_id = None - self.link_state = None + self.replication_mode = replication_mode + self.partner_link_role = None + self.partner_availability_group_name = partner_availability_group_name + self.partner_endpoint = partner_endpoint + self.instance_link_role = instance_link_role + self.instance_availability_group_name = instance_availability_group_name + self.failover_mode = failover_mode + self.seeding_mode = seeding_mode + self.databases = databases + + +class DistributedAvailabilityGroupDatabase(_serialization.Model): # pylint: disable=too-many-instance-attributes + """Database specific information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: The name of the database in link. + :vartype database_name: str + :ivar instance_replica_id: Managed instance replica id. + :vartype instance_replica_id: str + :ivar partner_replica_id: SQL server replica id. + :vartype partner_replica_id: str + :ivar replica_state: Current link state. + :vartype replica_state: str + :ivar seeding_progress: Seeding progress. + :vartype seeding_progress: str + :ivar synchronization_health: Link health state. Known values are: "NOT_HEALTHY", + "PARTIALLY_HEALTHY", and "HEALTHY". + :vartype synchronization_health: str or ~azure.mgmt.sql.models.ReplicaSynchronizationHealth + :ivar connected_state: Link connected state. Known values are: "DISCONNECTED" and "CONNECTED". + :vartype connected_state: str or ~azure.mgmt.sql.models.ReplicaConnectedState + :ivar last_received_lsn: Last received LSN. + :vartype last_received_lsn: str + :ivar last_received_time: Last received LSN time. + :vartype last_received_time: ~datetime.datetime + :ivar last_sent_lsn: Last sent LSN. + :vartype last_sent_lsn: str + :ivar last_sent_time: Last sent LSN time. + :vartype last_sent_time: ~datetime.datetime + :ivar last_commit_lsn: Last commit LSN. + :vartype last_commit_lsn: str + :ivar last_commit_time: Last commit LSN time. + :vartype last_commit_time: ~datetime.datetime + :ivar last_hardened_lsn: Last hardened LSN. + :vartype last_hardened_lsn: str + :ivar last_hardened_time: Last hardened LSN time. + :vartype last_hardened_time: ~datetime.datetime + :ivar last_backup_lsn: Last backup LSN. + :vartype last_backup_lsn: str + :ivar last_backup_time: Last backup LSN time. + :vartype last_backup_time: ~datetime.datetime + :ivar most_recent_link_error: The most recent link connection error description. + :vartype most_recent_link_error: str + :ivar partner_auth_cert_validity: SQL server certificate validity. + :vartype partner_auth_cert_validity: ~azure.mgmt.sql.models.CertificateInfo + :ivar instance_send_replication_lag_seconds: Replication lag when Managed Instance link side is + primary. + :vartype instance_send_replication_lag_seconds: int + :ivar instance_redo_replication_lag_seconds: Redo lag when Managed Instance link side is + primary. + :vartype instance_redo_replication_lag_seconds: int + """ + + _validation = { + "instance_replica_id": {"readonly": True}, + "partner_replica_id": {"readonly": True}, + "replica_state": {"readonly": True}, + "seeding_progress": {"readonly": True}, + "synchronization_health": {"readonly": True}, + "connected_state": {"readonly": True}, + "last_received_lsn": {"readonly": True}, + "last_received_time": {"readonly": True}, + "last_sent_lsn": {"readonly": True}, + "last_sent_time": {"readonly": True}, + "last_commit_lsn": {"readonly": True}, + "last_commit_time": {"readonly": True}, + "last_hardened_lsn": {"readonly": True}, + "last_hardened_time": {"readonly": True}, + "last_backup_lsn": {"readonly": True}, + "last_backup_time": {"readonly": True}, + "most_recent_link_error": {"readonly": True}, + "partner_auth_cert_validity": {"readonly": True}, + "instance_send_replication_lag_seconds": {"readonly": True}, + "instance_redo_replication_lag_seconds": {"readonly": True}, + } + + _attribute_map = { + "database_name": {"key": "databaseName", "type": "str"}, + "instance_replica_id": {"key": "instanceReplicaId", "type": "str"}, + "partner_replica_id": {"key": "partnerReplicaId", "type": "str"}, + "replica_state": {"key": "replicaState", "type": "str"}, + "seeding_progress": {"key": "seedingProgress", "type": "str"}, + "synchronization_health": {"key": "synchronizationHealth", "type": "str"}, + "connected_state": {"key": "connectedState", "type": "str"}, + "last_received_lsn": {"key": "lastReceivedLsn", "type": "str"}, + "last_received_time": {"key": "lastReceivedTime", "type": "iso-8601"}, + "last_sent_lsn": {"key": "lastSentLsn", "type": "str"}, + "last_sent_time": {"key": "lastSentTime", "type": "iso-8601"}, + "last_commit_lsn": {"key": "lastCommitLsn", "type": "str"}, + "last_commit_time": {"key": "lastCommitTime", "type": "iso-8601"}, + "last_hardened_lsn": {"key": "lastHardenedLsn", "type": "str"}, + "last_hardened_time": {"key": "lastHardenedTime", "type": "iso-8601"}, + "last_backup_lsn": {"key": "lastBackupLsn", "type": "str"}, + "last_backup_time": {"key": "lastBackupTime", "type": "iso-8601"}, + "most_recent_link_error": {"key": "mostRecentLinkError", "type": "str"}, + "partner_auth_cert_validity": {"key": "partnerAuthCertValidity", "type": "CertificateInfo"}, + "instance_send_replication_lag_seconds": {"key": "instanceSendReplicationLagSeconds", "type": "int"}, + "instance_redo_replication_lag_seconds": {"key": "instanceRedoReplicationLagSeconds", "type": "int"}, + } + + def __init__(self, *, database_name: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword database_name: The name of the database in link. + :paramtype database_name: str + """ + super().__init__(**kwargs) + self.database_name = database_name + self.instance_replica_id = None + self.partner_replica_id = None + self.replica_state = None + self.seeding_progress = None + self.synchronization_health = None + self.connected_state = None + self.last_received_lsn = None + self.last_received_time = None + self.last_sent_lsn = None + self.last_sent_time = None + self.last_commit_lsn = None + self.last_commit_time = None self.last_hardened_lsn = None + self.last_hardened_time = None + self.last_backup_lsn = None + self.last_backup_time = None + self.most_recent_link_error = None + self.partner_auth_cert_validity = None + self.instance_send_replication_lag_seconds = None + self.instance_redo_replication_lag_seconds = None + + +class DistributedAvailabilityGroupSetRole(_serialization.Model): + """Distributed availability group failover request. + + All required parameters must be populated in order to send to server. + + :ivar instance_role: New role of managed instance in a distributed availability group, can be + Primary or Secondary. Required. Known values are: "Primary" and "Secondary". + :vartype instance_role: str or ~azure.mgmt.sql.models.InstanceRole + :ivar role_change_type: The type of the role change, can be Planned or Forced. Required. Known + values are: "Forced" and "Planned". + :vartype role_change_type: str or ~azure.mgmt.sql.models.RoleChangeType + """ + + _validation = { + "instance_role": {"required": True}, + "role_change_type": {"required": True}, + } + + _attribute_map = { + "instance_role": {"key": "instanceRole", "type": "str"}, + "role_change_type": {"key": "roleChangeType", "type": "str"}, + } + + def __init__( + self, + *, + instance_role: Union[str, "_models.InstanceRole"], + role_change_type: Union[str, "_models.RoleChangeType"], + **kwargs: Any + ) -> None: + """ + :keyword instance_role: New role of managed instance in a distributed availability group, can + be Primary or Secondary. Required. Known values are: "Primary" and "Secondary". + :paramtype instance_role: str or ~azure.mgmt.sql.models.InstanceRole + :keyword role_change_type: The type of the role change, can be Planned or Forced. Required. + Known values are: "Forced" and "Planned". + :paramtype role_change_type: str or ~azure.mgmt.sql.models.RoleChangeType + """ + super().__init__(**kwargs) + self.instance_role = instance_role + self.role_change_type = role_change_type + + +class DistributedAvailabilityGroupsFailoverRequest(_serialization.Model): # pylint: disable=name-too-long + """Distributed availability group failover. + + All required parameters must be populated in order to send to server. + + :ivar failover_type: The failover type, can be ForcedAllowDataLoss or Planned. Required. Known + values are: "ForcedAllowDataLoss" and "Planned". + :vartype failover_type: str or ~azure.mgmt.sql.models.FailoverType + """ + + _validation = { + "failover_type": {"required": True}, + } + + _attribute_map = { + "failover_type": {"key": "failoverType", "type": "str"}, + } + + def __init__(self, *, failover_type: Union[str, "_models.FailoverType"], **kwargs: Any) -> None: + """ + :keyword failover_type: The failover type, can be ForcedAllowDataLoss or Planned. Required. + Known values are: "ForcedAllowDataLoss" and "Planned". + :paramtype failover_type: str or ~azure.mgmt.sql.models.FailoverType + """ + super().__init__(**kwargs) + self.failover_type = failover_type class DistributedAvailabilityGroupsListResult(_serialization.Model): diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_sql_management_client_enums.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_sql_management_client_enums.py index 19c4a7c86ef..b14dee5e074 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_sql_management_client_enums.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/models/_sql_management_client_enums.py @@ -518,6 +518,22 @@ class FailoverGroupReplicationRole(str, Enum, metaclass=CaseInsensitiveEnumMeta) SECONDARY = "Secondary" +class FailoverModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The link failover mode - can be Manual if intended to be used for two-way failover with a + supported SQL Server, or None for one-way failover to Azure. + """ + + NONE = "None" + MANUAL = "Manual" + + +class FailoverType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The failover type, can be ForcedAllowDataLoss or Planned.""" + + FORCED_ALLOW_DATA_LOSS = "ForcedAllowDataLoss" + PLANNED = "Planned" + + class FreeLimitExhaustionBehavior(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Specifies the behavior when monthly free limits are exhausted for the free database. @@ -607,6 +623,13 @@ class InstancePoolLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): BASE_PRICE = "BasePrice" +class InstanceRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """New role of managed instance in a distributed availability group, can be Primary or Secondary.""" + + PRIMARY = "Primary" + SECONDARY = "Secondary" + + class IsRetryable(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No. @@ -696,6 +719,13 @@ class LedgerDigestUploadsState(str, Enum, metaclass=CaseInsensitiveEnumMeta): DISABLED = "Disabled" +class LinkRole(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """SQL server side link role.""" + + PRIMARY = "Primary" + SECONDARY = "Secondary" + + class LogSizeUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The units that the limit is expressed in.""" @@ -1026,6 +1056,21 @@ class RecommendedSensitivityLabelUpdateKind(str, Enum, metaclass=CaseInsensitive DISABLE = "disable" +class ReplicaConnectedState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Link connected state.""" + + DISCONNECTED = "DISCONNECTED" + CONNECTED = "CONNECTED" + + +class ReplicaSynchronizationHealth(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Link health state.""" + + NOT_HEALTHY = "NOT_HEALTHY" + PARTIALLY_HEALTHY = "PARTIALLY_HEALTHY" + HEALTHY = "HEALTHY" + + class ReplicationLinkType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Link type (GEO, NAMED, STANDBY). Update operation does not support NAMED.""" @@ -1034,10 +1079,8 @@ class ReplicationLinkType(str, Enum, metaclass=CaseInsensitiveEnumMeta): STANDBY = "STANDBY" -class ReplicationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The replication mode of a distributed availability group. Parameter will be ignored during link - creation. - """ +class ReplicationModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Replication mode of the link.""" ASYNC = "Async" SYNC = "Sync" @@ -1083,6 +1126,13 @@ class RestorePointType(str, Enum, metaclass=CaseInsensitiveEnumMeta): DISCRETE = "DISCRETE" +class RoleChangeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The type of the role change, can be Planned or Forced.""" + + FORCED = "Forced" + PLANNED = "Planned" + + class RuleSeverity(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SQL Vulnerability Assessment rule severity.""" @@ -1168,6 +1218,13 @@ class SecurityEventType(str, Enum, metaclass=CaseInsensitiveEnumMeta): SQL_INJECTION_EXPLOIT = "SqlInjectionExploit" +class SeedingModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Database seeding mode – can be Automatic (default), or Manual for supported scenarios.""" + + AUTOMATIC = "Automatic" + MANUAL = "Manual" + + class SensitivityLabelRank(str, Enum, metaclass=CaseInsensitiveEnumMeta): """SensitivityLabelRank.""" diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py index 3c1a4b9c517..a5bb9e00626 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/__init__.py @@ -116,7 +116,6 @@ from ._long_term_retention_managed_instance_backups_operations import LongTermRetentionManagedInstanceBackupsOperations from ._restorable_dropped_managed_databases_operations import RestorableDroppedManagedDatabasesOperations from ._server_connection_policies_operations import ServerConnectionPoliciesOperations -from ._distributed_availability_groups_operations import DistributedAvailabilityGroupsOperations from ._server_trust_certificates_operations import ServerTrustCertificatesOperations from ._endpoint_certificates_operations import EndpointCertificatesOperations from ._managed_database_sensitivity_labels_operations import ManagedDatabaseSensitivityLabelsOperations @@ -186,6 +185,7 @@ from ._managed_instances_operations import ManagedInstancesOperations from ._servers_operations import ServersOperations from ._replication_links_operations import ReplicationLinksOperations +from ._distributed_availability_groups_operations import DistributedAvailabilityGroupsOperations from ._patch import __all__ as _patch_all from ._patch import * # pylint: disable=unused-wildcard-import @@ -288,7 +288,6 @@ "LongTermRetentionManagedInstanceBackupsOperations", "RestorableDroppedManagedDatabasesOperations", "ServerConnectionPoliciesOperations", - "DistributedAvailabilityGroupsOperations", "ServerTrustCertificatesOperations", "EndpointCertificatesOperations", "ManagedDatabaseSensitivityLabelsOperations", @@ -342,6 +341,7 @@ "ManagedInstancesOperations", "ServersOperations", "ReplicationLinksOperations", + "DistributedAvailabilityGroupsOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/_distributed_availability_groups_operations.py b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/_distributed_availability_groups_operations.py index 7544e82c40c..7f3482eb516 100644 --- a/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/_distributed_availability_groups_operations.py +++ b/sdk/sql/azure-mgmt-sql/azure/mgmt/sql/operations/_distributed_availability_groups_operations.py @@ -49,7 +49,7 @@ def build_list_by_instance_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -84,7 +84,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -122,7 +122,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -160,9 +160,12 @@ def build_delete_request( subscription_id: str, **kwargs: Any ) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + # Construct URL _url = kwargs.pop( "template_url", @@ -182,7 +185,10 @@ def build_delete_request( # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) def build_update_request( @@ -195,7 +201,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -226,6 +232,100 @@ def build_update_request( return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) +def build_failover_request( + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/distributedAvailabilityGroups/{distributedAvailabilityGroupName}/failover", + ) # pylint: disable=line-too-long + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "managedInstanceName": _SERIALIZER.url( + "managed_instance_name", + managed_instance_name, + "str", + max_length=63, + min_length=1, + pattern=r"^[a-z0-9]+(?:-[a-z0-9]+)*$", + ), + "distributedAvailabilityGroupName": _SERIALIZER.url( + "distributed_availability_group_name", + distributed_availability_group_name, + "str", + max_length=128, + min_length=1, + pattern=r"^[#a-zA-Z_][\w@#$]*$", + ), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_set_role_request( + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/distributedAvailabilityGroups/{distributedAvailabilityGroupName}/setRole", + ) # pylint: disable=line-too-long + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "managedInstanceName": _SERIALIZER.url("managed_instance_name", managed_instance_name, "str"), + "distributedAvailabilityGroupName": _SERIALIZER.url( + "distributed_availability_group_name", distributed_availability_group_name, "str" + ), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + class DistributedAvailabilityGroupsOperations: """ .. warning:: @@ -264,7 +364,7 @@ def list_by_instance( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[_models.DistributedAvailabilityGroupsListResult] = kwargs.pop("cls", None) error_map: MutableMapping[int, Type[HttpResponseError]] = { @@ -312,7 +412,8 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -350,7 +451,7 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) _request = build_get_request( @@ -373,7 +474,8 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("DistributedAvailabilityGroup", pipeline_response.http_response) @@ -401,7 +503,7 @@ def _create_or_update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) @@ -441,7 +543,8 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) @@ -541,7 +644,7 @@ def begin_create_or_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -604,7 +707,7 @@ def _delete_initial( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) _request = build_delete_request( @@ -632,7 +735,8 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) @@ -665,7 +769,7 @@ def begin_delete( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) cls: ClsType[None] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) @@ -722,7 +826,7 @@ def _update_initial( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) @@ -762,7 +866,8 @@ def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) @@ -862,7 +967,7 @@ def begin_update( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2021-11-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) @@ -906,3 +1011,422 @@ def get_long_running_output(pipeline_response): return LROPoller[_models.DistributedAvailabilityGroup]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + + def _failover_initial( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupsFailoverRequest, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping[int, Type[HttpResponseError]] = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _json = self._serialize.body(parameters, "DistributedAvailabilityGroupsFailoverRequest") + + _request = build_failover_request( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_failover( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: _models.DistributedAvailabilityGroupsFailoverRequest, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DistributedAvailabilityGroup]: + """Performs requested failover type in this distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group failover request parameters. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupsFailoverRequest + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_failover( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DistributedAvailabilityGroup]: + """Performs requested failover type in this distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group failover request parameters. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_failover( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupsFailoverRequest, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.DistributedAvailabilityGroup]: + """Performs requested failover type in this distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group failover request parameters. Is either a + DistributedAvailabilityGroupsFailoverRequest type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupsFailoverRequest or + IO[bytes] + :return: An instance of LROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._failover_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("DistributedAvailabilityGroup", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.DistributedAvailabilityGroup].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.DistributedAvailabilityGroup]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _set_role_initial( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupSetRole, IO[bytes]], + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping[int, Type[HttpResponseError]] = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(parameters, (IOBase, bytes)): + _content = parameters + else: + _json = self._serialize.body(parameters, "DistributedAvailabilityGroupSetRole") + + _request = build_set_role_request( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_set_role( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: _models.DistributedAvailabilityGroupSetRole, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DistributedAvailabilityGroup]: + """Sets the role for managed instance in a distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group set role request parameters. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupSetRole + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_set_role( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.DistributedAvailabilityGroup]: + """Sets the role for managed instance in a distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group set role request parameters. Required. + :type parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_set_role( + self, + resource_group_name: str, + managed_instance_name: str, + distributed_availability_group_name: str, + parameters: Union[_models.DistributedAvailabilityGroupSetRole, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.DistributedAvailabilityGroup]: + """Sets the role for managed instance in a distributed availability group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. Required. + :type resource_group_name: str + :param managed_instance_name: The name of the managed instance. Required. + :type managed_instance_name: str + :param distributed_availability_group_name: The distributed availability group name. Required. + :type distributed_availability_group_name: str + :param parameters: The distributed availability group set role request parameters. Is either a + DistributedAvailabilityGroupSetRole type or a IO[bytes] type. Required. + :type parameters: ~azure.mgmt.sql.models.DistributedAvailabilityGroupSetRole or IO[bytes] + :return: An instance of LROPoller that returns either DistributedAvailabilityGroup or the + result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.sql.models.DistributedAvailabilityGroup] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.DistributedAvailabilityGroup] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._set_role_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + distributed_availability_group_name=distributed_availability_group_name, + parameters=parameters, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("DistributedAvailabilityGroup", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.DistributedAvailabilityGroup].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.DistributedAvailabilityGroup]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create_max.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create_max.py new file mode 100644 index 00000000000..be967c1f7b6 --- /dev/null +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create_max.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.sql import SqlManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-sql +# USAGE + python distributed_availability_groups_create_max.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = SqlManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.distributed_availability_groups.begin_create_or_update( + resource_group_name="testrg", + managed_instance_name="testcl", + distributed_availability_group_name="dag", + parameters={ + "properties": { + "databases": [{"databaseName": "testdb"}], + "failoverMode": "None", + "instanceAvailabilityGroupName": "testcl", + "instanceLinkRole": "Primary", + "partnerAvailabilityGroupName": "BoxLocalAg1", + "partnerEndpoint": "TCP://SERVER:7022", + "seedingMode": "Automatic", + } + }, + ).result() + print(response) + + +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsCreateMax.json +if __name__ == "__main__": + main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create_min.py similarity index 80% rename from sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create.py rename to sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create_min.py index eaaab62f4d1..8d68965d019 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_create_min.py @@ -15,7 +15,7 @@ pip install azure-identity pip install azure-mgmt-sql # USAGE - python distributed_availability_groups_create.py + python distributed_availability_groups_create_min.py Before run the sample, please set the values of the client ID, tenant ID and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, @@ -36,16 +36,16 @@ def main(): distributed_availability_group_name="dag", parameters={ "properties": { - "primaryAvailabilityGroupName": "BoxLocalAg1", - "secondaryAvailabilityGroupName": "testcl", - "sourceEndpoint": "TCP://SERVER:7022", - "targetDatabase": "testdb", + "databases": [{"databaseName": "testdb"}], + "instanceAvailabilityGroupName": "testcl", + "partnerAvailabilityGroupName": "BoxLocalAg1", + "partnerEndpoint": "TCP://SERVER:7022", } }, ).result() print(response) -# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsCreate.json +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsCreateMin.json if __name__ == "__main__": main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_delete.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_delete.py index ba3e4beb412..6b1b9baa83f 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_delete.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_delete.py @@ -27,7 +27,7 @@ def main(): client = SqlManagementClient( credential=DefaultAzureCredential(), - subscription_id="f2669dff-5f08-45dd-b857-b2a60b72cdc9", + subscription_id="00000000-1111-2222-3333-444444444444", ) client.distributed_availability_groups.begin_delete( @@ -37,6 +37,6 @@ def main(): ).result() -# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsDelete.json +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsDelete.json if __name__ == "__main__": main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_failover.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_failover.py new file mode 100644 index 00000000000..c4de78c5231 --- /dev/null +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_failover.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.sql import SqlManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-sql +# USAGE + python distributed_availability_groups_failover.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = SqlManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.distributed_availability_groups.begin_failover( + resource_group_name="testrg", + managed_instance_name="testcl", + distributed_availability_group_name="dag", + parameters={"failoverType": "ForcedAllowDataLoss"}, + ).result() + print(response) + + +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsFailover.json +if __name__ == "__main__": + main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_get.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_get.py index 8b4f0c38b1e..bd3f94df18f 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_get.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_get.py @@ -27,7 +27,7 @@ def main(): client = SqlManagementClient( credential=DefaultAzureCredential(), - subscription_id="f2669dff-5f08-45dd-b857-b2a60b72cdc9", + subscription_id="00000000-1111-2222-3333-444444444444", ) response = client.distributed_availability_groups.get( @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsGet.json +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsGet.json if __name__ == "__main__": main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_list_by_instance.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_list_by_instance.py index 6a72d6419af..46fcf2d932f 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_list_by_instance.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_list_by_instance.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsListByInstance.json +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsListByInstance.json if __name__ == "__main__": main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_set_role.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_set_role.py new file mode 100644 index 00000000000..a6276f47021 --- /dev/null +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_set_role.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.sql import SqlManagementClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-sql +# USAGE + python distributed_availability_groups_set_role.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = SqlManagementClient( + credential=DefaultAzureCredential(), + subscription_id="00000000-1111-2222-3333-444444444444", + ) + + response = client.distributed_availability_groups.begin_set_role( + resource_group_name="testrg", + managed_instance_name="testcl", + distributed_availability_group_name="dag", + parameters={"instanceRole": "Primary", "roleChangeType": "Forced"}, + ).result() + print(response) + + +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsSetRole.json +if __name__ == "__main__": + main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_update.py b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_update.py index 94e94309b10..3baf46ac195 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_update.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/distributed_availability_groups_update.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsUpdate.json +# x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2023-08-01-preview/examples/DistributedAvailabilityGroupsUpdate.json if __name__ == "__main__": main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy.py b/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy.py index 97c24c1ad25..354c103f13e 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy.py @@ -9,6 +9,7 @@ from azure.identity import DefaultAzureCredential from azure.mgmt.sql import SqlManagementClient + """ # PREREQUISITES pip install azure-identity @@ -21,6 +22,8 @@ AZURE_CLIENT_SECRET. For more info about how to get the value, please see: https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal """ + + def main(): client = SqlManagementClient( credential=DefaultAzureCredential(), @@ -28,15 +31,15 @@ def main(): ) response = client.managed_backup_short_term_retention_policies.begin_update( - resource_group_name='resourceGroup', - managed_instance_name='testsvr', - database_name='testdb', - policy_name='default', - parameters={'properties': {'retentionDays': 14}}, + resource_group_name="resourceGroup", + managed_instance_name="testsvr", + database_name="testdb", + policy_name="default", + parameters={"properties": {"retentionDays": 14}}, ).result() print(response) + # x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/UpdateManagedShortTermRetentionPolicy.json if __name__ == "__main__": main() - main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy_restorable_dropped.py b/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy_restorable_dropped.py index 540bcea13e4..e1ff6aea4e7 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy_restorable_dropped.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/update_managed_short_term_retention_policy_restorable_dropped.py @@ -9,6 +9,7 @@ from azure.identity import DefaultAzureCredential from azure.mgmt.sql import SqlManagementClient + """ # PREREQUISITES pip install azure-identity @@ -21,6 +22,8 @@ AZURE_CLIENT_SECRET. For more info about how to get the value, please see: https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal """ + + def main(): client = SqlManagementClient( credential=DefaultAzureCredential(), @@ -28,15 +31,15 @@ def main(): ) response = client.managed_restorable_dropped_database_backup_short_term_retention_policies.begin_update( - resource_group_name='resourceGroup', - managed_instance_name='testsvr', - restorable_dropped_database_id='testdb,131403269876900000', - policy_name='default', - parameters={'properties': {'retentionDays': 14}}, + resource_group_name="resourceGroup", + managed_instance_name="testsvr", + restorable_dropped_database_id="testdb,131403269876900000", + policy_name="default", + parameters={"properties": {"retentionDays": 14}}, ).result() print(response) + # x-ms-original-file: specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json if __name__ == "__main__": main() - main() diff --git a/sdk/sql/azure-mgmt-sql/generated_samples/update_short_term_retention_policy.py b/sdk/sql/azure-mgmt-sql/generated_samples/update_short_term_retention_policy.py index b45b1175c0e..4b6a803bdf9 100644 --- a/sdk/sql/azure-mgmt-sql/generated_samples/update_short_term_retention_policy.py +++ b/sdk/sql/azure-mgmt-sql/generated_samples/update_short_term_retention_policy.py @@ -30,7 +30,7 @@ def main(): subscription_id="00000000-1111-2222-3333-444444444444", ) - response = client.backup_short_term_retention_policies.begin_create_or_update( + response = client.backup_short_term_retention_policies.begin_update( resource_group_name="resourceGroup", server_name="testsvr", database_name="testdb", diff --git a/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations.py b/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations.py index ee1b1986344..5e35f4e8872 100644 --- a/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations.py +++ b/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations.py @@ -24,7 +24,7 @@ def test_list_by_instance(self, resource_group): response = self.client.distributed_availability_groups.list_by_instance( resource_group_name=resource_group.name, managed_instance_name="str", - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ) result = [r for r in response] # please add some check logic here by yourself @@ -37,7 +37,7 @@ def test_get(self, resource_group): resource_group_name=resource_group.name, managed_instance_name="str", distributed_availability_group_name="str", - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ) # please add some check logic here by yourself @@ -51,21 +51,46 @@ def test_begin_create_or_update(self, resource_group): managed_instance_name="str", distributed_availability_group_name="str", parameters={ + "databases": [ + { + "connectedState": "str", + "databaseName": "str", + "instanceRedoReplicationLagSeconds": 0, + "instanceReplicaId": "str", + "instanceSendReplicationLagSeconds": 0, + "lastBackupLsn": "str", + "lastBackupTime": "2020-02-20 00:00:00", + "lastCommitLsn": "str", + "lastCommitTime": "2020-02-20 00:00:00", + "lastHardenedLsn": "str", + "lastHardenedTime": "2020-02-20 00:00:00", + "lastReceivedLsn": "str", + "lastReceivedTime": "2020-02-20 00:00:00", + "lastSentLsn": "str", + "lastSentTime": "2020-02-20 00:00:00", + "mostRecentLinkError": "str", + "partnerAuthCertValidity": {"certificateName": "str", "expiryDate": "2020-02-20 00:00:00"}, + "partnerReplicaId": "str", + "replicaState": "str", + "seedingProgress": "str", + "synchronizationHealth": "str", + } + ], "distributedAvailabilityGroupId": "str", + "distributedAvailabilityGroupName": "str", + "failoverMode": "str", "id": "str", - "lastHardenedLsn": "str", - "linkState": "str", + "instanceAvailabilityGroupName": "str", + "instanceLinkRole": "str", "name": "str", - "primaryAvailabilityGroupName": "str", + "partnerAvailabilityGroupName": "str", + "partnerEndpoint": "str", + "partnerLinkRole": "str", "replicationMode": "str", - "secondaryAvailabilityGroupName": "str", - "sourceEndpoint": "str", - "sourceReplicaId": "str", - "targetDatabase": "str", - "targetReplicaId": "str", + "seedingMode": "str", "type": "str", }, - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -78,7 +103,7 @@ def test_begin_delete(self, resource_group): resource_group_name=resource_group.name, managed_instance_name="str", distributed_availability_group_name="str", - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -92,21 +117,74 @@ def test_begin_update(self, resource_group): managed_instance_name="str", distributed_availability_group_name="str", parameters={ + "databases": [ + { + "connectedState": "str", + "databaseName": "str", + "instanceRedoReplicationLagSeconds": 0, + "instanceReplicaId": "str", + "instanceSendReplicationLagSeconds": 0, + "lastBackupLsn": "str", + "lastBackupTime": "2020-02-20 00:00:00", + "lastCommitLsn": "str", + "lastCommitTime": "2020-02-20 00:00:00", + "lastHardenedLsn": "str", + "lastHardenedTime": "2020-02-20 00:00:00", + "lastReceivedLsn": "str", + "lastReceivedTime": "2020-02-20 00:00:00", + "lastSentLsn": "str", + "lastSentTime": "2020-02-20 00:00:00", + "mostRecentLinkError": "str", + "partnerAuthCertValidity": {"certificateName": "str", "expiryDate": "2020-02-20 00:00:00"}, + "partnerReplicaId": "str", + "replicaState": "str", + "seedingProgress": "str", + "synchronizationHealth": "str", + } + ], "distributedAvailabilityGroupId": "str", + "distributedAvailabilityGroupName": "str", + "failoverMode": "str", "id": "str", - "lastHardenedLsn": "str", - "linkState": "str", + "instanceAvailabilityGroupName": "str", + "instanceLinkRole": "str", "name": "str", - "primaryAvailabilityGroupName": "str", + "partnerAvailabilityGroupName": "str", + "partnerEndpoint": "str", + "partnerLinkRole": "str", "replicationMode": "str", - "secondaryAvailabilityGroupName": "str", - "sourceEndpoint": "str", - "sourceReplicaId": "str", - "targetDatabase": "str", - "targetReplicaId": "str", + "seedingMode": "str", "type": "str", }, - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_begin_failover(self, resource_group): + response = self.client.distributed_availability_groups.begin_failover( + resource_group_name=resource_group.name, + managed_instance_name="str", + distributed_availability_group_name="str", + parameters={"failoverType": "str"}, + api_version="2023-08-01-preview", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_begin_set_role(self, resource_group): + response = self.client.distributed_availability_groups.begin_set_role( + resource_group_name=resource_group.name, + managed_instance_name="str", + distributed_availability_group_name="str", + parameters={"instanceRole": "str", "roleChangeType": "str"}, + api_version="2023-08-01-preview", ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself diff --git a/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations_async.py b/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations_async.py index f6a07574642..9429711cf38 100644 --- a/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations_async.py +++ b/sdk/sql/azure-mgmt-sql/generated_tests/test_sql_management_distributed_availability_groups_operations_async.py @@ -25,7 +25,7 @@ async def test_list_by_instance(self, resource_group): response = self.client.distributed_availability_groups.list_by_instance( resource_group_name=resource_group.name, managed_instance_name="str", - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ) result = [r async for r in response] # please add some check logic here by yourself @@ -38,7 +38,7 @@ async def test_get(self, resource_group): resource_group_name=resource_group.name, managed_instance_name="str", distributed_availability_group_name="str", - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ) # please add some check logic here by yourself @@ -53,21 +53,46 @@ async def test_begin_create_or_update(self, resource_group): managed_instance_name="str", distributed_availability_group_name="str", parameters={ + "databases": [ + { + "connectedState": "str", + "databaseName": "str", + "instanceRedoReplicationLagSeconds": 0, + "instanceReplicaId": "str", + "instanceSendReplicationLagSeconds": 0, + "lastBackupLsn": "str", + "lastBackupTime": "2020-02-20 00:00:00", + "lastCommitLsn": "str", + "lastCommitTime": "2020-02-20 00:00:00", + "lastHardenedLsn": "str", + "lastHardenedTime": "2020-02-20 00:00:00", + "lastReceivedLsn": "str", + "lastReceivedTime": "2020-02-20 00:00:00", + "lastSentLsn": "str", + "lastSentTime": "2020-02-20 00:00:00", + "mostRecentLinkError": "str", + "partnerAuthCertValidity": {"certificateName": "str", "expiryDate": "2020-02-20 00:00:00"}, + "partnerReplicaId": "str", + "replicaState": "str", + "seedingProgress": "str", + "synchronizationHealth": "str", + } + ], "distributedAvailabilityGroupId": "str", + "distributedAvailabilityGroupName": "str", + "failoverMode": "str", "id": "str", - "lastHardenedLsn": "str", - "linkState": "str", + "instanceAvailabilityGroupName": "str", + "instanceLinkRole": "str", "name": "str", - "primaryAvailabilityGroupName": "str", + "partnerAvailabilityGroupName": "str", + "partnerEndpoint": "str", + "partnerLinkRole": "str", "replicationMode": "str", - "secondaryAvailabilityGroupName": "str", - "sourceEndpoint": "str", - "sourceReplicaId": "str", - "targetDatabase": "str", - "targetReplicaId": "str", + "seedingMode": "str", "type": "str", }, - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -82,7 +107,7 @@ async def test_begin_delete(self, resource_group): resource_group_name=resource_group.name, managed_instance_name="str", distributed_availability_group_name="str", - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", ) ).result() # call '.result()' to poll until service return final result @@ -98,21 +123,78 @@ async def test_begin_update(self, resource_group): managed_instance_name="str", distributed_availability_group_name="str", parameters={ + "databases": [ + { + "connectedState": "str", + "databaseName": "str", + "instanceRedoReplicationLagSeconds": 0, + "instanceReplicaId": "str", + "instanceSendReplicationLagSeconds": 0, + "lastBackupLsn": "str", + "lastBackupTime": "2020-02-20 00:00:00", + "lastCommitLsn": "str", + "lastCommitTime": "2020-02-20 00:00:00", + "lastHardenedLsn": "str", + "lastHardenedTime": "2020-02-20 00:00:00", + "lastReceivedLsn": "str", + "lastReceivedTime": "2020-02-20 00:00:00", + "lastSentLsn": "str", + "lastSentTime": "2020-02-20 00:00:00", + "mostRecentLinkError": "str", + "partnerAuthCertValidity": {"certificateName": "str", "expiryDate": "2020-02-20 00:00:00"}, + "partnerReplicaId": "str", + "replicaState": "str", + "seedingProgress": "str", + "synchronizationHealth": "str", + } + ], "distributedAvailabilityGroupId": "str", + "distributedAvailabilityGroupName": "str", + "failoverMode": "str", "id": "str", - "lastHardenedLsn": "str", - "linkState": "str", + "instanceAvailabilityGroupName": "str", + "instanceLinkRole": "str", "name": "str", - "primaryAvailabilityGroupName": "str", + "partnerAvailabilityGroupName": "str", + "partnerEndpoint": "str", + "partnerLinkRole": "str", "replicationMode": "str", - "secondaryAvailabilityGroupName": "str", - "sourceEndpoint": "str", - "sourceReplicaId": "str", - "targetDatabase": "str", - "targetReplicaId": "str", + "seedingMode": "str", "type": "str", }, - api_version="2021-11-01-preview", + api_version="2023-08-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_begin_failover(self, resource_group): + response = await ( + await self.client.distributed_availability_groups.begin_failover( + resource_group_name=resource_group.name, + managed_instance_name="str", + distributed_availability_group_name="str", + parameters={"failoverType": "str"}, + api_version="2023-08-01-preview", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_begin_set_role(self, resource_group): + response = await ( + await self.client.distributed_availability_groups.begin_set_role( + resource_group_name=resource_group.name, + managed_instance_name="str", + distributed_availability_group_name="str", + parameters={"instanceRole": "str", "roleChangeType": "str"}, + api_version="2023-08-01-preview", ) ).result() # call '.result()' to poll until service return final result diff --git a/sdk/sql/azure-mgmt-sql/setup.py b/sdk/sql/azure-mgmt-sql/setup.py index 121407266bf..689f782aa52 100644 --- a/sdk/sql/azure-mgmt-sql/setup.py +++ b/sdk/sql/azure-mgmt-sql/setup.py @@ -22,9 +22,11 @@ # Version extraction inspired from 'requests' with open( - os.path.join(package_folder_path, "version.py") - if os.path.exists(os.path.join(package_folder_path, "version.py")) - else os.path.join(package_folder_path, "_version.py"), + ( + os.path.join(package_folder_path, "version.py") + if os.path.exists(os.path.join(package_folder_path, "version.py")) + else os.path.join(package_folder_path, "_version.py") + ), "r", ) as fd: version = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE).group(1) diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql.py index 778945642f7..b092c13a3c7 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # TEST SCENARIO COVERAGE @@ -115,42 +115,31 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) - + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.network import NetworkManagementClient - self.network_client = self.create_mgmt_client( - NetworkManagementClient - ) + + self.network_client = self.create_mgmt_client(NetworkManagementClient) def create_virtual_network(self, group_name, location, network_name, subnet_name): azure_operation_poller = self.network_client.virtual_networks.create_or_update( group_name, network_name, - { - 'location': location, - 'address_space': { - 'address_prefixes': ['10.0.0.0/16'] - } - }, + {"location": location, "address_space": {"address_prefixes": ["10.0.0.0/16"]}}, ) result_create = azure_operation_poller.result() async_subnet_creation = self.network_client.subnets.create_or_update( - group_name, - network_name, - subnet_name, - {'address_prefix': '10.0.0.0/24'} + group_name, network_name, subnet_name, {"address_prefix": "10.0.0.0/24"} ) subnet_info = async_subnet_creation.result() @@ -231,3413 +220,5033 @@ def test_sql(self, resource_group): RESTORE_DETAILS_NAME = "myRestoreDetails" AUTHENTICATION_NAME = "myAuthentication" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/put/Create an instance pool with min properties.[put] -#-------------------------------------------------------------------------- - BODY = { - "sku": { - "name": "GP_Gen5", - "tier": "GeneralPurpose", - "family": "Gen5" - }, - "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetwork/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, - "v_cores": "8", - "license_type": "LicenseIncluded" - } - result = self.mgmt_client.instance_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "sku": {"name": "GP_Gen5", "tier": "GeneralPurpose", "family": "Gen5"}, + "subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetwork/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + "v_cores": "8", + "license_type": "LicenseIncluded", + } + result = self.mgmt_client.instance_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/put/Create an instance pool with all properties.[put] -#-------------------------------------------------------------------------- - BODY = { - "sku": { - "name": "GP_Gen5", - "tier": "GeneralPurpose", - "family": "Gen5" - }, - "tags": { - "a": "b" - }, - "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetwork/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, - "v_cores": "8", - "license_type": "LicenseIncluded" - } - result = self.mgmt_client.instance_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "sku": {"name": "GP_Gen5", "tier": "GeneralPurpose", "family": "Gen5"}, + "tags": {"a": "b"}, + "subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetwork/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + "v_cores": "8", + "license_type": "LicenseIncluded", + } + result = self.mgmt_client.instance_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/put/Create managed instance with all properties[put] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - }, - "location": AZURE_LOCATION, - "sku": { - "name": "GP_Gen5", - "tier": "GeneralPurpose" - }, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, - "v_cores": "8", - "storage_size_in_gb": "1024", - "license_type": "LicenseIncluded", - "collation": "SQL_Latin1_General_CP1_CI_AS", - "dns_zone_partner": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/managedInstances/" + MANAGED_INSTANCE_NAME, - "public_data_endpoint_enabled": False, - "proxy_override": "Redirect", - "timezone_id": "UTC", - "instance_pool_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/instancePools/" + INSTANCE_POOL_NAME, - "maintenance_configuration_id": "/subscriptions/" + SUBSCRIPTION_ID + "/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/" + PUBLIC_MAINTENANCE_CONFIGURATION_NAME, - "storage_account_type": "GRS" - } - result = self.mgmt_client.managed_instances.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) - result = result.result() - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "tags": {"tag_key1": "TagValue1"}, + "location": AZURE_LOCATION, + "sku": {"name": "GP_Gen5", "tier": "GeneralPurpose"}, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetworks/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + "v_cores": "8", + "storage_size_in_gb": "1024", + "license_type": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "dns_zone_partner": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/managedInstances/" + + MANAGED_INSTANCE_NAME, + "public_data_endpoint_enabled": False, + "proxy_override": "Redirect", + "timezone_id": "UTC", + "instance_pool_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/instancePools/" + + INSTANCE_POOL_NAME, + "maintenance_configuration_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/" + + PUBLIC_MAINTENANCE_CONFIGURATION_NAME, + "storage_account_type": "GRS", + } + result = self.mgmt_client.managed_instances.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY + ) + result = result.result() + + # -------------------------------------------------------------------------- # /ManagedInstances/put/Create managed instance with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "sku": { - "name": "GP_Gen4", - "tier": "GeneralPurpose" - }, - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, - "v_cores": "8", - "storage_size_in_gb": "1024", - "license_type": "LicenseIncluded" - } - result = self.mgmt_client.managed_instances.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "sku": {"name": "GP_Gen4", "tier": "GeneralPurpose"}, + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetworks/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + "v_cores": "8", + "storage_size_in_gb": "1024", + "license_type": "LicenseIncluded", + } + result = self.mgmt_client.managed_instances.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/put/Creates or updates a server key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "server_key_type": "AzureKeyVault", - "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + "server_key_type": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", } - result = self.mgmt_client.server_keys.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME, parameters=BODY) + result = self.mgmt_client.server_keys.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a VCore database by specifying sku name.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "BC_Gen4_2" - } - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "sku": {"name": "BC_Gen4_2"}} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a Hyperscale database and specifies the number of readonly replicas.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "HS_Gen4", - "tier": "Hyperscale", - "capacity": "1" - }, - "read_replica_count": "3" + "location": AZURE_LOCATION, + "sku": {"name": "HS_Gen4", "tier": "Hyperscale", "capacity": "1"}, + "read_replica_count": "3", } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database from recoverableDatabaseId.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "Restore", - "restorable_dropped_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/restorableDroppedDatabases/" + RESTORABLE_DROPPED_DATABASE_NAME - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "Restore", + "restorable_dropped_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/restorableDroppedDatabases/" + + RESTORABLE_DROPPED_DATABASE_NAME, + } + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database from restore with restorableDroppedDatabaseId.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "Copy", - "source_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "Copy", + "source_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database from restore with database deletion time.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "Restore", - "source_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME, - "source_database_deletion_date": "2017-07-14T06:41:06.613Z" - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "Restore", + "source_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + "source_database_deletion_date": "2017-07-14T06:41:06.613Z", + } + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database from PointInTimeRestore.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "PointInTimeRestore", - "source_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME, - "restore_point_in_time": "2017-07-14T05:35:31.503Z" - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "PointInTimeRestore", + "source_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + "restore_point_in_time": "2017-07-14T05:35:31.503Z", + } + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database as an on-line secondary.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "Secondary", - "source_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "Secondary", + "source_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database as a copy.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "Copy", - "source_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "Copy", + "source_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database with default mode.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "create_mode": "Default", - "collation": "SQL_Latin1_General_CP1_CI_AS", - "max_size_bytes": "1073741824" + "location": AZURE_LOCATION, + "sku": {"name": "S0", "tier": "Standard"}, + "create_mode": "Default", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "max_size_bytes": "1073741824", } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database with minimum number of parameters.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a data warehouse by specifying service objective name.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "DW1000c" - } - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "sku": {"name": "DW1000c"}} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a VCore database by specifying sku name and capacity.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "BC_Gen4", - "capacity": "2" - } - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "sku": {"name": "BC_Gen4", "capacity": "2"}} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a VCore database by specifying service objective name.[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "BC", - "family": "Gen4", - "capacity": "2" - } - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "sku": {"name": "BC", "family": "Gen4", "capacity": "2"}} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/put/Create or update a job agent with all properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "Agent", - "capacity": "100" - }, - "tags": { - "octopus": "agent" - }, - "database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.job_agents.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "sku": {"name": "Agent", "capacity": "100"}, + "tags": {"octopus": "agent"}, + "database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.job_agents.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/put/Create or update a job agent with minimum properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.job_agents.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.job_agents.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/put/Create server DNS alias[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} - result = self.mgmt_client.server_dns_aliases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME, parameters=BODY) + result = self.mgmt_client.server_dns_aliases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/put/Create a new sync agent[put] -#-------------------------------------------------------------------------- - BODY = { - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.sync_agents.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME + } + result = self.mgmt_client.sync_agents.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + sync_agent_name=SYNC_AGENT_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/put/Update a sync agent[put] -#-------------------------------------------------------------------------- - BODY = { - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.sync_agents.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME + } + result = self.mgmt_client.sync_agents.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + sync_agent_name=SYNC_AGENT_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/put/Create or update elastic pool with all parameter[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "GP_Gen4_2", - "tier": "GeneralPurpose", - "capacity": "2" - }, - "per_database_settings": { - "min_capacity": "0.25", - "max_capacity": "2" - } + "location": AZURE_LOCATION, + "sku": {"name": "GP_Gen4_2", "tier": "GeneralPurpose", "capacity": "2"}, + "per_database_settings": {"min_capacity": "0.25", "max_capacity": "2"}, } - result = self.mgmt_client.elastic_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + result = self.mgmt_client.elastic_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/put/Create or update elastic pool with minimum parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.elastic_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.elastic_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/put/Creates or updates a managed instance key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "server_key_type": "AzureKeyVault", - "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + "server_key_type": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", } - result = self.mgmt_client.managed_instance_keys.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_keys.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + key_name=KEY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/put/Update a firewall rule max/min[put] -#-------------------------------------------------------------------------- - BODY = { - "start_ip_address": "0.0.0.1", - "end_ip_address": "0.0.0.1" - } - result = self.mgmt_client.firewall_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"start_ip_address": "0.0.0.1", "end_ip_address": "0.0.0.1"} + result = self.mgmt_client.firewall_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + firewall_rule_name=FIREWALL_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/put/Create a firewall rule max/min[put] -#-------------------------------------------------------------------------- - BODY = { - "start_ip_address": "0.0.0.3", - "end_ip_address": "0.0.0.3" - } - result = self.mgmt_client.firewall_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"start_ip_address": "0.0.0.3", "end_ip_address": "0.0.0.3"} + result = self.mgmt_client.firewall_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + firewall_rule_name=FIREWALL_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/put/Creates or updates an existing Azure Active Directory administrator.[put] -#-------------------------------------------------------------------------- - BODY = { - "administrator_type": "ActiveDirectory", - "login": "bob@contoso.com", - "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenant_id": TENANT_ID - } - result = self.mgmt_client.server_azure_adadministrators.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "administrator_type": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenant_id": TENANT_ID, + } + result = self.mgmt_client.server_azure_adadministrators.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + administrator_name=ADMINISTRATOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/put/Create failover group[put] -#-------------------------------------------------------------------------- - BODY = { - "read_write_endpoint": { - "failover_policy": "Automatic", - "failover_with_data_loss_grace_period_minutes": "480" - }, - "read_only_endpoint": { - "failover_policy": "Disabled" - }, - "partner_servers": [ - { - "id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME - } - ], - "databases": [ - "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", - "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2" - ] - } - result = self.mgmt_client.failover_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "read_write_endpoint": { + "failover_policy": "Automatic", + "failover_with_data_loss_grace_period_minutes": "480", + }, + "read_only_endpoint": {"failover_policy": "Disabled"}, + "partner_servers": [ + { + "id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + } + ], + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2", + ], + } + result = self.mgmt_client.failover_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + failover_group_name=FAILOVER_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerConnectionPolicies/put/Create or update a server's secure connection policy[put] -#-------------------------------------------------------------------------- - BODY = { - "connection_type": "Proxy" - } - result = self.mgmt_client.server_connection_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, connection_policy_name=CONNECTION_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"connection_type": "Proxy"} + result = self.mgmt_client.server_connection_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + connection_policy_name=CONNECTION_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database from restoring a long term retention backup[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "create_mode": "RestoreExternalBackup", - "storage_container_uri": "https://myaccountname.blob.core.windows.net/backups", - "storage_container_sas_token": "sv=2015-12-11&sr=c&sp=rl&sig=1234", - "collation": "SQL_Latin1_General_CP1_CI_AS" - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "create_mode": "RestoreExternalBackup", + "storage_container_uri": "https://myaccountname.blob.core.windows.net/backups", + "storage_container_sas_token": "sv=2015-12-11&sr=c&sp=rl&sig=1234", + "collation": "SQL_Latin1_General_CP1_CI_AS", + } + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database from restoring a geo-replicated backup[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "create_mode": "Recovery", - "recoverable_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/managedInstances/" + MANAGED_INSTANCE_NAME + "/recoverableDatabases/" + RECOVERABLE_DATABASE_NAME - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "create_mode": "Recovery", + "recoverable_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/managedInstances/" + + MANAGED_INSTANCE_NAME + + "/recoverableDatabases/" + + RECOVERABLE_DATABASE_NAME, + } + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database by restoring from an external backup[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "create_mode": "RestoreExternalBackup", - "storage_container_uri": "https://myaccountname.blob.core.windows.net/backups", - "storage_container_sas_token": "sv=2015-12-11&sr=c&sp=rl&sig=1234", - "collation": "SQL_Latin1_General_CP1_CI_AS", - "auto_complete_restore": True, - "last_backup_name": "last_backup_name" - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "create_mode": "RestoreExternalBackup", + "storage_container_uri": "https://myaccountname.blob.core.windows.net/backups", + "storage_container_sas_token": "sv=2015-12-11&sr=c&sp=rl&sig=1234", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "auto_complete_restore": True, + "last_backup_name": "last_backup_name", + } + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database using point in time restore[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "create_mode": "PointInTimeRestore", - "source_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/managedInstances/" + MANAGED_INSTANCE_NAME + "/databases/" + DATABASE_NAME, - "restore_point_in_time": "2017-07-14T05:35:31.503Z" - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "location": AZURE_LOCATION, + "create_mode": "PointInTimeRestore", + "source_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/managedInstances/" + + MANAGED_INSTANCE_NAME + + "/databases/" + + DATABASE_NAME, + "restore_point_in_time": "2017-07-14T05:35:31.503Z", + } + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with maximal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - }, - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"tag_key1": "TagValue1"}, "location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/put/Update a server's blob auditing policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net", - "retention_days": "6", - "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", - "is_storage_secondary_key_in_use": False, - "queue_delay_ms": "4000", - "audit_actions_and_groups": [ - "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", - "FAILED_DATABASE_AUTHENTICATION_GROUP", - "BATCH_COMPLETED_GROUP" - ], - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.server_blob_auditing_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) - result = result.result() - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + "retention_days": "6", + "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", + "is_storage_secondary_key_in_use": False, + "queue_delay_ms": "4000", + "audit_actions_and_groups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP", + ], + "is_azure_monitor_target_enabled": True, + } + result = self.mgmt_client.server_blob_auditing_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) + result = result.result() + + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/put/Update a server's blob auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", } - result = self.mgmt_client.server_blob_auditing_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) + result = self.mgmt_client.server_blob_auditing_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/put/Create a server communication link[put] -#-------------------------------------------------------------------------- - BODY = { - "partner_server": "sqldcrudtest-test" - } - result = self.mgmt_client.server_communication_links.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"partner_server": "sqldcrudtest-test"} + result = self.mgmt_client.server_communication_links.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + communication_link_name=COMMUNICATION_LINK_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/put/Create a job with all properties specified[put] -#-------------------------------------------------------------------------- - BODY = { - "description": "my favourite job", - "schedule": { - "start_time": "2015-09-24T18:30:01Z", - "end_time": "2015-09-24T23:59:59Z", - "type": "Recurring", - "interval": "PT5M", - "enabled": True - } + # -------------------------------------------------------------------------- + BODY = { + "description": "my favourite job", + "schedule": { + "start_time": "2015-09-24T18:30:01Z", + "end_time": "2015-09-24T23:59:59Z", + "type": "Recurring", + "interval": "PT5M", + "enabled": True, + }, } - result = self.mgmt_client.jobs.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, parameters=BODY) + result = self.mgmt_client.jobs.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/put/Create a job with default properties[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} - result = self.mgmt_client.jobs.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, parameters=BODY) + result = self.mgmt_client.jobs.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/put/Create or update a virtual network rule[put] -#-------------------------------------------------------------------------- - BODY = { - "ignore_missing_vnet_service_endpoint": False, - "virtual_network_subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME - } - result = self.mgmt_client.virtual_network_rules.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "ignore_missing_vnet_service_endpoint": False, + "virtual_network_subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetworks/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + } + result = self.mgmt_client.virtual_network_rules.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/put/Update the encryption protector to service managed[put] -#-------------------------------------------------------------------------- - BODY = { - "server_key_type": "ServiceManaged", - "server_key_name": "ServiceManaged" - } - result = self.mgmt_client.encryption_protectors.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"server_key_type": "ServiceManaged", "server_key_name": "ServiceManaged"} + result = self.mgmt_client.encryption_protectors.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/put/Update the encryption protector to key vault[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "server_key_type": "AzureKeyVault", - "server_key_name": "someVault_someKey_01234567890123456789012345678901" + "server_key_type": "AzureKeyVault", + "server_key_name": "someVault_someKey_01234567890123456789012345678901", } - result = self.mgmt_client.encryption_protectors.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, parameters=BODY) + result = self.mgmt_client.encryption_protectors.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/put/Creates or updates Azure Active Directory only authentication object.[put] -#-------------------------------------------------------------------------- - BODY = { - "azure_adonly_authentication": False - } - result = self.mgmt_client.server_azure_adonly_authentications.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"azure_adonly_authentication": False} + result = self.mgmt_client.server_azure_adonly_authentications.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + authentication_name=AUTHENTICATION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstanceFailoverGroups/put/Create failover group[put] -#-------------------------------------------------------------------------- - BODY = { - "read_write_endpoint": { - "failover_policy": "Automatic", - "failover_with_data_loss_grace_period_minutes": "480" - }, - "read_only_endpoint": { - "failover_policy": "Disabled" - }, - "partner_regions": [ - { - "location": AZURE_LOCATION - } - ], - "managed_instance_pairs": [ - { - "primary_managed_instance_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/managedInstances/" + MANAGED_INSTANCE_NAME, - "partner_managed_instance_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/managedInstances/" + MANAGED_INSTANCE_NAME - } - ] + # -------------------------------------------------------------------------- + BODY = { + "read_write_endpoint": { + "failover_policy": "Automatic", + "failover_with_data_loss_grace_period_minutes": "480", + }, + "read_only_endpoint": {"failover_policy": "Disabled"}, + "partner_regions": [{"location": AZURE_LOCATION}], + "managed_instance_pairs": [ + { + "primary_managed_instance_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/managedInstances/" + + MANAGED_INSTANCE_NAME, + "partner_managed_instance_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/managedInstances/" + + MANAGED_INSTANCE_NAME, + } + ], } - result = self.mgmt_client.instance_failover_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.instance_failover_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + failover_group_name=FAILOVER_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/put/Update a server's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Disabled", - "email_account_admins": True, - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Disabled", + "email_account_admins": True, + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/put/Update a server's threat detection policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "email_account_admins": True, - "email_addresses": [ - "testSecurityAlert@microsoft.com" - ], - "disabled_alerts": [ - "Access_Anomaly", - "Usage_Anomaly" - ], - "retention_days": "5", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "email_account_admins": True, + "email_addresses": ["testSecurityAlert@microsoft.com"], + "disabled_alerts": ["Access_Anomaly", "Usage_Anomaly"], + "retention_days": "5", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/put/Update a server's extended blob auditing policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net", - "retention_days": "6", - "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", - "is_storage_secondary_key_in_use": False, - "audit_actions_and_groups": [ - "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", - "FAILED_DATABASE_AUTHENTICATION_GROUP", - "BATCH_COMPLETED_GROUP" - ], - "predicate_expression": "object_name = 'SensitiveData'", - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.extended_server_blob_auditing_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) - result = result.result() - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + "retention_days": "6", + "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", + "is_storage_secondary_key_in_use": False, + "audit_actions_and_groups": [ + "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", + "FAILED_DATABASE_AUTHENTICATION_GROUP", + "BATCH_COMPLETED_GROUP", + ], + "predicate_expression": "object_name = 'SensitiveData'", + "is_azure_monitor_target_enabled": True, + } + result = self.mgmt_client.extended_server_blob_auditing_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) + result = result.result() + + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/put/Update a server's extended blob auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", } - result = self.mgmt_client.extended_server_blob_auditing_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) + result = self.mgmt_client.extended_server_blob_auditing_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceAdministrators/put/Update administrator of managed instance[put] -#-------------------------------------------------------------------------- - BODY = { - "administrator_type": "ActiveDirectory", - "login": "bob@contoso.com", - "sid": "44444444-3333-2222-1111-000000000000", - "tenant_id": TENANT_ID - } - result = self.mgmt_client.managed_instance_administrators.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, administrator_name=ADMINISTRATOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "administrator_type": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenant_id": TENANT_ID, + } + result = self.mgmt_client.managed_instance_administrators.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + administrator_name=ADMINISTRATOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceAdministrators/put/Create administrator of managed instance[put] -#-------------------------------------------------------------------------- - BODY = { - "administrator_type": "ActiveDirectory", - "login": "bob@contoso.com", - "sid": "44444444-3333-2222-1111-000000000000", - "tenant_id": TENANT_ID - } - result = self.mgmt_client.managed_instance_administrators.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, administrator_name=ADMINISTRATOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "administrator_type": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "44444444-3333-2222-1111-000000000000", + "tenant_id": TENANT_ID, + } + result = self.mgmt_client.managed_instance_administrators.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + administrator_name=ADMINISTRATOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/put/Create a server's vulnerability assessment with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "recurring_scans": { - "is_enabled": True, - "email_subscription_admins": True, - "emails": [ - "email1@mail.com", - "email2@mail.com" - ] - } + # -------------------------------------------------------------------------- + BODY = { + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurring_scans": { + "is_enabled": True, + "email_subscription_admins": True, + "emails": ["email1@mail.com", "email2@mail.com"], + }, } - result = self.mgmt_client.server_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.server_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/put/Create a server's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.server_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.server_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/put/Create a server's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.server_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.server_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Min with SAS key[put] -#-------------------------------------------------------------------------- - BODY = { - "operation_mode": "Import", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "operation_mode": "Import", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + } + result = self.mgmt_client.databases.begin_create_import_operation( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + extension_name=EXTENSION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Max with SAS key[put] -#-------------------------------------------------------------------------- - BODY = { - "name": "Import", - "type": "Microsoft.Sql/servers/databases/extensions", - "operation_mode": "Import", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" - } - result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "name": "Import", + "type": "Microsoft.Sql/servers/databases/extensions", + "operation_mode": "Import", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", + } + result = self.mgmt_client.databases.begin_create_import_operation( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + extension_name=EXTENSION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Min with storage key[put] -#-------------------------------------------------------------------------- - BODY = { - "operation_mode": "Import", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "operation_mode": "Import", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + } + result = self.mgmt_client.databases.begin_create_import_operation( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + extension_name=EXTENSION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Max with storage key[put] -#-------------------------------------------------------------------------- - BODY = { - "name": "Import", - "type": "Microsoft.Sql/servers/databases/extensions", - "operation_mode": "Import", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" - } - result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "name": "Import", + "type": "Microsoft.Sql/servers/databases/extensions", + "operation_mode": "Import", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", + } + result = self.mgmt_client.databases.begin_create_import_operation( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + extension_name=EXTENSION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/put/Update a sync group[put] -#-------------------------------------------------------------------------- - BODY = { - "interval": "-1", - "conflict_resolution_policy": "HubWin", - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME, - "hub_database_user_name": "hubUser", - "use_private_link_connection": False - } - result = self.mgmt_client.sync_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "interval": "-1", + "conflict_resolution_policy": "HubWin", + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + "hub_database_user_name": "hubUser", + "use_private_link_connection": False, + } + result = self.mgmt_client.sync_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/put/Create a sync group[put] -#-------------------------------------------------------------------------- - BODY = { - "interval": "-1", - "conflict_resolution_policy": "HubWin", - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME, - "hub_database_user_name": "hubUser", - "use_private_link_connection": False - } - result = self.mgmt_client.sync_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "interval": "-1", + "conflict_resolution_policy": "HubWin", + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + "hub_database_user_name": "hubUser", + "use_private_link_connection": False, + } + result = self.mgmt_client.sync_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/put/Create or update a credential[put] -#-------------------------------------------------------------------------- - BODY = { - "username": "myuser", - "password": "" - } - result = self.mgmt_client.job_credentials.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, credential_name=CREDENTIAL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"username": "myuser", "password": ""} + result = self.mgmt_client.job_credentials.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + credential_name=CREDENTIAL_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /PrivateEndpointConnections/put/Approve or reject a private endpoint connection with a given name.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "private_link_service_connection_state": { - "status": "Approved", - "description": "Approved by johndoe@contoso.com" - } + "private_link_service_connection_state": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + } } - result = self.mgmt_client.private_endpoint_connections.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME, parameters=BODY) + result = self.mgmt_client.private_endpoint_connections.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/put/Create or update a target group with minimal properties.[put] -#-------------------------------------------------------------------------- - BODY = { - "members": [] - } - result = self.mgmt_client.job_target_groups.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"members": []} + result = self.mgmt_client.job_target_groups.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/put/Create or update a target group with all properties.[put] -#-------------------------------------------------------------------------- - BODY = { - "members": [ - { - "membership_type": "Exclude", - "type": "SqlDatabase", - "server_name": "server1", - "database_name": "database1" - }, - { - "membership_type": "Include", - "type": "SqlServer", - "server_name": "server1", - "refresh_credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME - }, - { - "membership_type": "Include", - "type": "SqlElasticPool", - "server_name": "server2", - "elastic_pool_name": "pool1", - "refresh_credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME - }, - { - "membership_type": "Include", - "type": "SqlShardMap", - "server_name": "server3", - "shard_map_name": "shardMap1", - "database_name": "database1", - "refresh_credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME - } - ] + # -------------------------------------------------------------------------- + BODY = { + "members": [ + { + "membership_type": "Exclude", + "type": "SqlDatabase", + "server_name": "server1", + "database_name": "database1", + }, + { + "membership_type": "Include", + "type": "SqlServer", + "server_name": "server1", + "refresh_credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + }, + { + "membership_type": "Include", + "type": "SqlElasticPool", + "server_name": "server2", + "elastic_pool_name": "pool1", + "refresh_credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + }, + { + "membership_type": "Include", + "type": "SqlShardMap", + "server_name": "server3", + "shard_map_name": "shardMap1", + "database_name": "database1", + "refresh_credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + }, + ] } - result = self.mgmt_client.job_target_groups.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.job_target_groups.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/put/Create a workload group with all properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "min_resource_percent": "0", - "max_resource_percent": "100", - "min_resource_percent_per_request": "3", - "max_resource_percent_per_request": "3", - "importance": "normal", - "query_execution_timeout": "0" - } - result = self.mgmt_client.workload_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "min_resource_percent": "0", + "max_resource_percent": "100", + "min_resource_percent_per_request": "3", + "max_resource_percent_per_request": "3", + "importance": "normal", + "query_execution_timeout": "0", + } + result = self.mgmt_client.workload_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/put/Create a workload group with the required properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "min_resource_percent": "0", - "max_resource_percent": "100", - "min_resource_percent_per_request": "3" - } - result = self.mgmt_client.workload_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"min_resource_percent": "0", "max_resource_percent": "100", "min_resource_percent_per_request": "3"} + result = self.mgmt_client.workload_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/put/Update the encryption protector to service managed[put] -#-------------------------------------------------------------------------- - BODY = { - "server_key_type": "ServiceManaged", - "server_key_name": "ServiceManaged" - } - result = self.mgmt_client.managed_instance_encryption_protectors.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"server_key_type": "ServiceManaged", "server_key_name": "ServiceManaged"} + result = self.mgmt_client.managed_instance_encryption_protectors.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/put/Update the encryption protector to key vault[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "server_key_type": "AzureKeyVault", - "server_key_name": "someVault_someKey_01234567890123456789012345678901" + "server_key_type": "AzureKeyVault", + "server_key_name": "someVault_someKey_01234567890123456789012345678901", } - result = self.mgmt_client.managed_instance_encryption_protectors.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_encryption_protectors.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/put/Create or update a job step with all properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "step_id": "1", - "target_group": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/targetGroups/" + TARGET_GROUP_NAME, - "credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME, - "action": { - "type": "TSql", - "source": "Inline", - "value": "select 2" - }, - "output": { - "type": "SqlDatabase", - "subscription_id": "3501b905-a848-4b5d-96e8-b253f62d735a", - "resource_group_name": "group3", - "server_name": "server3", - "database_name": "database3", - "schema_name": "myschema1234", - "table_name": "mytable5678", - "credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME - }, - "execution_options": { - "timeout_seconds": "1234", - "retry_attempts": "42", - "initial_retry_interval_seconds": "11", - "maximum_retry_interval_seconds": "222", - "retry_interval_backoff_multiplier": "3" - } - } - result = self.mgmt_client.job_steps.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME, parameters=BODY) - -#-------------------------------------------------------------------------- - # /JobSteps/put/Create or update a job step with minimal properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "target_group": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/targetGroups/" + TARGET_GROUP_NAME, - "credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME, - "action": { - "value": "select 1" - } + # -------------------------------------------------------------------------- + BODY = { + "step_id": "1", + "target_group": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/targetGroups/" + + TARGET_GROUP_NAME, + "credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + "action": {"type": "TSql", "source": "Inline", "value": "select 2"}, + "output": { + "type": "SqlDatabase", + "subscription_id": "3501b905-a848-4b5d-96e8-b253f62d735a", + "resource_group_name": "group3", + "server_name": "server3", + "database_name": "database3", + "schema_name": "myschema1234", + "table_name": "mytable5678", + "credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + }, + "execution_options": { + "timeout_seconds": "1234", + "retry_attempts": "42", + "initial_retry_interval_seconds": "11", + "maximum_retry_interval_seconds": "222", + "retry_interval_backoff_multiplier": "3", + }, } - result = self.mgmt_client.job_steps.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME, parameters=BODY) + result = self.mgmt_client.job_steps.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + parameters=BODY, + ) + + # -------------------------------------------------------------------------- + # /JobSteps/put/Create or update a job step with minimal properties specified.[put] + # -------------------------------------------------------------------------- + BODY = { + "target_group": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/targetGroups/" + + TARGET_GROUP_NAME, + "credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + "action": {"value": "select 1"}, + } + result = self.mgmt_client.job_steps.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/put/Update a server's threat detection policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "email_account_admins": True, - "email_addresses": [ - "testSecurityAlert@microsoft.com" - ], - "disabled_alerts": [ - "Access_Anomaly", - "Usage_Anomaly" - ], - "retention_days": "5", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.managed_server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "email_account_admins": True, + "email_addresses": ["testSecurityAlert@microsoft.com"], + "disabled_alerts": ["Access_Anomaly", "Usage_Anomaly"], + "retention_days": "5", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.managed_server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/put/Update a server's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", } - result = self.mgmt_client.managed_server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + result = self.mgmt_client.managed_server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /GeoBackupPolicies/put/Update geo backup policy[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled" - } - result = self.mgmt_client.geo_backup_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, geo_backup_policy_name=GEO_BACKUP_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled"} + result = self.mgmt_client.geo_backup_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + geo_backup_policy_name=GEO_BACKUP_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/put/Create or update a database's azure monitor auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled", "is_azure_monitor_target_enabled": True} + result = self.mgmt_client.database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/put/Create or update a database's blob auditing policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net", - "retention_days": "6", - "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", - "is_storage_secondary_key_in_use": False, - "queue_delay_ms": "4000", - "audit_actions_and_groups": [ - "DATABASE_LOGOUT_GROUP", - "DATABASE_ROLE_MEMBER_CHANGE_GROUP", - "UPDATE on database::TestDatabaseName by public" - ], - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + "retention_days": "6", + "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", + "is_storage_secondary_key_in_use": False, + "queue_delay_ms": "4000", + "audit_actions_and_groups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public", + ], + "is_azure_monitor_target_enabled": True, + } + result = self.mgmt_client.database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) + + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/put/Create or update a database's blob auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/put/Create a managed instance's vulnerability assessment with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "recurring_scans": { - "is_enabled": True, - "email_subscription_admins": True, - "emails": [ - "email1@mail.com", - "email2@mail.com" - ] - } + # -------------------------------------------------------------------------- + BODY = { + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurring_scans": { + "is_enabled": True, + "email_subscription_admins": True, + "emails": ["email1@mail.com", "email2@mail.com"], + }, } - result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/put/Create a managed instance's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/put/Create a managed instance's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupLongTermRetentionPolicies/put/Create or update the long term retention policy for the database.[put] -#-------------------------------------------------------------------------- - BODY = { - "weekly_retention": "P1M", - "monthly_retention": "P1Y", - "yearly_retention": "P5Y", - "week_of_year": "5" - } - result = self.mgmt_client.backup_long_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"weekly_retention": "P1M", "monthly_retention": "P1Y", "yearly_retention": "P5Y", "week_of_year": "5"} + result = self.mgmt_client.backup_long_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/put/Update the short term retention policy for the database.[put] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14", - "diff_backup_interval_in_hours": "24" - } - result = self.mgmt_client.backup_short_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14", "diff_backup_interval_in_hours": "24"} + result = self.mgmt_client.backup_short_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingPolicies/put/Create or update data masking policy min[put] -#-------------------------------------------------------------------------- - BODY = { - "data_masking_state": "Enabled" - } - result = self.mgmt_client.data_masking_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"data_masking_state": "Enabled"} + result = self.mgmt_client.data_masking_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingPolicies/put/Create or update data masking policy max[put] -#-------------------------------------------------------------------------- - BODY = { - "data_masking_state": "Enabled", - "exempt_principals": "testuser;" - } - result = self.mgmt_client.data_masking_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"data_masking_state": "Enabled", "exempt_principals": "testuser;"} + result = self.mgmt_client.data_masking_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/put/Create job execution.[put] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseThreatDetectionPolicies/put/Create database security alert policy max[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "email_account_admins": "Enabled", - "email_addresses": "test@microsoft.com;user@microsoft.com", - "disabled_alerts": "Sql_Injection;Usage_Anomaly;", - "retention_days": "6", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net", - "use_server_default": "Enabled" - } - result = self.mgmt_client.database_threat_detection_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "email_account_admins": "Enabled", + "email_addresses": "test@microsoft.com;user@microsoft.com", + "disabled_alerts": "Sql_Injection;Usage_Anomaly;", + "retention_days": "6", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + "use_server_default": "Enabled", + } + result = self.mgmt_client.database_threat_detection_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseThreatDetectionPolicies/put/Create database security alert policy min[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.database_threat_detection_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.database_threat_detection_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/put/Create or update an extended database's azure monitor auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled", "is_azure_monitor_target_enabled": True} + result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/put/Create or update an extended database's blob auditing policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net", - "retention_days": "6", - "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", - "is_storage_secondary_key_in_use": False, - "audit_actions_and_groups": [ - "DATABASE_LOGOUT_GROUP", - "DATABASE_ROLE_MEMBER_CHANGE_GROUP", - "UPDATE on database::TestDatabaseName by public" - ], - "predicate_expression": "statement = 'select 1'", - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + "retention_days": "6", + "storage_account_subscription_id": "00000000-1234-0000-5678-000000000000", + "is_storage_secondary_key_in_use": False, + "audit_actions_and_groups": [ + "DATABASE_LOGOUT_GROUP", + "DATABASE_ROLE_MEMBER_CHANGE_GROUP", + "UPDATE on database::TestDatabaseName by public", + ], + "predicate_expression": "statement = 'select 1'", + "is_azure_monitor_target_enabled": True, + } + result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) + + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/put/Create or update an extended database's blob auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "recurring_scans": { - "is_enabled": True, - "email_subscription_admins": True, - "emails": [ - "email1@mail.com", - "email2@mail.com" - ] - } + # -------------------------------------------------------------------------- + BODY = { + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurring_scans": { + "is_enabled": True, + "email_subscription_admins": True, + "emails": ["email1@mail.com", "email2@mail.com"], + }, } - result = self.mgmt_client.database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_account_access_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TransparentDataEncryptions/put/Create or update a database's transparent data encryption configuration[put] -#-------------------------------------------------------------------------- - BODY = { - "status": "Enabled" - } - result = self.mgmt_client.transparent_data_encryptions.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"status": "Enabled"} + result = self.mgmt_client.transparent_data_encryptions.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/put/Update a sync member[put] -#-------------------------------------------------------------------------- - BODY = { - "database_type": "AzureSqlDatabase", - "server_name": "syncgroupcrud-3379.database.windows.net", - "database_name": "syncgroupcrud-7421", - "user_name": "myUser", - "sync_direction": "Bidirectional", - "use_private_link_connection": True, - "sync_member_azure_database_resource_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.sync_members.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_type": "AzureSqlDatabase", + "server_name": "syncgroupcrud-3379.database.windows.net", + "database_name": "syncgroupcrud-7421", + "user_name": "myUser", + "sync_direction": "Bidirectional", + "use_private_link_connection": True, + "sync_member_azure_database_resource_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.sync_members.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/put/Create a new sync member[put] -#-------------------------------------------------------------------------- - BODY = { - "database_type": "AzureSqlDatabase", - "server_name": "syncgroupcrud-3379.database.windows.net", - "database_name": "syncgroupcrud-7421", - "user_name": "myUser", - "sync_direction": "Bidirectional", - "use_private_link_connection": True, - "sync_member_azure_database_resource_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.sync_members.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_type": "AzureSqlDatabase", + "server_name": "syncgroupcrud-3379.database.windows.net", + "database_name": "syncgroupcrud-7421", + "user_name": "myUser", + "sync_direction": "Bidirectional", + "use_private_link_connection": True, + "sync_member_azure_database_resource_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.sync_members.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceLongTermRetentionPolicies/put/Create or update the LTR policy for the managed database.[put] -#-------------------------------------------------------------------------- - BODY = { - "weekly_retention": "P1M", - "monthly_retention": "P1Y", - "yearly_retention": "P5Y", - "week_of_year": "5" - } - result = self.mgmt_client.managed_instance_long_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"weekly_retention": "P1M", "monthly_retention": "P1Y", "yearly_retention": "P5Y", "week_of_year": "5"} + result = self.mgmt_client.managed_instance_long_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/put/Update the short term retention policy for the database.[put] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/put/Update a database's threat detection policy with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "email_account_admins": True, - "email_addresses": [ - "test@microsoft.com", - "user@microsoft.com" - ], - "disabled_alerts": [ - "Sql_Injection", - "Usage_Anomaly" - ], - "retention_days": "6", - "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_endpoint": "https://mystorage.blob.core.windows.net" - } - result = self.mgmt_client.managed_database_security_alert_policies.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, database_security_alert_policy_resource=BODY) - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "state": "Enabled", + "email_account_admins": True, + "email_addresses": ["test@microsoft.com", "user@microsoft.com"], + "disabled_alerts": ["Sql_Injection", "Usage_Anomaly"], + "retention_days": "6", + "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_endpoint": "https://mystorage.blob.core.windows.net", + } + result = self.mgmt_client.managed_database_security_alert_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + database_security_alert_policy_resource=BODY, + ) + + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/put/Update a database's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled" - } - result = self.mgmt_client.managed_database_security_alert_policies.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, database_security_alert_policy_resource=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled"} + result = self.mgmt_client.managed_database_security_alert_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + database_security_alert_policy_resource=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", } - result = self.mgmt_client.managed_database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", - "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - "recurring_scans": { - "is_enabled": True, - "email_subscription_admins": True, - "emails": [ - "email1@mail.com", - "email2@mail.com" - ] - } + # -------------------------------------------------------------------------- + BODY = { + "storage_container_path": "https://myStorage.blob.core.windows.net/vulnerability-assessment/", + "storage_container_sas_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "recurring_scans": { + "is_enabled": True, + "email_subscription_admins": True, + "emails": ["email1@mail.com", "email2@mail.com"], + }, } - result = self.mgmt_client.managed_database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/put/Create/Update data masking rule for default max[put] -#-------------------------------------------------------------------------- - BODY = { - "alias_name": "nickname", - "schema_name": "dbo", - "table_name": "Table_1", - "column_name": "test1", - "masking_function": "Default", - "rule_state": "Enabled" - } - result = self.mgmt_client.data_masking_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME, data_masking_rule_name=DATA_MASKING_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "alias_name": "nickname", + "schema_name": "dbo", + "table_name": "Table_1", + "column_name": "test1", + "masking_function": "Default", + "rule_state": "Enabled", + } + result = self.mgmt_client.data_masking_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + data_masking_rule_name=DATA_MASKING_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/put/Create/Update data masking rule for default min[put] -#-------------------------------------------------------------------------- - BODY = { - "schema_name": "dbo", - "table_name": "Table_1", - "column_name": "test1", - "masking_function": "Default" - } - result = self.mgmt_client.data_masking_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME, data_masking_rule_name=DATA_MASKING_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"schema_name": "dbo", "table_name": "Table_1", "column_name": "test1", "masking_function": "Default"} + result = self.mgmt_client.data_masking_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + data_masking_rule_name=DATA_MASKING_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/put/Create/Update data masking rule for numbers[put] -#-------------------------------------------------------------------------- - BODY = { - "schema_name": "dbo", - "table_name": "Table_1", - "column_name": "test1", - "masking_function": "Number", - "number_from": "0", - "number_to": "2" - } - result = self.mgmt_client.data_masking_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME, data_masking_rule_name=DATA_MASKING_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "schema_name": "dbo", + "table_name": "Table_1", + "column_name": "test1", + "masking_function": "Number", + "number_from": "0", + "number_to": "2", + } + result = self.mgmt_client.data_masking_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + data_masking_rule_name=DATA_MASKING_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/put/Create/Update data masking rule for text[put] -#-------------------------------------------------------------------------- - BODY = { - "schema_name": "dbo", - "table_name": "Table_1", - "column_name": "test1", - "masking_function": "Text", - "prefix_size": "1", - "suffix_size": "0", - "replacement_string": "asdf" - } - result = self.mgmt_client.data_masking_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME, data_masking_rule_name=DATA_MASKING_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "schema_name": "dbo", + "table_name": "Table_1", + "column_name": "test1", + "masking_function": "Text", + "prefix_size": "1", + "suffix_size": "0", + "replacement_string": "asdf", + } + result = self.mgmt_client.data_masking_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + data_masking_rule_name=DATA_MASKING_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadClassifiers/put/Create a workload group with all properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "member_name": "dbo", - "label": "test_label", - "context": "test_context", - "start_time": "12:00", - "end_time": "14:00", - "importance": "high" - } - result = self.mgmt_client.workload_classifiers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, workload_classifier_name=WORKLOAD_CLASSIFIER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "member_name": "dbo", + "label": "test_label", + "context": "test_context", + "start_time": "12:00", + "end_time": "14:00", + "importance": "high", + } + result = self.mgmt_client.workload_classifiers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + workload_classifier_name=WORKLOAD_CLASSIFIER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadClassifiers/put/Create a workload group with the required properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "member_name": "dbo" - } - result = self.mgmt_client.workload_classifiers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, workload_classifier_name=WORKLOAD_CLASSIFIER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"member_name": "dbo"} + result = self.mgmt_client.workload_classifiers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + workload_classifier_name=WORKLOAD_CLASSIFIER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies/put/Update the short term retention policy for the restorable dropped database.[put] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentRuleBaselines/put/Creates or updates a database's vulnerability assessment rule baseline.[put] -#-------------------------------------------------------------------------- - BODY = { - "baseline_results": [ - { - "result": [ - "userA", - "SELECT" - ] - }, - { - "result": [ - "userB", - "SELECT" - ] - }, - { - "result": [ - "userC", - "SELECT", - "tableId_4" - ] - } - ] + # -------------------------------------------------------------------------- + BODY = { + "baseline_results": [ + {"result": ["userA", "SELECT"]}, + {"result": ["userB", "SELECT"]}, + {"result": ["userC", "SELECT", "tableId_4"]}, + ] } - result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME, parameters=BODY) + result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + rule_id=RULE_ID, + baseline_name=BASELINE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/put/Updates the sensitivity label of a given column with all parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "information_type": "PhoneNumber", - "information_type_id": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", - "label_id": "bf91e08c-f4f0-478a-b016-25164b2a65ff", - "label_name": "PII" - } - result = self.mgmt_client.sensitivity_labels.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "information_type": "PhoneNumber", + "information_type_id": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "label_id": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "label_name": "PII", + } + result = self.mgmt_client.sensitivity_labels.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentRuleBaselines/put/Creates or updates a database's vulnerability assessment rule baseline.[put] -#-------------------------------------------------------------------------- - BODY = { - "baseline_results": [ - { - "result": [ - "userA", - "SELECT" - ] - }, - { - "result": [ - "userB", - "SELECT" - ] - }, - { - "result": [ - "userC", - "SELECT", - "tableId_4" - ] - } - ] + # -------------------------------------------------------------------------- + BODY = { + "baseline_results": [ + {"result": ["userA", "SELECT"]}, + {"result": ["userB", "SELECT"]}, + {"result": ["userC", "SELECT", "tableId_4"]}, + ] } - result = self.mgmt_client.managed_database_vulnerability_assessment_rule_baselines.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME, parameters=BODY) + result = self.mgmt_client.managed_database_vulnerability_assessment_rule_baselines.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + rule_id=RULE_ID, + baseline_name=BASELINE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/put/Updates or creates a sensitivity label of a given column with all parameters in a managed database[put] -#-------------------------------------------------------------------------- - BODY = { - "information_type": "PhoneNumber", - "information_type_id": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", - "label_id": "bf91e08c-f4f0-478a-b016-25164b2a65ff", - "label_name": "PII" - } - result = self.mgmt_client.managed_database_sensitivity_labels.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "information_type": "PhoneNumber", + "information_type_id": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "label_id": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "label_name": "PII", + } + result = self.mgmt_client.managed_database_sensitivity_labels.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get the long term retention backup.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.get_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.get_by_resource_group( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + backup_name=BACKUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/get/Gets the sensitivity label of a given column in a managed database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_sensitivity_labels.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_sensitivity_labels.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get the long term retention backup.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.get_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.get_by_resource_group( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + backup_name=BACKUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentRuleBaselines/get/Gets a database's vulnerability assessment rule baseline.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessment_rule_baselines.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessment_rule_baselines.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + rule_id=RULE_ID, + baseline_name=BASELINE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/get/Gets the sensitivity label of a given column[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sensitivity_labels.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sensitivity_labels.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get all long term retention backups under the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_database(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_database( + location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentRuleBaselines/get/Gets a database's vulnerability assessment rule baseline.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + rule_id=RULE_ID, + baseline_name=BASELINE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get the long term retention backup.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.get_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.get_by_resource_group( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + backup_name=BACKUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get the long term retention backup of a managed database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.get(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.get( + location_name=LOCATION_NAME, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + backup_name=BACKUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetExecutions/get/Get a job step target execution[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_executions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID, step_name=STEP_NAME, target_id=TARGET_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_executions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + step_name=STEP_NAME, + target_id=TARGET_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentScans/get/Gets a database vulnerability assessment scan record by scan ID[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessment_scans.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, scan_id=SCAN_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessment_scans.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + scan_id=SCAN_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadClassifiers/get/Gets a workload classifier for a data warehouse[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_classifiers.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, workload_classifier_name=WORKLOAD_CLASSIFIER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_classifiers.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + workload_classifier_name=WORKLOAD_CLASSIFIER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get all long term retention backups under the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_database(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_database( + location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies/get/Get the short term retention policy list for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.list_by_restorable_dropped_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.list_by_restorable_dropped_database( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentScans/get/Gets the list of a database vulnerability assessment scan records[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessment_scans.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessment_scans.list_by_database( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetExecutions/get/List job step target executions[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_executions.list_by_job_execution(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_executions.list_by_job_execution( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TransparentDataEncryptionActivities/get/List a database's transparent data encryption activities[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.transparent_data_encryption_activities.list_by_configuration(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.transparent_data_encryption_activities.list_by_configuration( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentScans/get/Gets a database vulnerability assessment scan record by scan ID[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessment_scans.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, scan_id=SCAN_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessment_scans.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + scan_id=SCAN_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/get/Get a database's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobStepExecutions/get/Get a job step execution[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_step_executions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_step_executions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get all long term retention backups under the managed instance.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_instance(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_instance( + location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/get/Get a sync member schema[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.list_member_schemas(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.list_member_schemas( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/get/Get a database's threat detection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_security_alert_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_security_alert_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/Get the specified version of a job step.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.get_by_version(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_version=JOB_VERSION, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.get_by_version( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_version=JOB_VERSION, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_backup_short_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_backup_short_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceLongTermRetentionPolicies/get/Get the long term retention policy for the managed database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_long_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_long_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/get/Get a sync member[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentScans/get/Gets the list of a database vulnerability assessment scan records[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessment_scans.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessment_scans.list_by_database( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TransparentDataEncryptions/get/Get a database's transparent data encryption configuration[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.transparent_data_encryptions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.transparent_data_encryptions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetExecutions/get/List job step target executions[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_executions.list_by_job_execution(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_executions.list_by_job_execution( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the server.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/get/Get a database's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobStepExecutions/get/List job step executions[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_step_executions.list_by_job_execution(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_step_executions.list_by_job_execution( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadClassifiers/get/Get the list of workload classifiers for a workload group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_classifiers.list_by_workload_group(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_classifiers.list_by_workload_group( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseRestoreDetails/get/Managed database restore details.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_restore_details.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, restore_details_name=RESTORE_DETAILS_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_restore_details.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + restore_details_name=RESTORE_DETAILS_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/get/List data masking rules[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.data_masking_rules.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.data_masking_rules.list_by_database( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/get/Get an extended database's blob auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_database_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_database_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseThreatDetectionPolicies/get/Get database security alert policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_threat_detection_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_threat_detection_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/Get a job execution.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/List job steps for the specified version of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.list_by_version(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_version=JOB_VERSION) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.list_by_version( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_version=JOB_VERSION, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorableDroppedManagedDatabases/get/Gets a restorable dropped managed database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restorable_dropped_managed_databases.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restorable_dropped_managed_databases.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceTierAdvisors/get/Get a service tier advisor[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_tier_advisors.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, service_tier_advisor_name=SERVICE_TIER_ADVISOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_tier_advisors.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + service_tier_advisor_name=SERVICE_TIER_ADVISOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/get/Get the short term retention policy list for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_backup_short_term_retention_policies.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_backup_short_term_retention_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingPolicies/get/Get data masking policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.data_masking_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_policy_name=DATA_MASKING_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.data_masking_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + data_masking_policy_name=DATA_MASKING_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceLongTermRetentionPolicies/get/Get the long term retention policies for the managed database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_long_term_retention_policies.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_long_term_retention_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_short_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_short_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupLongTermRetentionPolicies/get/Get the long term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_long_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_long_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/get/Get a managed instance's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/get/Get a database's blob auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobVersions/get/Get a version of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_versions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_version=JOB_VERSION) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_versions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_version=JOB_VERSION, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/get/Gets the recommended sensitivity labels of a given database in a managed database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_sensitivity_labels.list_recommended_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_sensitivity_labels.list_recommended_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /GeoBackupPolicies/get/Get geo backup policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.geo_backup_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, geo_backup_policy_name=GEO_BACKUP_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.geo_backup_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + geo_backup_policy_name=GEO_BACKUP_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/get/List sync members under a sync group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.list_by_sync_group(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.list_by_sync_group( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/get/Get a database's automatic tuning settings[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_automatic_tuning.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_automatic_tuning.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + automatic_tuning_name=AUTOMATIC_TUNING_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/get/Get a managed server's threat detection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_server_security_alert_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_server_security_alert_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/get/Get a database's vulnerability assessments list[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessments.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessments.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/get/Gets the current sensitivity labels of a given database in a managed database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_sensitivity_labels.list_current_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_sensitivity_labels.list_current_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get a hub database schema.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.list_hub_schemas(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.list_hub_schemas( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/Get the latest version of a job step.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecoverableManagedDatabases/get/Gets a recoverable databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recoverable_managed_databases.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, recoverable_database_name=RECOVERABLE_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recoverable_managed_databases.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + recoverable_database_name=RECOVERABLE_DATABASE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/get/Get a list of the database's threat detection policies.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_security_alert_policies.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_security_alert_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/get/Get the encryption protector[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_encryption_protectors.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_encryption_protectors.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/get/Gets a workload group for a data warehouse[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_groups.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get all long term retention backups under the managed instance.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_instance(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_instance( + location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/get/Gets a datawarehouse database restore point.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, restore_point_name=RESTORE_POINT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + restore_point_name=RESTORE_POINT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/get/Gets a database restore point.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, restore_point_name=RESTORE_POINT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + restore_point_name=RESTORE_POINT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecommendedElasticPools/get/Get recommended elastic pool metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recommended_elastic_pools.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recommended_elastic_pools.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/get/Get a target group.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_groups.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get sync group logs[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.list_logs(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, start_time="2017-01-01T00:00:00", end_time="2017-12-31T00:00:00", type="All") + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.list_logs( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + start_time="2017-01-01T00:00:00", + end_time="2017-12-31T00:00:00", + type="All", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorableDroppedDatabases/get/Get a restorable dropped database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restorable_dropped_databases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, restorable_droppeded_database_id=RESTORABLE_DROPPEDED_DATABASE_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restorable_dropped_databases.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + restorable_droppeded_database_id=RESTORABLE_DROPPEDED_DATABASE_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /PrivateEndpointConnections/get/Gets private endpoint connection.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.private_endpoint_connections.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.private_endpoint_connections.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolDatabaseActivities/get/List elastic pool database activity[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pool_database_activities.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pool_database_activities.list_by_elastic_pool( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/get/Get a credential[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_credentials.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, credential_name=CREDENTIAL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_credentials.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + credential_name=CREDENTIAL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get a sync group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_short_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_short_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/List a job's executions.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.list_by_job(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.list_by_job( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupLongTermRetentionPolicies/get/Get the long term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_long_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_long_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ReplicationLinks/get/Get a replication link[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.replication_links.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.replication_links.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/get/Get a server's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecommendedElasticPools/get/Get a recommended elastic pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recommended_elastic_pools.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recommended_elastic_pools.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobVersions/get/Get all versions of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_versions.list_by_job(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_versions.list_by_job( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/get/Gets the recommended sensitivity labels of a given database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sensitivity_labels.list_recommended_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sensitivity_labels.list_recommended_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceAdministrators/get/Get administrator of managed instance[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_administrators.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, administrator_name=ADMINISTRATOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_administrators.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + administrator_name=ADMINISTRATOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolActivities/get/List Elastic pool activity[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pool_activities.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pool_activities.list_by_elastic_pool( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/get/Get a server's blob extended auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_server_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_server_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/List job steps for the latest version of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.list_by_job(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.list_by_job( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the server.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/get/List extended auditing settings of a database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_database_blob_auditing_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_database_blob_auditing_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/get/Get the database's vulnerability assessment policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessments.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessments.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/get/Get a server's threat detection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_security_alert_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_security_alert_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/get/Gets the current sensitivity labels of a given database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sensitivity_labels.list_current_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sensitivity_labels.list_current_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstanceFailoverGroups/get/Get failover group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_failover_groups.get(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_failover_groups.get( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/get/Gets a Azure Active Directory only authentication property.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_adonly_authentications.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_adonly_authentications.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/get/Get the encryption protector[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.encryption_protectors.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.encryption_protectors.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/get/Gets a virtual network rule[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_network_rules.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_network_rules.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/get/Get a job[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.jobs.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.jobs.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceTierAdvisors/get/Get a list of a service tier advisors[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_tier_advisors.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_tier_advisors.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/get/Get a server communication link[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_communication_links.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_communication_links.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/get/Get sync agent linked databases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.list_linked_databases(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.list_linked_databases( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/get/Get a server's blob auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + blob_auditing_policy_name=BLOB_AUDITING_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceOperations/get/Gets the managed instance management operation[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_operations.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_operations.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/get/Gets a managed database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerConnectionPolicies/get/Get a server's secure connection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_connection_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, connection_policy_name=CONNECTION_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_connection_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, connection_policy_name=CONNECTION_POLICY_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /GeoBackupPolicies/get/List geo backup policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.geo_backup_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.geo_backup_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolOperations/get/List the elastic pool management operations[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pool_operations.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pool_operations.list_by_elastic_pool( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/get/List inaccessible managed databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.list_inaccessible_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.list_inaccessible_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/Gets a list of databases in an elastic pool.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.list_by_elastic_pool( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ReplicationLinks/get/List Replication links[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.replication_links.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.replication_links.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceObjectives/get/Get a service objective[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_objectives.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, service_objective_name=SERVICE_OBJECTIVE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_objectives.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, service_objective_name=SERVICE_OBJECTIVE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/get/List audit settings of a database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_blob_auditing_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_blob_auditing_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorableDroppedManagedDatabases/get/List restorable dropped databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restorable_dropped_managed_databases.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restorable_dropped_managed_databases.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/get/Get the list of workload groups for a data warehouse[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_groups.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_groups.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/get/Get all target groups in an agent.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_groups.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_groups.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAutomaticTuning/get/Get a server's automatic tuning settings[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_automatic_tuning.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_automatic_tuning.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/get/List datawarehouse database restore points.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/get/List database restore points.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/get/Get a managed instance's vulnerability assessment policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_vulnerability_assessments.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_vulnerability_assessments.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get all long term retention backups under the location.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_location(location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_location( + location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/get/List credentials in a job agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_credentials.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_credentials.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/List all job executions in a job agent.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/List all job executions in a job agent with filtering.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, create_time_min="2017-03-21T19:00:00Z", create_time_max="2017-03-21T19:05:00Z", end_time_min="2017-03-21T19:20:00Z", end_time_max="2017-03-21T19:25:00Z") + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.list_by_agent( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + create_time_min="2017-03-21T19:00:00Z", + create_time_max="2017-03-21T19:05:00Z", + end_time_min="2017-03-21T19:20:00Z", + end_time_max="2017-03-21T19:25:00Z", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecoverableDatabases/get/Get a recoverable database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recoverable_databases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recoverable_databases.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/get/Get failover group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/get/Get the managed server's threat detection policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_server_security_alert_policies.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_server_security_alert_policies.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseOperations/get/List the database management operations[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_operations.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_operations.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/List sync groups under a given database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecoverableManagedDatabases/get/List recoverable databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recoverable_managed_databases.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recoverable_managed_databases.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/get/Gets a Azure Active Directory administrator.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_adadministrators.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_adadministrators.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/get/Get Firewall Rule[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.firewall_rules.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.firewall_rules.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/get/Get the managed instance key[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_keys.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_keys.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/get/List encryption protectors by managed instance[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_encryption_protectors.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_encryption_protectors.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /PrivateLinkResources/get/Gets a private link resource for SQL.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.private_link_resources.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, group_name=GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.private_link_resources.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, group_name=GROUP_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/Get an elastic pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseUsages/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_usages.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_usages.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/get/List jobs in a job agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.jobs.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.jobs.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceAdministrators/get/List administrators of managed instance[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_administrators.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_administrators.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/get/Get a sync agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/get/Get server DNS alias[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/get/Get a job agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_agents.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_agents.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/Gets a database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceOperations/get/List the managed instance management operations[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_operations.list_by_managed_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_operations.list_by_managed_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/List managed instances by instance pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instances.list_by_instance_pool(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instances.list_by_instance_pool( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the location.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/get/List databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorableDroppedDatabases/get/Get list of restorable dropped databases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restorable_dropped_databases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restorable_dropped_databases.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstanceFailoverGroups/get/List failover group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_failover_groups.list_by_location(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_failover_groups.list_by_location( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /PrivateEndpointConnections/get/Gets list of private endpoint connections on a server.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.private_endpoint_connections.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.private_endpoint_connections.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/get/Gets a list of Azure Active Directory only authentication object.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_adonly_authentications.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_adonly_authentications.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/get/List extended auditing settings of a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_server_blob_auditing_policies.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_server_blob_auditing_policies.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/get/Get a server's vulnerability assessment policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_vulnerability_assessments.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_vulnerability_assessments.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecommendedElasticPools/get/List recommended elastic pools[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recommended_elastic_pools.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recommended_elastic_pools.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/get/List the keys for a managed instance.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_keys.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_keys.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/get/List the server's threat detection policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_security_alert_policies.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_security_alert_policies.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecoverableDatabases/get/Get list of restorable dropped databases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recoverable_databases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recoverable_databases.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /PrivateLinkResources/get/Gets private link resources for SQL.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.private_link_resources.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.private_link_resources.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/get/List encryption protectors by server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.encryption_protectors.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.encryption_protectors.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/get/Get the server key[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_keys.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_keys.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/get/List virtual network rules[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_network_rules.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_network_rules.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Usages/get/List instance pool usages.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.usages.list_by_instance_pool(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.usages.list_by_instance_pool( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Usages/get/List instance pool usages expanded with children.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.usages.list_by_instance_pool(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, expand_children="true") + # -------------------------------------------------------------------------- + result = self.mgmt_client.usages.list_by_instance_pool( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, expand_children="true" + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/get/List server communication links[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_communication_links.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_communication_links.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/Get managed instance[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instances.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instances.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceObjectives/get/List service objectives[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_objectives.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_objectives.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualClusters/get/Get virtual cluster[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_clusters.get(resource_group_name=RESOURCE_GROUP, virtual_cluster_name=VIRTUAL_CLUSTER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_clusters.get( + resource_group_name=RESOURCE_GROUP, virtual_cluster_name=VIRTUAL_CLUSTER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/get/List auditing settings of a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_blob_auditing_policies.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_blob_auditing_policies.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/get/List failover group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/get/Gets a list of Azure Active Directory administrator.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_adadministrators.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_adadministrators.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/get/List Firewall Rules[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.firewall_rules.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.firewall_rules.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/Get all elastic pools in a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/get/Get an instance pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_pools.get(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_pools.get( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/get/Get sync agents under a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/get/List server DNS aliases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/Gets a list of databases.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.databases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/get/List job agents in a server[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.job_agents.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/get/Get all long term retention backups under the location.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_location(location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.list_by_location( + location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerUsages/get/List servers usages[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_usages.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_usages.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/get/List the server keys by server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_keys.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_keys.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/get/Get server[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the location.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SubscriptionUsages/get/Get specific subscription usage in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.subscription_usages.get(location_name=LOCATION_NAME, usage_name=USAGE_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/List managed instances by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.managed_instances.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualClusters/get/List virtual clusters by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.virtual_clusters.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/get/List instance pools by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.instance_pools.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get a sync database ID[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.sync_groups.list_sync_database_ids(location_name=LOCATION_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/get/List servers by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Capabilities/get/List subscription capabilities in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.capabilities.list_by_location(location_name=LOCATION_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SubscriptionUsages/get/List subscription usages in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.subscription_usages.list_by_location(location_name=LOCATION_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/List managed instances[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.managed_instances.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualClusters/get/List virtualClusters[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.virtual_clusters.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/get/List instance pools in the subscription[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.instance_pools.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/get/List servers[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/post/Disables the sensitivity recommendations on a given column[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_sensitivity_labels.disable_recommendation(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_sensitivity_labels.disable_recommendation( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/post/Enables the sensitivity recommendations on a given column[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_sensitivity_labels.enable_recommendation(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_sensitivity_labels.enable_recommendation( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/post/Disables sensitivity recommendations on a given column[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sensitivity_labels.disable_recommendation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sensitivity_labels.disable_recommendation( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/post/Enables sensitivity recommendations on a given column[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sensitivity_labels.enable_recommendation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sensitivity_labels.enable_recommendation( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentScans/post/Executes a database's vulnerability assessment scan.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessment_scans.begin_initiate_scan(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, scan_id=SCAN_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessment_scans.begin_initiate_scan( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + scan_id=SCAN_ID, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentScans/post/Export a database's vulnerability assessment scan results.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} - result = self.mgmt_client.managed_database_vulnerability_assessment_scans.export(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, scan_id=SCAN_ID, parameters=BODY) + result = self.mgmt_client.managed_database_vulnerability_assessment_scans.export( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + scan_id=SCAN_ID, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies/patch/Update the short term retention policy for the restorable dropped database.[patch] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.managed_restorable_dropped_database_backup_short_term_retention_policies.begin_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + restorable_dropped_database_id=RESTORABLE_DROPPED_DATABASE_ID, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentScans/post/Executes a database's vulnerability assessment scan.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessment_scans.begin_initiate_scan(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, scan_id=SCAN_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessment_scans.begin_initiate_scan( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + scan_id=SCAN_ID, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentScans/post/Export a database's vulnerability assessment scan results.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} - result = self.mgmt_client.database_vulnerability_assessment_scans.export(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, scan_id=SCAN_ID, parameters=BODY) + result = self.mgmt_client.database_vulnerability_assessment_scans.export( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + scan_id=SCAN_ID, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/post/Refresh a sync member database schema[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.begin_refresh_member_schema(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.begin_refresh_member_schema( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/patch/Update the short term retention policy for the database.[patch] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/patch/Update an existing sync member[patch] -#-------------------------------------------------------------------------- - BODY = { - "database_type": "AzureSqlDatabase", - "server_name": "syncgroupcrud-3379.database.windows.net", - "database_name": "syncgroupcrud-7421", - "user_name": "myUser", - "sync_direction": "Bidirectional", - "use_private_link_connection": True, - "sync_member_azure_database_resource_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.sync_members.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_type": "AzureSqlDatabase", + "server_name": "syncgroupcrud-3379.database.windows.net", + "database_name": "syncgroupcrud-7421", + "user_name": "myUser", + "sync_direction": "Bidirectional", + "use_private_link_connection": True, + "sync_member_azure_database_resource_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + } + result = self.mgmt_client.sync_members.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/post/Cancel a job execution.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.cancel(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.cancel( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ReplicationLinks/post/Failover a replication link[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.replication_links.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.replication_links.begin_failover( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/post/Revalidates the encryption protector[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_encryption_protectors.begin_revalidate(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_encryption_protectors.begin_revalidate( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/patch/Update the short term retention policy for the database.[patch] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14", - "diff_backup_interval_in_hours": "24" - } - result = self.mgmt_client.backup_short_term_retention_policies.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14", "diff_backup_interval_in_hours": "24"} + result = self.mgmt_client.backup_short_term_retention_policies.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstanceFailoverGroups/post/Forced failover of a failover group allowing data loss[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_failover_groups.begin_force_failover_allow_data_loss(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_failover_groups.begin_force_failover_allow_data_loss( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Refresh a hub database schema.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.begin_refresh_hub_schema(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.begin_refresh_hub_schema( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Trigger a sync group synchronization.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.trigger_sync(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.trigger_sync( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/patch/Updates database automatic tuning settings with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "desired_state": "Auto" - } - result = self.mgmt_client.database_automatic_tuning.update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"desired_state": "Auto"} + result = self.mgmt_client.database_automatic_tuning.update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + automatic_tuning_name=AUTOMATIC_TUNING_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/patch/Updates database automatic tuning settings with all properties[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "desired_state": "Auto", - "options": { - "create_index": { - "desired_state": "Off" + "desired_state": "Auto", + "options": { + "create_index": {"desired_state": "Off"}, + "drop_index": {"desired_state": "On"}, + "force_last_good_plan": {"desired_state": "Default"}, }, - "drop_index": { - "desired_state": "On" - }, - "force_last_good_plan": { - "desired_state": "Default" - } - } } - result = self.mgmt_client.database_automatic_tuning.update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME, parameters=BODY) + result = self.mgmt_client.database_automatic_tuning.update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + automatic_tuning_name=AUTOMATIC_TUNING_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolOperations/post/Cancel the elastic pool management operation[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pool_operations.cancel(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pool_operations.cancel( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + operation_id=OPERATION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Cancel a sync group synchronization[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.cancel_sync(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.cancel_sync( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ReplicationLinks/post/Failover a replication link[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.replication_links.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.replication_links.begin_failover( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ReplicationLinks/post/Delete replication link[post] -#-------------------------------------------------------------------------- - BODY = { - "forced_termination": True - } - result = self.mgmt_client.replication_links.begin_unlink(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"forced_termination": True} + result = self.mgmt_client.replication_links.begin_unlink( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + link_id=LINK_ID, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/post/Forced failover of a failover group allowing data loss[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.begin_force_failover_allow_data_loss(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.begin_force_failover_allow_data_loss( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseOperations/post/Cancel the database management operation[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_operations.cancel(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_operations.cancel( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + operation_id=OPERATION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/post/Completes a managed database external backup restore.[post] -#-------------------------------------------------------------------------- - BODY = { - "last_backup_name": "testdb1_log4" - } - result = self.mgmt_client.managed_databases.begin_complete_restore(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"last_backup_name": "testdb1_log4"} + result = self.mgmt_client.managed_databases.begin_complete_restore( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/post/Revalidates the encryption protector[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.encryption_protectors.begin_revalidate(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.encryption_protectors.begin_revalidate( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/patch/Update a sync group[patch] -#-------------------------------------------------------------------------- - BODY = { - "interval": "-1", - "conflict_resolution_policy": "HubWin", - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME, - "hub_database_user_name": "hubUser", - "hub_database_password": "hubPassword", - "use_private_link_connection": False - } - result = self.mgmt_client.sync_groups.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "interval": "-1", + "conflict_resolution_policy": "HubWin", + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, + "hub_database_user_name": "hubUser", + "hub_database_password": "hubPassword", + "use_private_link_connection": False, + } + result = self.mgmt_client.sync_groups.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstanceFailoverGroups/post/Planned failover of a failover group[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_failover_groups.begin_failover(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_failover_groups.begin_failover( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/post/Start a job execution.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.begin_create(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.begin_create( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceOperations/post/Cancel the managed instance management operation[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_operations.cancel(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_operations.cancel( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Upgrades a data warehouse.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_upgrade_data_warehouse(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_upgrade_data_warehouse( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/post/Planned failover of a failover group[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.begin_failover( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/patch/Updates a managed database with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - } - } - result = self.mgmt_client.managed_databases.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"tag_key1": "TagValue1"}} + result = self.mgmt_client.managed_databases.begin_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/patch/Updates a managed database with maximal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - } - } - result = self.mgmt_client.managed_databases.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"tag_key1": "TagValue1"}} + result = self.mgmt_client.managed_databases.begin_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/post/Failover an elastic pool[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.begin_failover( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/post/Generate a sync agent key[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.generate_key(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.generate_key( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAutomaticTuning/patch/Updates server automatic tuning settings with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "desired_state": "Auto" - } - result = self.mgmt_client.server_automatic_tuning.update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"desired_state": "Auto"} + result = self.mgmt_client.server_automatic_tuning.update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + automatic_tuning_name=AUTOMATIC_TUNING_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAutomaticTuning/patch/Updates server automatic tuning settings with all properties[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "desired_state": "Auto", - "options": { - "create_index": { - "desired_state": "Off" + "desired_state": "Auto", + "options": { + "create_index": {"desired_state": "Off"}, + "drop_index": {"desired_state": "On"}, + "force_last_good_plan": {"desired_state": "Default"}, }, - "drop_index": { - "desired_state": "On" - }, - "force_last_good_plan": { - "desired_state": "Default" - } - } } - result = self.mgmt_client.server_automatic_tuning.update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, automatic_tuning_name=AUTOMATIC_TUNING_NAME, parameters=BODY) + result = self.mgmt_client.server_automatic_tuning.update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + automatic_tuning_name=AUTOMATIC_TUNING_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/post/Creates datawarehouse database restore point.[post] -#-------------------------------------------------------------------------- - BODY = { - "restore_point_label": "mylabel" - } - result = self.mgmt_client.restore_points.begin_create(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"restore_point_label": "mylabel"} + result = self.mgmt_client.restore_points.begin_create( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/patch/Update failover group[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "read_write_endpoint": { - "failover_policy": "Automatic", - "failover_with_data_loss_grace_period_minutes": "120" - }, - "databases": [ - "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1" - ] - } - result = self.mgmt_client.failover_groups.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME, parameters=BODY) + "read_write_endpoint": { + "failover_policy": "Automatic", + "failover_with_data_loss_grace_period_minutes": "120", + }, + "databases": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1" + ], + } + result = self.mgmt_client.failover_groups.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + failover_group_name=FAILOVER_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/post/Acquire server DNS alias[post] -#-------------------------------------------------------------------------- - BODY = { - "old_server_dns_alias_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/dnsAliases/" + DNS_ALIASE_NAME - } - result = self.mgmt_client.server_dns_aliases.begin_acquire(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "old_server_dns_alias_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/dnsAliases/" + + DNS_ALIASE_NAME + } + result = self.mgmt_client.server_dns_aliases.begin_acquire( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Failover an database[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, replica_type="Primary") + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_failover( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + replica_type="Primary", + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Export a database into a new bacpac file with storage key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } - result = self.mgmt_client.databases.begin_export(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.begin_export( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Export a database into a new bacpac file with SAS key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } - result = self.mgmt_client.databases.begin_export(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.begin_export( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Resumes a database.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_resume(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_resume( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/patch/Update an elastic pool with all parameter[patch] -#-------------------------------------------------------------------------- - BODY = { - "sku": { - "name": "BC_Gen4_2", - "tier": "BusinessCritical", - "capacity": "2" - }, - "per_database_settings": { - "min_capacity": "0.25", - "max_capacity": "1" - }, - "zone_redundant": True, - "license_type": "LicenseIncluded" - } - result = self.mgmt_client.elastic_pools.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "sku": {"name": "BC_Gen4_2", "tier": "BusinessCritical", "capacity": "2"}, + "per_database_settings": {"min_capacity": "0.25", "max_capacity": "1"}, + "zone_redundant": True, + "license_type": "LicenseIncluded", + } + result = self.mgmt_client.elastic_pools.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/patch/Update an elastic pool with minimum parameters[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} - result = self.mgmt_client.elastic_pools.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + result = self.mgmt_client.elastic_pools.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Pauses a database.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_pause(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_pause( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Renames a database.[post] -#-------------------------------------------------------------------------- - BODY = { - "id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME - } - result = self.mgmt_client.databases.rename(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME + } + result = self.mgmt_client.databases.rename( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceTdeCertificates/post/Upload a TDE certificate[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "private_blob": "MIIJ+QIBAzCCCbUGCSqGSIb3DQEHAaCCCaYEggmiMIIJnjCCBhcGCSqGSIb3DQEHAaCCBggEggYEMIIGADCCBfwGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgUeBd7F2KZUwICB9AEggTYSRi88/Xf0EZ9smyYDCr+jHa7a/510s19/5wjqGbLTT/CYBu2qSOhj+g9sNvjj5oWAcluaZ4XCl/oJhXlB+9q9ZYSC6pPhma7/Il+/zlZm8ZUMfgnUefpKXGj+Ilydghya2DOA0PONDGbqIJGBYC0JgtiL7WcYyA+LEiO0vXc2fZ+ccjQsHM+ePFOm6rTJ1oqE3quRC5Ls2Bv22PCmF+GWkWxqH1L5x8wR2tYfecEsx4sKMj318novQqBlJckOUPDrTT2ic6izFnDWS+zbGezSCeRkt2vjCUVDg7Aqm2bkmLVn+arA3tDZ/DBxgTwwt8prpAznDYG07WRxXMUk8Uqzmcds85jSMLSBOoRaS7GwIPprx0QwyYXd8H/go2vafuGCydRk8mA0bGLXjYWuYHAtztlGrE71a7ILqHY4XankohSAY4YF9Fc1mJcdtsuICs5vNosw1lf0VK5BR4ONCkiGFdYEKUpaUrzKpQiw3zteBN8RQs/ADKGWzaWERrkptf0pLH3/QnZvu9xwwnNWneygByPy7OVYrvgjD27x7Y/C24GyQweh75OTQN3fAvUj7IqeTVyWZGZq32AY/uUXYwASBpLbNUtUBfJ7bgyvVSZlPvcFUwDHJC1P+fSP8Vfcc9W3ec9HqVheXio7gYBEg9hZrOZwiZorl8HZJsEj5NxGccBme6hEVQRZfar5kFDHor/zmKohEAJVw8lVLkgmEuz8aqQUDSWVAcLbkfqygK/NxsR2CaC6xWroagQSRwpF8YbvqYJtAQvdkUXY9Ll4LSRcxKrWMZHgI+1Z22pyNtpy/kXLADche5CF3AVbHtzNNgn9L4GVuCW1Lqufu3U2+DEG+u53u1vraf45RS1y0IyLjTGC+8j0OTxcgUU6FrGgFny0m676v8potPrfyHvuOO511aOTe8UPBfnYyx0XHJPn8RaYGq0vMOBpFyfJkXtAnbRMgXjxxiO91yXTI2hbdVlAmOER1u8QemtF5PoKwZzaAjGBC5S0ARNtxZcWInGciGgtWJVVcyU6nJv3pa2T8jNvtcp8X7j+Il6j6Sju02L/f+S9MvAoGfgG6C5cInNIBEt7+mpYYV/6Mi9Nnj+8/Cq3eAMdTTo7XIzbFpeInzpVN2lAxPockRoAVj+odYO3CIBnzJ7mcA7JqtNk76vaWKasocMk9YS0Z+43o/Z5pZPwXvUv++UUv5fGRcsnIHEeQc+XJlSqRVoaLDo3mNRV6jp5GzJW2BZx3KkuLbohcmfBdr6c8ehGvHXhPm4k2jq9UNYvG9Gy58+1GqdhIYWbRc0Haid8H7UvvdkjA+Yul2rLj4fSTJ6yJ4f6xFAsFY7wIJthpik+dQO9lqPglo9DY30gEOXs3miuJmdmFtBoYlzxti4JBGwxXPwP3rtu6rY1JEOFsh1WmSEGE6Df2l9wtUQ0WAAD6bWgCxMiiRRv7TegxSeMtGn5QKuPC5lFuvzZvtJy1rR8WQwT7lVdHz32xLP2Rs4dayQPh08x3GsuI54d2kti2rcaSltGLRAOuODWc8KjYsPS6Ku4aN2NoQB5H9TEbHy2fsUNpNPMbCY54lH5bkgJtO4WmulnAHEApZG07u8G+Kk3a15npXemWgUW3N9gGtJ2XmieendXqS3RK1ZUYDsnAWW2jCZkjGB6jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAYgBjAGYAOABhADUAOQAtAGYAZQAzADIALQA0AGIAZgA0AC0AYQBiAGMAZgAtADkAOAA3AGIANwBmADgANwAzADEANgBjMGsGCSsGAQQBgjcRATFeHlwATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMDCCA38GCSqGSIb3DQEHBqCCA3AwggNsAgEAMIIDZQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIbQcNiyMGeL4CAgfQgIIDOPSSP6SqJGYsXCPWCMQU0TqdqT55fauuadduHaAlQpyN0MVYdu9QguLqMaJjxWa8Coy3K7LAOcqJ4S8FWV2SrpTuNHPv7vrtZfYhltGl+vW8rIrogeGTV4T/45oc5605HSiyItOWX8vHYKnAJkRMW4ICZXgY3dZVb+fr6yPIRFvMywqzwkViVOJIKjZN2lsAQ0xlLU0Fu/va9uxADwI2ZUKfo+6nX6bITkLvUSJoNCvZ5e7UITasxC4ZauHdMZch38N7BPH2usrAQfr3omYcScFzSeN2onhE1JBURCPDQa8+CGiWMm6mxboUOIcUGasaDqYQ8pSAgZZqQf8lU0uH4FP/z/5Dd7PniDHjvqlwYa+vB6flgtrwh6jYFeTKluhkucLrfzusFR52kHpg8K4GaUL8MhvlsNdd8iHSFjfyOdXRpY9re+B8X9Eorx0Z3xsSsVWaCwmI+Spq+BZ5CSXVm9Um6ogeM0et8JciZS2yFLIlbl2o4U1BWblskYfj/29jm4/2UKjKzORZnpjE0O+qP4hReSrx6os9dr8sNkq/7OafZock8zXjXaOpW6bqB1V5NWMPiWiPxPxfRi1F/MQp6CPY03H7MsDALEFcF7MmtY4YpN/+FFfrrOwS19Fg0OnQzNIgFpSRywX9dxyKICt/wbvhM+RLpUN50ZekFVska+C27hJRJEZ9rSdVhOVdL1UNknuwqF1cCQQriaNsnCbeVHN3/Wgsms9+Kt+glBNyZQlU8Fk+fafcQFI5MlxyMmARVwnC70F8AScnJPPFVZIdgIrvOXCDrEh8wFgkVM/MHkaTZUF51yy3pbIZaPmNd5dsUfEvMsW2IY6esnUUxPRQUUoi5Ib8EFHdiQJrYY3ELfZRXb2I1Xd0DVhlGzogn3CXZtXR2gSAakdB0qrLpXMSJNS65SS2tVTD7SI8OpUGNRjthQIAEEROPue10geFUwarWi/3jGMG529SzwDUJ4g0ix6VtcuLIDYFNdClDTyEyeV1f70NSG2QVXPIpeF7WQ8jWK7kenGaqqna4C4FYQpQk9vJP171nUXLR2mUR11bo1N4hcVhXnJls5yo9u14BB9CqVKXeDl7M5zwMDswHzAHBgUrDgMCGgQUT6Tjuka1G4O/ZCBxO7NBR34YUYQEFLaheEdRIIuxUd25/hl5vf2SFuZuAgIH0A==", - "cert_password": "password" + "private_blob": "MIIJ+QIBAzCCCbUGCSqGSIb3DQEHAaCCCaYEggmiMIIJnjCCBhcGCSqGSIb3DQEHAaCCBggEggYEMIIGADCCBfwGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgUeBd7F2KZUwICB9AEggTYSRi88/Xf0EZ9smyYDCr+jHa7a/510s19/5wjqGbLTT/CYBu2qSOhj+g9sNvjj5oWAcluaZ4XCl/oJhXlB+9q9ZYSC6pPhma7/Il+/zlZm8ZUMfgnUefpKXGj+Ilydghya2DOA0PONDGbqIJGBYC0JgtiL7WcYyA+LEiO0vXc2fZ+ccjQsHM+ePFOm6rTJ1oqE3quRC5Ls2Bv22PCmF+GWkWxqH1L5x8wR2tYfecEsx4sKMj318novQqBlJckOUPDrTT2ic6izFnDWS+zbGezSCeRkt2vjCUVDg7Aqm2bkmLVn+arA3tDZ/DBxgTwwt8prpAznDYG07WRxXMUk8Uqzmcds85jSMLSBOoRaS7GwIPprx0QwyYXd8H/go2vafuGCydRk8mA0bGLXjYWuYHAtztlGrE71a7ILqHY4XankohSAY4YF9Fc1mJcdtsuICs5vNosw1lf0VK5BR4ONCkiGFdYEKUpaUrzKpQiw3zteBN8RQs/ADKGWzaWERrkptf0pLH3/QnZvu9xwwnNWneygByPy7OVYrvgjD27x7Y/C24GyQweh75OTQN3fAvUj7IqeTVyWZGZq32AY/uUXYwASBpLbNUtUBfJ7bgyvVSZlPvcFUwDHJC1P+fSP8Vfcc9W3ec9HqVheXio7gYBEg9hZrOZwiZorl8HZJsEj5NxGccBme6hEVQRZfar5kFDHor/zmKohEAJVw8lVLkgmEuz8aqQUDSWVAcLbkfqygK/NxsR2CaC6xWroagQSRwpF8YbvqYJtAQvdkUXY9Ll4LSRcxKrWMZHgI+1Z22pyNtpy/kXLADche5CF3AVbHtzNNgn9L4GVuCW1Lqufu3U2+DEG+u53u1vraf45RS1y0IyLjTGC+8j0OTxcgUU6FrGgFny0m676v8potPrfyHvuOO511aOTe8UPBfnYyx0XHJPn8RaYGq0vMOBpFyfJkXtAnbRMgXjxxiO91yXTI2hbdVlAmOER1u8QemtF5PoKwZzaAjGBC5S0ARNtxZcWInGciGgtWJVVcyU6nJv3pa2T8jNvtcp8X7j+Il6j6Sju02L/f+S9MvAoGfgG6C5cInNIBEt7+mpYYV/6Mi9Nnj+8/Cq3eAMdTTo7XIzbFpeInzpVN2lAxPockRoAVj+odYO3CIBnzJ7mcA7JqtNk76vaWKasocMk9YS0Z+43o/Z5pZPwXvUv++UUv5fGRcsnIHEeQc+XJlSqRVoaLDo3mNRV6jp5GzJW2BZx3KkuLbohcmfBdr6c8ehGvHXhPm4k2jq9UNYvG9Gy58+1GqdhIYWbRc0Haid8H7UvvdkjA+Yul2rLj4fSTJ6yJ4f6xFAsFY7wIJthpik+dQO9lqPglo9DY30gEOXs3miuJmdmFtBoYlzxti4JBGwxXPwP3rtu6rY1JEOFsh1WmSEGE6Df2l9wtUQ0WAAD6bWgCxMiiRRv7TegxSeMtGn5QKuPC5lFuvzZvtJy1rR8WQwT7lVdHz32xLP2Rs4dayQPh08x3GsuI54d2kti2rcaSltGLRAOuODWc8KjYsPS6Ku4aN2NoQB5H9TEbHy2fsUNpNPMbCY54lH5bkgJtO4WmulnAHEApZG07u8G+Kk3a15npXemWgUW3N9gGtJ2XmieendXqS3RK1ZUYDsnAWW2jCZkjGB6jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAYgBjAGYAOABhADUAOQAtAGYAZQAzADIALQA0AGIAZgA0AC0AYQBiAGMAZgAtADkAOAA3AGIANwBmADgANwAzADEANgBjMGsGCSsGAQQBgjcRATFeHlwATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMDCCA38GCSqGSIb3DQEHBqCCA3AwggNsAgEAMIIDZQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIbQcNiyMGeL4CAgfQgIIDOPSSP6SqJGYsXCPWCMQU0TqdqT55fauuadduHaAlQpyN0MVYdu9QguLqMaJjxWa8Coy3K7LAOcqJ4S8FWV2SrpTuNHPv7vrtZfYhltGl+vW8rIrogeGTV4T/45oc5605HSiyItOWX8vHYKnAJkRMW4ICZXgY3dZVb+fr6yPIRFvMywqzwkViVOJIKjZN2lsAQ0xlLU0Fu/va9uxADwI2ZUKfo+6nX6bITkLvUSJoNCvZ5e7UITasxC4ZauHdMZch38N7BPH2usrAQfr3omYcScFzSeN2onhE1JBURCPDQa8+CGiWMm6mxboUOIcUGasaDqYQ8pSAgZZqQf8lU0uH4FP/z/5Dd7PniDHjvqlwYa+vB6flgtrwh6jYFeTKluhkucLrfzusFR52kHpg8K4GaUL8MhvlsNdd8iHSFjfyOdXRpY9re+B8X9Eorx0Z3xsSsVWaCwmI+Spq+BZ5CSXVm9Um6ogeM0et8JciZS2yFLIlbl2o4U1BWblskYfj/29jm4/2UKjKzORZnpjE0O+qP4hReSrx6os9dr8sNkq/7OafZock8zXjXaOpW6bqB1V5NWMPiWiPxPxfRi1F/MQp6CPY03H7MsDALEFcF7MmtY4YpN/+FFfrrOwS19Fg0OnQzNIgFpSRywX9dxyKICt/wbvhM+RLpUN50ZekFVska+C27hJRJEZ9rSdVhOVdL1UNknuwqF1cCQQriaNsnCbeVHN3/Wgsms9+Kt+glBNyZQlU8Fk+fafcQFI5MlxyMmARVwnC70F8AScnJPPFVZIdgIrvOXCDrEh8wFgkVM/MHkaTZUF51yy3pbIZaPmNd5dsUfEvMsW2IY6esnUUxPRQUUoi5Ib8EFHdiQJrYY3ELfZRXb2I1Xd0DVhlGzogn3CXZtXR2gSAakdB0qrLpXMSJNS65SS2tVTD7SI8OpUGNRjthQIAEEROPue10geFUwarWi/3jGMG529SzwDUJ4g0ix6VtcuLIDYFNdClDTyEyeV1f70NSG2QVXPIpeF7WQ8jWK7kenGaqqna4C4FYQpQk9vJP171nUXLR2mUR11bo1N4hcVhXnJls5yo9u14BB9CqVKXeDl7M5zwMDswHzAHBgUrDgMCGgQUT6Tjuka1G4O/ZCBxO7NBR34YUYQEFLaheEdRIIuxUd25/hl5vf2SFuZuAgIH0A==", + "cert_password": "password", } - result = self.mgmt_client.managed_instance_tde_certificates.begin_create(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_tde_certificates.begin_create( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/patch/Update a job agent's tags.[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "mytag1": "myvalue1" - } - } - result = self.mgmt_client.job_agents.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"mytag1": "myvalue1"}} + result = self.mgmt_client.job_agents.begin_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/patch/Updates a database.[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "sku": { - "name": "S1", - "tier": "Standard" - }, - "collation": "SQL_Latin1_General_CP1_CI_AS", - "max_size_bytes": "1073741824" + "sku": {"name": "S1", "tier": "Standard"}, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "max_size_bytes": "1073741824", } - result = self.mgmt_client.databases.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.begin_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/post/Failover a managed instance.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instances.begin_failover(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, replica_type="Primary") + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instances.begin_failover( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, replica_type="Primary" + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/patch/Update managed instance with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - } - } - result = self.mgmt_client.managed_instances.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"tag_key1": "TagValue1"}} + result = self.mgmt_client.managed_instances.begin_update( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/patch/Update managed instance with all properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - }, - "sku": { - "name": "GP_Gen4", - "tier": "GeneralPurpose", - "capacity": "8" - }, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "proxy_override": "Redirect", - "public_data_endpoint_enabled": False, - "license_type": "BasePrice", - "v_cores": "8", - "storage_size_in_gb": "448", - "collation": "SQL_Latin1_General_CP1_CI_AS", - "maintenance_configuration_id": "/subscriptions/" + SUBSCRIPTION_ID + "/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/" + PUBLIC_MAINTENANCE_CONFIGURATION_NAME - } - result = self.mgmt_client.managed_instances.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) - result = result.result() - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- + BODY = { + "tags": {"tag_key1": "TagValue1"}, + "sku": {"name": "GP_Gen4", "tier": "GeneralPurpose", "capacity": "8"}, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "proxy_override": "Redirect", + "public_data_endpoint_enabled": False, + "license_type": "BasePrice", + "v_cores": "8", + "storage_size_in_gb": "448", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maintenance_configuration_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/" + + PUBLIC_MAINTENANCE_CONFIGURATION_NAME, + } + result = self.mgmt_client.managed_instances.begin_update( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY + ) + result = result.result() + + # -------------------------------------------------------------------------- # /VirtualClusters/patch/Update virtual cluster with tags[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - } - } - result = self.mgmt_client.virtual_clusters.begin_update(resource_group_name=RESOURCE_GROUP, virtual_cluster_name=VIRTUAL_CLUSTER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"tag_key1": "TagValue1"}} + result = self.mgmt_client.virtual_clusters.begin_update( + resource_group_name=RESOURCE_GROUP, virtual_cluster_name=VIRTUAL_CLUSTER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TdeCertificates/post/Upload a TDE certificate[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "private_blob": "MIIJ+QIBAzCCCbUGCSqGSIb3DQEHAaCCCaYEggmiMIIJnjCCBhcGCSqGSIb3DQEHAaCCBggEggYEMIIGADCCBfwGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgUeBd7F2KZUwICB9AEggTYSRi88/Xf0EZ9smyYDCr+jHa7a/510s19/5wjqGbLTT/CYBu2qSOhj+g9sNvjj5oWAcluaZ4XCl/oJhXlB+9q9ZYSC6pPhma7/Il+/zlZm8ZUMfgnUefpKXGj+Ilydghya2DOA0PONDGbqIJGBYC0JgtiL7WcYyA+LEiO0vXc2fZ+ccjQsHM+ePFOm6rTJ1oqE3quRC5Ls2Bv22PCmF+GWkWxqH1L5x8wR2tYfecEsx4sKMj318novQqBlJckOUPDrTT2ic6izFnDWS+zbGezSCeRkt2vjCUVDg7Aqm2bkmLVn+arA3tDZ/DBxgTwwt8prpAznDYG07WRxXMUk8Uqzmcds85jSMLSBOoRaS7GwIPprx0QwyYXd8H/go2vafuGCydRk8mA0bGLXjYWuYHAtztlGrE71a7ILqHY4XankohSAY4YF9Fc1mJcdtsuICs5vNosw1lf0VK5BR4ONCkiGFdYEKUpaUrzKpQiw3zteBN8RQs/ADKGWzaWERrkptf0pLH3/QnZvu9xwwnNWneygByPy7OVYrvgjD27x7Y/C24GyQweh75OTQN3fAvUj7IqeTVyWZGZq32AY/uUXYwASBpLbNUtUBfJ7bgyvVSZlPvcFUwDHJC1P+fSP8Vfcc9W3ec9HqVheXio7gYBEg9hZrOZwiZorl8HZJsEj5NxGccBme6hEVQRZfar5kFDHor/zmKohEAJVw8lVLkgmEuz8aqQUDSWVAcLbkfqygK/NxsR2CaC6xWroagQSRwpF8YbvqYJtAQvdkUXY9Ll4LSRcxKrWMZHgI+1Z22pyNtpy/kXLADche5CF3AVbHtzNNgn9L4GVuCW1Lqufu3U2+DEG+u53u1vraf45RS1y0IyLjTGC+8j0OTxcgUU6FrGgFny0m676v8potPrfyHvuOO511aOTe8UPBfnYyx0XHJPn8RaYGq0vMOBpFyfJkXtAnbRMgXjxxiO91yXTI2hbdVlAmOER1u8QemtF5PoKwZzaAjGBC5S0ARNtxZcWInGciGgtWJVVcyU6nJv3pa2T8jNvtcp8X7j+Il6j6Sju02L/f+S9MvAoGfgG6C5cInNIBEt7+mpYYV/6Mi9Nnj+8/Cq3eAMdTTo7XIzbFpeInzpVN2lAxPockRoAVj+odYO3CIBnzJ7mcA7JqtNk76vaWKasocMk9YS0Z+43o/Z5pZPwXvUv++UUv5fGRcsnIHEeQc+XJlSqRVoaLDo3mNRV6jp5GzJW2BZx3KkuLbohcmfBdr6c8ehGvHXhPm4k2jq9UNYvG9Gy58+1GqdhIYWbRc0Haid8H7UvvdkjA+Yul2rLj4fSTJ6yJ4f6xFAsFY7wIJthpik+dQO9lqPglo9DY30gEOXs3miuJmdmFtBoYlzxti4JBGwxXPwP3rtu6rY1JEOFsh1WmSEGE6Df2l9wtUQ0WAAD6bWgCxMiiRRv7TegxSeMtGn5QKuPC5lFuvzZvtJy1rR8WQwT7lVdHz32xLP2Rs4dayQPh08x3GsuI54d2kti2rcaSltGLRAOuODWc8KjYsPS6Ku4aN2NoQB5H9TEbHy2fsUNpNPMbCY54lH5bkgJtO4WmulnAHEApZG07u8G+Kk3a15npXemWgUW3N9gGtJ2XmieendXqS3RK1ZUYDsnAWW2jCZkjGB6jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAYgBjAGYAOABhADUAOQAtAGYAZQAzADIALQA0AGIAZgA0AC0AYQBiAGMAZgAtADkAOAA3AGIANwBmADgANwAzADEANgBjMGsGCSsGAQQBgjcRATFeHlwATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMDCCA38GCSqGSIb3DQEHBqCCA3AwggNsAgEAMIIDZQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIbQcNiyMGeL4CAgfQgIIDOPSSP6SqJGYsXCPWCMQU0TqdqT55fauuadduHaAlQpyN0MVYdu9QguLqMaJjxWa8Coy3K7LAOcqJ4S8FWV2SrpTuNHPv7vrtZfYhltGl+vW8rIrogeGTV4T/45oc5605HSiyItOWX8vHYKnAJkRMW4ICZXgY3dZVb+fr6yPIRFvMywqzwkViVOJIKjZN2lsAQ0xlLU0Fu/va9uxADwI2ZUKfo+6nX6bITkLvUSJoNCvZ5e7UITasxC4ZauHdMZch38N7BPH2usrAQfr3omYcScFzSeN2onhE1JBURCPDQa8+CGiWMm6mxboUOIcUGasaDqYQ8pSAgZZqQf8lU0uH4FP/z/5Dd7PniDHjvqlwYa+vB6flgtrwh6jYFeTKluhkucLrfzusFR52kHpg8K4GaUL8MhvlsNdd8iHSFjfyOdXRpY9re+B8X9Eorx0Z3xsSsVWaCwmI+Spq+BZ5CSXVm9Um6ogeM0et8JciZS2yFLIlbl2o4U1BWblskYfj/29jm4/2UKjKzORZnpjE0O+qP4hReSrx6os9dr8sNkq/7OafZock8zXjXaOpW6bqB1V5NWMPiWiPxPxfRi1F/MQp6CPY03H7MsDALEFcF7MmtY4YpN/+FFfrrOwS19Fg0OnQzNIgFpSRywX9dxyKICt/wbvhM+RLpUN50ZekFVska+C27hJRJEZ9rSdVhOVdL1UNknuwqF1cCQQriaNsnCbeVHN3/Wgsms9+Kt+glBNyZQlU8Fk+fafcQFI5MlxyMmARVwnC70F8AScnJPPFVZIdgIrvOXCDrEh8wFgkVM/MHkaTZUF51yy3pbIZaPmNd5dsUfEvMsW2IY6esnUUxPRQUUoi5Ib8EFHdiQJrYY3ELfZRXb2I1Xd0DVhlGzogn3CXZtXR2gSAakdB0qrLpXMSJNS65SS2tVTD7SI8OpUGNRjthQIAEEROPue10geFUwarWi/3jGMG529SzwDUJ4g0ix6VtcuLIDYFNdClDTyEyeV1f70NSG2QVXPIpeF7WQ8jWK7kenGaqqna4C4FYQpQk9vJP171nUXLR2mUR11bo1N4hcVhXnJls5yo9u14BB9CqVKXeDl7M5zwMDswHzAHBgUrDgMCGgQUT6Tjuka1G4O/ZCBxO7NBR34YUYQEFLaheEdRIIuxUd25/hl5vf2SFuZuAgIH0A==", - "cert_password": "password" + "private_blob": "MIIJ+QIBAzCCCbUGCSqGSIb3DQEHAaCCCaYEggmiMIIJnjCCBhcGCSqGSIb3DQEHAaCCBggEggYEMIIGADCCBfwGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgUeBd7F2KZUwICB9AEggTYSRi88/Xf0EZ9smyYDCr+jHa7a/510s19/5wjqGbLTT/CYBu2qSOhj+g9sNvjj5oWAcluaZ4XCl/oJhXlB+9q9ZYSC6pPhma7/Il+/zlZm8ZUMfgnUefpKXGj+Ilydghya2DOA0PONDGbqIJGBYC0JgtiL7WcYyA+LEiO0vXc2fZ+ccjQsHM+ePFOm6rTJ1oqE3quRC5Ls2Bv22PCmF+GWkWxqH1L5x8wR2tYfecEsx4sKMj318novQqBlJckOUPDrTT2ic6izFnDWS+zbGezSCeRkt2vjCUVDg7Aqm2bkmLVn+arA3tDZ/DBxgTwwt8prpAznDYG07WRxXMUk8Uqzmcds85jSMLSBOoRaS7GwIPprx0QwyYXd8H/go2vafuGCydRk8mA0bGLXjYWuYHAtztlGrE71a7ILqHY4XankohSAY4YF9Fc1mJcdtsuICs5vNosw1lf0VK5BR4ONCkiGFdYEKUpaUrzKpQiw3zteBN8RQs/ADKGWzaWERrkptf0pLH3/QnZvu9xwwnNWneygByPy7OVYrvgjD27x7Y/C24GyQweh75OTQN3fAvUj7IqeTVyWZGZq32AY/uUXYwASBpLbNUtUBfJ7bgyvVSZlPvcFUwDHJC1P+fSP8Vfcc9W3ec9HqVheXio7gYBEg9hZrOZwiZorl8HZJsEj5NxGccBme6hEVQRZfar5kFDHor/zmKohEAJVw8lVLkgmEuz8aqQUDSWVAcLbkfqygK/NxsR2CaC6xWroagQSRwpF8YbvqYJtAQvdkUXY9Ll4LSRcxKrWMZHgI+1Z22pyNtpy/kXLADche5CF3AVbHtzNNgn9L4GVuCW1Lqufu3U2+DEG+u53u1vraf45RS1y0IyLjTGC+8j0OTxcgUU6FrGgFny0m676v8potPrfyHvuOO511aOTe8UPBfnYyx0XHJPn8RaYGq0vMOBpFyfJkXtAnbRMgXjxxiO91yXTI2hbdVlAmOER1u8QemtF5PoKwZzaAjGBC5S0ARNtxZcWInGciGgtWJVVcyU6nJv3pa2T8jNvtcp8X7j+Il6j6Sju02L/f+S9MvAoGfgG6C5cInNIBEt7+mpYYV/6Mi9Nnj+8/Cq3eAMdTTo7XIzbFpeInzpVN2lAxPockRoAVj+odYO3CIBnzJ7mcA7JqtNk76vaWKasocMk9YS0Z+43o/Z5pZPwXvUv++UUv5fGRcsnIHEeQc+XJlSqRVoaLDo3mNRV6jp5GzJW2BZx3KkuLbohcmfBdr6c8ehGvHXhPm4k2jq9UNYvG9Gy58+1GqdhIYWbRc0Haid8H7UvvdkjA+Yul2rLj4fSTJ6yJ4f6xFAsFY7wIJthpik+dQO9lqPglo9DY30gEOXs3miuJmdmFtBoYlzxti4JBGwxXPwP3rtu6rY1JEOFsh1WmSEGE6Df2l9wtUQ0WAAD6bWgCxMiiRRv7TegxSeMtGn5QKuPC5lFuvzZvtJy1rR8WQwT7lVdHz32xLP2Rs4dayQPh08x3GsuI54d2kti2rcaSltGLRAOuODWc8KjYsPS6Ku4aN2NoQB5H9TEbHy2fsUNpNPMbCY54lH5bkgJtO4WmulnAHEApZG07u8G+Kk3a15npXemWgUW3N9gGtJ2XmieendXqS3RK1ZUYDsnAWW2jCZkjGB6jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAYgBjAGYAOABhADUAOQAtAGYAZQAzADIALQA0AGIAZgA0AC0AYQBiAGMAZgAtADkAOAA3AGIANwBmADgANwAzADEANgBjMGsGCSsGAQQBgjcRATFeHlwATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMDCCA38GCSqGSIb3DQEHBqCCA3AwggNsAgEAMIIDZQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIbQcNiyMGeL4CAgfQgIIDOPSSP6SqJGYsXCPWCMQU0TqdqT55fauuadduHaAlQpyN0MVYdu9QguLqMaJjxWa8Coy3K7LAOcqJ4S8FWV2SrpTuNHPv7vrtZfYhltGl+vW8rIrogeGTV4T/45oc5605HSiyItOWX8vHYKnAJkRMW4ICZXgY3dZVb+fr6yPIRFvMywqzwkViVOJIKjZN2lsAQ0xlLU0Fu/va9uxADwI2ZUKfo+6nX6bITkLvUSJoNCvZ5e7UITasxC4ZauHdMZch38N7BPH2usrAQfr3omYcScFzSeN2onhE1JBURCPDQa8+CGiWMm6mxboUOIcUGasaDqYQ8pSAgZZqQf8lU0uH4FP/z/5Dd7PniDHjvqlwYa+vB6flgtrwh6jYFeTKluhkucLrfzusFR52kHpg8K4GaUL8MhvlsNdd8iHSFjfyOdXRpY9re+B8X9Eorx0Z3xsSsVWaCwmI+Spq+BZ5CSXVm9Um6ogeM0et8JciZS2yFLIlbl2o4U1BWblskYfj/29jm4/2UKjKzORZnpjE0O+qP4hReSrx6os9dr8sNkq/7OafZock8zXjXaOpW6bqB1V5NWMPiWiPxPxfRi1F/MQp6CPY03H7MsDALEFcF7MmtY4YpN/+FFfrrOwS19Fg0OnQzNIgFpSRywX9dxyKICt/wbvhM+RLpUN50ZekFVska+C27hJRJEZ9rSdVhOVdL1UNknuwqF1cCQQriaNsnCbeVHN3/Wgsms9+Kt+glBNyZQlU8Fk+fafcQFI5MlxyMmARVwnC70F8AScnJPPFVZIdgIrvOXCDrEh8wFgkVM/MHkaTZUF51yy3pbIZaPmNd5dsUfEvMsW2IY6esnUUxPRQUUoi5Ib8EFHdiQJrYY3ELfZRXb2I1Xd0DVhlGzogn3CXZtXR2gSAakdB0qrLpXMSJNS65SS2tVTD7SI8OpUGNRjthQIAEEROPue10geFUwarWi/3jGMG529SzwDUJ4g0ix6VtcuLIDYFNdClDTyEyeV1f70NSG2QVXPIpeF7WQ8jWK7kenGaqqna4C4FYQpQk9vJP171nUXLR2mUR11bo1N4hcVhXnJls5yo9u14BB9CqVKXeDl7M5zwMDswHzAHBgUrDgMCGgQUT6Tjuka1G4O/ZCBxO7NBR34YUYQEFLaheEdRIIuxUd25/hl5vf2SFuZuAgIH0A==", + "cert_password": "password", } - result = self.mgmt_client.tde_certificates.begin_create(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.tde_certificates.begin_create( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/patch/Patch an instance pool[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "x": "y" - } - } - result = self.mgmt_client.instance_pools.begin_update(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"x": "y"}} + result = self.mgmt_client.instance_pools.begin_update( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Max with storage key[post] -#-------------------------------------------------------------------------- - BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" - } - result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", + } + result = self.mgmt_client.databases.begin_import( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Min with storage key[post] -#-------------------------------------------------------------------------- - BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + } + result = self.mgmt_client.databases.begin_import( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Max with SAS key[post] -#-------------------------------------------------------------------------- - BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" - } - result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", + } + result = self.mgmt_client.databases.begin_import( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Min with SAS key[post] -#-------------------------------------------------------------------------- - BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = { + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + } + result = self.mgmt_client.databases.begin_import( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/patch/Update a server[patch] -#-------------------------------------------------------------------------- - BODY = { - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.servers.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"administrator_login": "dummylogin", "administrator_login_password": "Un53cuRE!"} + result = self.mgmt_client.servers.begin_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/post/Check for a server name that already exists[post] -#-------------------------------------------------------------------------- - BODY = { - "name": "server1", - "type": "Microsoft.Sql/servers" - } + # -------------------------------------------------------------------------- + BODY = {"name": "server1", "type": "Microsoft.Sql/servers"} result = self.mgmt_client.servers.check_name_availability(parameters=BODY) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/post/Check for a server name that is available[post] -#-------------------------------------------------------------------------- - BODY = { - "name": "server1", - "type": "Microsoft.Sql/servers" - } + # -------------------------------------------------------------------------- + BODY = {"name": "server1", "type": "Microsoft.Sql/servers"} result = self.mgmt_client.servers.check_name_availability(parameters=BODY) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/post/Check for a server name that is invalid[post] -#-------------------------------------------------------------------------- - BODY = { - "name": "SERVER1", - "type": "Microsoft.Sql/servers" - } + # -------------------------------------------------------------------------- + BODY = {"name": "SERVER1", "type": "Microsoft.Sql/servers"} result = self.mgmt_client.servers.check_name_availability(parameters=BODY) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/delete/Delete the long term retention backup.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + backup_name=BACKUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSensitivityLabels/delete/Deletes the sensitivity label of a given column in a managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_sensitivity_labels.delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_sensitivity_labels.delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/delete/Delete the long term retention backup.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.begin_delete(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.begin_delete( + location_name=LOCATION_NAME, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + backup_name=BACKUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessmentRuleBaselines/delete/Removes a database's vulnerability assessment rule baseline.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessment_rule_baselines.delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessment_rule_baselines.delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + rule_id=RULE_ID, + baseline_name=BASELINE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SensitivityLabels/delete/Deletes the sensitivity label of a given column[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sensitivity_labels.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, schema_name=SCHEMA_NAME, table_name=TABLE_NAME, column_name=COLUMN_NAME, sensitivity_label_source=SENSITIVITY_LABEL_SOURCE) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sensitivity_labels.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + schema_name=SCHEMA_NAME, + table_name=TABLE_NAME, + column_name=COLUMN_NAME, + sensitivity_label_source=SENSITIVITY_LABEL_SOURCE, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentRuleBaselines/delete/Removes a database's vulnerability assessment rule baseline.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + rule_id=RULE_ID, + baseline_name=BASELINE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/delete/Delete the long term retention backup.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + backup_name=BACKUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionManagedInstanceBackups/delete/Delete the long term retention backup.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_managed_instance_backups.begin_delete(location_name=LOCATION_NAME, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, backup_name=BACKUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_managed_instance_backups.begin_delete( + location_name=LOCATION_NAME, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + backup_name=BACKUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadClassifiers/delete/Delete a workload classifier[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_classifiers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, workload_classifier_name=WORKLOAD_CLASSIFIER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_classifiers.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + workload_classifier_name=WORKLOAD_CLASSIFIER_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/delete/Remove a database's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/delete/Delete a sync member[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/delete/Remove a database's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/delete/Remove a managed instance's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/delete/Delete a job step.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/delete/Delete a workload group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/delete/Deletes a restore point.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, restore_point_name=RESTORE_POINT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + restore_point_name=RESTORE_POINT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/delete/Delete a target group.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_groups.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_groups.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /PrivateEndpointConnections/delete/Deletes a private endpoint connection with a given name.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.private_endpoint_connections.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.private_endpoint_connections.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/delete/Delete a credential[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_credentials.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, credential_name=CREDENTIAL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_credentials.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + credential_name=CREDENTIAL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/delete/Delete a sync group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ReplicationLinks/delete/Delete a replication link[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.replication_links.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.replication_links.delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, link_id=LINK_ID + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/delete/Remove a server's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceAdministrators/delete/Delete administrator of managed instance[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_administrators.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, administrator_name=ADMINISTRATOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_administrators.begin_delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + administrator_name=ADMINISTRATOR_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstanceFailoverGroups/delete/Delete failover group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_failover_groups.begin_delete(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_failover_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/delete/Deletes Azure Active Directory only authentication object.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_adonly_authentications.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_adonly_authentications.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/delete/Delete a virtual network rule[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_network_rules.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_network_rules.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/delete/Delete a job[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.jobs.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.jobs.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/delete/Delete a server communication link[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_communication_links.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_communication_links.delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/delete/Delete managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/delete/Delete failover group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/delete/Delete Azure Active Directory administrator.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_adadministrators.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_adadministrators.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/delete/Delete a firewall rule[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.firewall_rules.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.firewall_rules.delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/delete/Delete the managed instance key[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_keys.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_keys.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/delete/Delete an elastic pool[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/delete/Delete a sync agent[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/delete/Delete server DNS alias[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/delete/Delete a job agent[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_agents.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_agents.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/delete/Delete the server key[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_keys.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_keys.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/delete/Delete managed instance[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instances.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instances.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualClusters/delete/Delete virtual cluster[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_clusters.begin_delete(resource_group_name=RESOURCE_GROUP, virtual_cluster_name=VIRTUAL_CLUSTER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_clusters.begin_delete( + resource_group_name=RESOURCE_GROUP, virtual_cluster_name=VIRTUAL_CLUSTER_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/delete/Delete an instance pool[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_pools.begin_delete(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_pools.begin_delete( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() -#------------------------------------------------------------------------------ -if __name__ == '__main__': +# ------------------------------------------------------------------------------ +if __name__ == "__main__": unittest.main() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_auth.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_auth.py index 853d503cb2a..ccc2494cc09 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_auth.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_auth.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # ServerKeys: 4/4 @@ -18,21 +18,19 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.keyvault import KeyVaultManagementClient - self.keyvault_client = self.create_mgmt_client( - KeyVaultManagementClient - ) + + self.keyvault_client = self.create_mgmt_client(KeyVaultManagementClient) def create_key(self, group_name, location, key_vault, tenant_id, object_id, object_id_2): if self.is_live: @@ -40,114 +38,93 @@ def create_key(self, group_name, location, key_vault, tenant_id, object_id, obje group_name, key_vault, { - 'location': location, - 'properties': { - 'sku': { - 'family': 'A', - 'name': 'standard' - }, - 'tenant_id': tenant_id, - "access_policies": [ - { + "location": location, + "properties": { + "sku": {"family": "A", "name": "standard"}, "tenant_id": tenant_id, - "object_id": object_id, - "permissions": { - "keys": [ - "get", - "create", - "delete", - "list", - "update", - "import", - "backup", - "restore", - "recover" - ], - "secrets": [ - "get", - "list", - "set", - "delete", - "backup", - "restore", - "recover" - ], - "certificates": [ - "get", - "list", - "delete", - "create", - "import", - "update", - "managecontacts", - "getissuers", - "listissuers", - "setissuers", - "deleteissuers", - "manageissuers", - "recover" - ], - "storage": [ - "get", - "list", - "delete", - "set", - "update", - "regeneratekey", - "setsas", - "listsas", - "getsas", - "deletesas" - ] - } - }, - { - "tenantId": tenant_id, - "objectId": object_id_2, - "permissions": { - "keys": [ - "unwrapKey", - "get", - "wrapKey", - "list" - ] - } - } - ], - 'enabled_for_disk_encryption': True, - 'enable_soft_delete': True, - 'soft_delete_retention_in_days': 90, - 'nework_acls': { - 'bypass': 'AzureServices', - 'default_action': "Allow", - 'ip_rules': [], - 'virtual_network_rules': [] - } - } - } + "access_policies": [ + { + "tenant_id": tenant_id, + "object_id": object_id, + "permissions": { + "keys": [ + "get", + "create", + "delete", + "list", + "update", + "import", + "backup", + "restore", + "recover", + ], + "secrets": ["get", "list", "set", "delete", "backup", "restore", "recover"], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + ], + "storage": [ + "get", + "list", + "delete", + "set", + "update", + "regeneratekey", + "setsas", + "listsas", + "getsas", + "deletesas", + ], + }, + }, + { + "tenantId": tenant_id, + "objectId": object_id_2, + "permissions": {"keys": ["unwrapKey", "get", "wrapKey", "list"]}, + }, + ], + "enabled_for_disk_encryption": True, + "enable_soft_delete": True, + "soft_delete_retention_in_days": 90, + "nework_acls": { + "bypass": "AzureServices", + "default_action": "Allow", + "ip_rules": [], + "virtual_network_rules": [], + }, + }, + }, ).result() vault_url = result.properties.vault_uri vault_id = result.id from azure.keyvault.keys import KeyClient + credentials = self.settings.get_azure_core_credentials() key_client = KeyClient(vault_url, credentials) # [START create_key] from dateutil import parser as date_parse + expires_on = date_parse.parse("2050-02-02T08:00:00.000Z") - key = key_client.create_key( - "testkey", - "RSA", - size=2048, - expires_on=expires_on - ) + key = key_client.create_key("testkey", "RSA", size=2048, expires_on=expires_on) return (vault_id, key.id) else: - return ('000', '000') + return ("000", "000") - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_managed_instance_encryption_protector(self): RESOURCE_GROUP = "testManagedInstance" @@ -158,58 +135,70 @@ def test_managed_instance_encryption_protector(self): KEY_VAULT_NAME = self.get_resource_name("keyvaultxmmxh") ENCRYPTION_PROTECTOR_NAME = "current" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/Get managed instance[get] -#-------------------------------------------------------------------------- - instance = self.mgmt_client.managed_instances.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + instance = self.mgmt_client.managed_instances.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) oid2 = instance.identity.principal_id VAULT_ID, KEY_URI = self.create_key(RESOURCE_GROUP, AZURE_LOCATION, KEY_VAULT_NAME, TENANT_ID, CLIENT_OID, oid2) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/put/Creates or updates a managed instance key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- KEY_NAME = KEY_VAULT_NAME + "_testkey_" + KEY_URI.split("/")[-1] - BODY = { - "server_key_type": "AzureKeyVault", - "uri": KEY_URI - } - result = self.mgmt_client.managed_instance_keys.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME, parameters=BODY) + BODY = {"server_key_type": "AzureKeyVault", "uri": KEY_URI} + result = self.mgmt_client.managed_instance_keys.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + key_name=KEY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/put/Update the encryption protector to key vault[put] -#-------------------------------------------------------------------------- - BODY = { - "server_key_type": "AzureKeyVault", - "server_key_name": KEY_NAME - } - result = self.mgmt_client.managed_instance_encryption_protectors.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"server_key_type": "AzureKeyVault", "server_key_name": KEY_NAME} + result = self.mgmt_client.managed_instance_encryption_protectors.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/get/Get the encryption protector[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_encryption_protectors.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_encryption_protectors.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceEncryptionProtectors/get/List encryption protectors by managed instance[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_encryption_protectors.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_encryption_protectors.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- - # /ManagedInstanceEncryptionProtectors/post/Revalidates the encryption protector[post] -#-------------------------------------------------------------------------- - # result = self.mgmt_client.managed_instance_encryption_protectors.begin_revalidate(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) - # result = result.result() + # -------------------------------------------------------------------------- + # /ManagedInstanceEncryptionProtectors/post/Revalidates the encryption protector[post] + # -------------------------------------------------------------------------- + # result = self.mgmt_client.managed_instance_encryption_protectors.begin_revalidate(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # result = result.result() -#-------------------------------------------------------------------------- - # /ManagedInstanceKeys/delete/Delete the managed instance key[delete] -#-------------------------------------------------------------------------- - # result = self.mgmt_client.managed_instance_keys.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME) - # result = result.result() + # -------------------------------------------------------------------------- + # /ManagedInstanceKeys/delete/Delete the managed instance key[delete] + # -------------------------------------------------------------------------- + # result = self.mgmt_client.managed_instance_keys.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME) + # result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_encryption_protector(self, resource_group): @@ -221,71 +210,82 @@ def test_encryption_protector(self, resource_group): KEY_VAULT_NAME = self.get_resource_name("keyvaultxmmxkk") ENCRYPTION_PROTECTOR_NAME = "current" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "identity": { - "type": "SystemAssigned" - }, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0", - "public_network_access":"Enabled" + "location": AZURE_LOCATION, + "identity": {"type": "SystemAssigned"}, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", + "public_network_access": "Enabled", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) server = result.result() oid2 = server.identity.principal_id VAULT_ID, KEY_URI = self.create_key(RESOURCE_GROUP, AZURE_LOCATION, KEY_VAULT_NAME, TENANT_ID, CLIENT_OID, oid2) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/put/Creates or updates a server key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- KEY_NAME = KEY_VAULT_NAME + "_testkey_" + KEY_URI.split("/")[-1] - BODY = { - "server_key_type": "AzureKeyVault", - "uri": KEY_URI - } - result = self.mgmt_client.server_keys.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME, parameters=BODY) + BODY = {"server_key_type": "AzureKeyVault", "uri": KEY_URI} + result = self.mgmt_client.server_keys.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/put/Update the encryption protector to service managed[put] -#-------------------------------------------------------------------------- - BODY = { - "server_key_type": "AzureKeyVault", - "server_key_name": KEY_NAME - } - result = self.mgmt_client.encryption_protectors.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"server_key_type": "AzureKeyVault", "server_key_name": KEY_NAME} + result = self.mgmt_client.encryption_protectors.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/get/Get the encryption protector[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.encryption_protectors.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.encryption_protectors.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/get/List encryption protectors by server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.encryption_protectors.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.encryption_protectors.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /EncryptionProtectors/post/Revalidates the encryption protector[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.encryption_protectors.begin_revalidate(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, encryption_protector_name=ENCRYPTION_PROTECTOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.encryption_protectors.begin_revalidate( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + encryption_protector_name=ENCRYPTION_PROTECTOR_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_instance_key(self): - + RESOURCE_GROUP = "testManagedInstance" MANAGED_INSTANCE_NAME = "testinstancexxy" SUBSCRIPTION_ID = self.settings.SUBSCRIPTION_ID @@ -293,42 +293,52 @@ def test_instance_key(self): CLIENT_OID = self.settings.CLIENT_OID if self.is_live else "000" KEY_VAULT_NAME = self.get_resource_name("keyvaultxmmxh") -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/Get managed instance[get] -#-------------------------------------------------------------------------- - instance = self.mgmt_client.managed_instances.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + instance = self.mgmt_client.managed_instances.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) oid2 = instance.identity.principal_id VAULT_ID, KEY_URI = self.create_key(RESOURCE_GROUP, AZURE_LOCATION, KEY_VAULT_NAME, TENANT_ID, CLIENT_OID, oid2) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/put/Creates or updates a managed instance key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- KEY_NAME = KEY_VAULT_NAME + "_testkey_" + KEY_URI.split("/")[-1] - BODY = { - "server_key_type": "AzureKeyVault", - "uri": KEY_URI - } - result = self.mgmt_client.managed_instance_keys.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME, parameters=BODY) + BODY = {"server_key_type": "AzureKeyVault", "uri": KEY_URI} + result = self.mgmt_client.managed_instance_keys.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + key_name=KEY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/get/Get the managed instance key[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_keys.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_keys.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/get/List the keys for a managed instance.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_keys.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_keys.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceKeys/delete/Delete the managed instance key[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_keys.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_keys.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, key_name=KEY_NAME + ) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server_key(self, resource_group): @@ -340,56 +350,64 @@ def test_server_key(self, resource_group): KEY_VAULT_NAME = self.get_resource_name("keyvaultxmmxhh") # KEY_NAME = "mykeyzz" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "identity": { - "type": "SystemAssigned" - }, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0", - "public_network_access":"Enabled" + "location": AZURE_LOCATION, + "identity": {"type": "SystemAssigned"}, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", + "public_network_access": "Enabled", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) server = result.result() oid2 = server.identity.principal_id VAULT_ID, KEY_URI = self.create_key(RESOURCE_GROUP, AZURE_LOCATION, KEY_VAULT_NAME, TENANT_ID, CLIENT_OID, oid2) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/put/Creates or updates a server key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- KEY_NAME = KEY_VAULT_NAME + "_testkey_" + KEY_URI.split("/")[-1] BODY = { - "server_key_type": "AzureKeyVault", - # "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" - "uri": KEY_URI + "server_key_type": "AzureKeyVault", + # "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + "uri": KEY_URI, } - result = self.mgmt_client.server_keys.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME, parameters=BODY) + result = self.mgmt_client.server_keys.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/get/Get the server key[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_keys.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_keys.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/get/List the server keys by server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_keys.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_keys.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerKeys/delete/Delete the server key[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_keys.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_keys.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, key_name=KEY_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() @@ -401,44 +419,55 @@ def test_server_azure_adonly_authentication(self, resource_group): SERVER_NAME = "myserverxpxy" AUTHENTICATION_NAME = "myauthentication" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/put/Creates or updates Azure Active Directory only authentication object.[put] -#-------------------------------------------------------------------------- - BODY = { - "azure_ad_only_authentication": False - } - result = self.mgmt_client.server_azure_ad_only_authentications.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"azure_ad_only_authentication": False} + result = self.mgmt_client.server_azure_ad_only_authentications.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + authentication_name=AUTHENTICATION_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/get/Gets a Azure Active Directory only authentication property.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_ad_only_authentications.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_ad_only_authentications.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/get/Gets a list of Azure Active Directory only authentication object.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_ad_only_authentications.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_ad_only_authentications.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADOnlyAuthentications/delete/Deletes Azure Active Directory only authentication object.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_ad_only_authentications.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_ad_only_authentications.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, authentication_name=AUTHENTICATION_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_database.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_database.py index 14f66868089..ce4810120e4 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_database.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_database.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # Databases: 8/16 @@ -34,48 +34,35 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.storage import StorageManagementClient - self.storage_client = self.create_mgmt_client( - StorageManagementClient - ) + + self.storage_client = self.create_mgmt_client(StorageManagementClient) def create_blob_container(self, location, group_name, account_name, container_name): # StorageAccountCreate[put] BODY = { - "sku": { - "name": "Standard_GRS" - }, - "kind": "StorageV2", - "location": location, - "encryption": { - "services": { - "file": { - "key_type": "Account", - "enabled": True - }, - "blob": { - "key_type": "Account", - "enabled": True - } + "sku": {"name": "Standard_GRS"}, + "kind": "StorageV2", + "location": location, + "encryption": { + "services": { + "file": {"key_type": "Account", "enabled": True}, + "blob": {"key_type": "Account", "enabled": True}, + }, + "key_source": "Microsoft.Storage", }, - "key_source": "Microsoft.Storage" - }, - "tags": { - "key1": "value1", - "key2": "value2" - } + "tags": {"key1": "value1", "key2": "value2"}, } result = self.storage_client.storage_accounts.begin_create(group_name, account_name, BODY) storageaccount = result.result() @@ -84,13 +71,11 @@ def create_blob_container(self, location, group_name, account_name, container_na result = self.storage_client.blob_containers.create(group_name, account_name, container_name, {}) # StorageAccountRegenerateKey[post] - BODY = { - "key_name": "key2" - } + BODY = {"key_name": "key2"} key = self.storage_client.storage_accounts.regenerate_key(group_name, account_name, BODY) return key.keys[0].value - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_backup_short_term_retention_policy(self, resource_group): @@ -99,71 +84,86 @@ def test_backup_short_term_retention_policy(self, resource_group): SERVER_NAME = "myserverxpxy" POLICY_NAME = "default" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "BC_Gen5", - "capacity": 2 - } - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "sku": {"name": "BC_Gen5", "capacity": 2}} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/put/Update the short term retention policy for the database.[put] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.backup_short_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.backup_short_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_short_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_short_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_short_term_retention_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_short_term_retention_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupShortTermRetentionPolicies/patch/Update the short term retention policy for the database.[patch] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.backup_short_term_retention_policies.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.backup_short_term_retention_policies.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_restore_points(self, resource_group): @@ -171,68 +171,80 @@ def test_restore_points(self, resource_group): DATABASE_NAME = "mydatabase" SERVER_NAME = "myserverxpxy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "sku": { - "name": "DataWarehouse", - "tier": "DataWarehouse" - } - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "sku": {"name": "DataWarehouse", "tier": "DataWarehouse"}} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/post/Creates datawarehouse database restore point.[post] -#-------------------------------------------------------------------------- - BODY = { - "restore_point_label": "mylabel" - } - result = self.mgmt_client.restore_points.begin_create(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"restore_point_label": "mylabel"} + result = self.mgmt_client.restore_points.begin_create( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/get/List datawarehouse database restore points.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) RESTORE_POINT_NAME = result.next().name -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/get/Gets a database restore point.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, restore_point_name=RESTORE_POINT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + restore_point_name=RESTORE_POINT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RestorePoints/delete/Deletes a restore point.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.restore_points.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, restore_point_name=RESTORE_POINT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.restore_points.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + restore_point_name=RESTORE_POINT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_database_automatic_tuning(self, resource_group): @@ -240,53 +252,59 @@ def test_database_automatic_tuning(self, resource_group): DATABASE_NAME = "mydatabase" SERVER_NAME = "myserverxpxy" AUTOMATIC_TUNING_NAME = "current" - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/get/Get a database's automatic tuning settings[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_automatic_tuning.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_automatic_tuning.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/patch/Updates database automatic tuning settings with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "desired_state": "Auto" - } - result = self.mgmt_client.database_automatic_tuning.update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"desired_state": "Auto"} + result = self.mgmt_client.database_automatic_tuning.update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_service_tier_advisor(self, resource_group): @@ -294,51 +312,62 @@ def test_service_tier_advisor(self, resource_group): RESOURCE_GROUP = resource_group.name DATABASE_NAME = "mydatabase" SERVER_NAME = "myserverxpxy" - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceTierAdvisors/get/Get a list of a service tier advisors[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_tier_advisors.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_tier_advisors.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) SERVICE_TIER_ADVISOR_NAME = result.next().name - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /ServiceTierAdvisors/get/Get a service tier advisor[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_tier_advisors.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, service_tier_advisor_name=SERVICE_TIER_ADVISOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_tier_advisors.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + service_tier_advisor_name=SERVICE_TIER_ADVISOR_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_database_threat_detection_policy(self, resource_group): @@ -350,55 +379,72 @@ def test_database_threat_detection_policy(self, resource_group): SECURITY_ALERT_POLICY_NAME = "default" if self.is_live: - ACCESS_KEY = self.create_blob_container(AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME) + ACCESS_KEY = self.create_blob_container( + AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME + ) else: ACCESS_KEY = "accesskey" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseThreatDetectionPolicies/put/Create database security alert policy min[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - "storage_account_access_key": ACCESS_KEY, - "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net" + "state": "Enabled", + "storage_account_access_key": ACCESS_KEY, + "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net", } - result = self.mgmt_client.database_threat_detection_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + result = self.mgmt_client.database_threat_detection_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseThreatDetectionPolicies/get/Get database security alert policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_threat_detection_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_threat_detection_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() @@ -411,67 +457,85 @@ def test_workload_group(self, resource_group): DATABASE_NAME = "mydatabase" WORKLOAD_GROUP_NAME = "myworkloadgroup" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/put/Create a workload group with all properties specified.[put] -#-------------------------------------------------------------------------- - BODY = { - "min_resource_percent": "0", - "max_resource_percent": "100", - "min_resource_percent_per_request": "3" - } - result = self.mgmt_client.workload_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"min_resource_percent": "0", "max_resource_percent": "100", "min_resource_percent_per_request": "3"} + result = self.mgmt_client.workload_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/get/Gets a workload group for a data warehouse[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_groups.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/get/Get the list of workload groups for a data warehouse[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_groups.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_groups.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /WorkloadGroups/delete/Delete a workload group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.workload_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, workload_group_name=WORKLOAD_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.workload_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + workload_group_name=WORKLOAD_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_long_term_retention_backup(self, resource_group): @@ -482,59 +546,81 @@ def test_long_term_retention_backup(self, resource_group): BACKUP_NAME = "t" POLICY_NAME = "Default" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get the long term retention backup.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.long_term_retention_backups.get_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get the long term retention backup.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.long_term_retention_backups.get_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_database( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the server.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the server.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_server( + resource_group_name=RESOURCE_GROUP, + location_name=LOCATION_NAME, + long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the location.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /LongTermRetentionBackups/get/Get all long term retention backups under the location.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.long_term_retention_backups.list_by_resource_group_location( + resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME + ) -#-------------------------------------------------------------------------- - # /LongTermRetentionBackups/delete/Delete the long term retention backup.[delete] -#-------------------------------------------------------------------------- - # result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) - # result = result.result() + # -------------------------------------------------------------------------- + # /LongTermRetentionBackups/delete/Delete the long term retention backup.[delete] + # -------------------------------------------------------------------------- + # result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) + # result = result.result() -#-------------------------------------------------------------------------- - # /LongTermRetentionBackups/delete/Delete the long term retention backup.[delete] -#-------------------------------------------------------------------------- - # result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) - # result = result.result() + # -------------------------------------------------------------------------- + # /LongTermRetentionBackups/delete/Delete the long term retention backup.[delete] + # -------------------------------------------------------------------------- + # result = self.mgmt_client.long_term_retention_backups.begin_delete_by_resource_group(resource_group_name=RESOURCE_GROUP, location_name=LOCATION_NAME, long_term_retention_server_name=LONG_TERM_RETENTION_SERVER_NAME, long_term_retention_database_name=LONG_TERM_RETENTION_DATABASE_NAME, backup_name=BACKUP_NAME) + # result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_backup_long_term_retention_policy(self, resource_group): @@ -543,62 +629,74 @@ def test_backup_long_term_retention_policy(self, resource_group): DATABASE_NAME = "mydatabase" POLICY_NAME = "Default" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupLongTermRetentionPolicies/put/Create or update the long term retention policy for the database.[put] -#-------------------------------------------------------------------------- - BODY = { - "weekly_retention": "P1M", - "monthly_retention": "P1Y", - "yearly_retention": "P5Y", - "week_of_year": "5" - } - result = self.mgmt_client.backup_long_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"weekly_retention": "P1M", "monthly_retention": "P1Y", "yearly_retention": "P5Y", "week_of_year": "5"} + result = self.mgmt_client.backup_long_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupLongTermRetentionPolicies/get/Get the long term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_long_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_long_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /BackupLongTermRetentionPolicies/get/Get the long term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.backup_long_term_retention_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.backup_long_term_retention_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_database_blob_auditing_policy(self, resource_group): @@ -607,79 +705,88 @@ def test_database_blob_auditing_policy(self, resource_group): DATABASE_NAME = "mydatabase" BLOB_AUDITING_POLICY_NAME = "blobauditingpolicy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/put/Create or update a database's azure monitor auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled", "is_azure_monitor_target_enabled": True} + result = self.mgmt_client.database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/put/Create or update an extended database's azure monitor auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "is_azure_monitor_target_enabled": True - } - result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled", "is_azure_monitor_target_enabled": True} + result = self.mgmt_client.extended_database_blob_auditing_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/get/Get an extended database's blob auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_database_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_database_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/get/Get a database's blob auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedDatabaseBlobAuditingPolicies/get/List extended auditing settings of a database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_database_blob_auditing_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_database_blob_auditing_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseBlobAuditingPolicies/get/List audit settings of a database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_blob_auditing_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_blob_auditing_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_transparent_data_encryption(self, resource_group): @@ -688,58 +795,76 @@ def test_transparent_data_encryption(self, resource_group): DATABASE_NAME = "mydatabase" TRANSPARENT_DATA_ENCRYPTION_NAME = "current" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TransparentDataEncryptions/put/Create or update a database's transparent data encryption configuration[put] -#-------------------------------------------------------------------------- - BODY = { - "status": "Enabled" - } - result = self.mgmt_client.transparent_data_encryptions.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"status": "Enabled"} + result = self.mgmt_client.transparent_data_encryptions.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TransparentDataEncryptions/get/Get a database's transparent data encryption configuration[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.transparent_data_encryptions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.transparent_data_encryptions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TransparentDataEncryptionActivities/get/List a database's transparent data encryption activities[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.transparent_data_encryption_activities.list_by_configuration(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.transparent_data_encryption_activities.list_by_configuration( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + transparent_data_encryption_name=TRANSPARENT_DATA_ENCRYPTION_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_geo_backup_policy(self, resource_group): @@ -748,58 +873,73 @@ def test_geo_backup_policy(self, resource_group): DATABASE_NAME = "mydatabase" GEO_BACKUP_POLICY_NAME = "Default" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /GeoBackupPolicies/put/Update geo backup policy[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled" - } - result = self.mgmt_client.geo_backup_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, geo_backup_policy_name=GEO_BACKUP_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled"} + result = self.mgmt_client.geo_backup_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + geo_backup_policy_name=GEO_BACKUP_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /GeoBackupPolicies/get/Get geo backup policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.geo_backup_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, geo_backup_policy_name=GEO_BACKUP_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.geo_backup_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + geo_backup_policy_name=GEO_BACKUP_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /GeoBackupPolicies/get/List geo backup policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.geo_backup_policies.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.geo_backup_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_data_masking(self, resource_group): @@ -809,67 +949,75 @@ def test_data_masking(self, resource_group): DATA_MASKING_POLICY_NAME = "mydatamaskingpolicy" DATA_MASKING_RULE_NAME = "name" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/put/Create/Update data masking rule for default min[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "schema_name": "dbo", - "table_name": "table1", - "column_name": "column1", - "masking_function": "Number", - "number_from": "0", - "number_to": "10" + "schema_name": "dbo", + "table_name": "table1", + "column_name": "column1", + "masking_function": "Number", + "number_from": "0", + "number_to": "10", } # result = self.mgmt_client.data_masking_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, data_masking_rule_name=DATA_MASKING_RULE_NAME, parameters=BODY) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingPolicies/put/Create or update data masking policy min[put] -#-------------------------------------------------------------------------- - BODY = { - "data_masking_state": "Disabled" - } - result = self.mgmt_client.data_masking_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"data_masking_state": "Disabled"} + result = self.mgmt_client.data_masking_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingRules/get/List data masking rules[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.data_masking_rules.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.data_masking_rules.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DataMaskingPolicies/get/Get data masking policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.data_masking_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.data_masking_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() @@ -881,51 +1029,61 @@ def test_database_operation(self, resource_group): SERVER_NAME = "myserverxpxyz" DATABASE_NAME = "mydatabase" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "read_scale": "Disabled" - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "read_scale": "Disabled"} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseOperations/get/List the database management operations[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_operations.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_operations.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) OPERATION_ID = result.next().value[0].name -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseOperations/post/Cancel the database management operation[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_operations.cancel(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_operations.cancel( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + operation_id=OPERATION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_database(self, resource_group): @@ -935,305 +1093,341 @@ def test_database(self, resource_group): DATABASE_NAME = "mydatabase" CONNECTION_POLICY_NAME = "myconnectionpolicy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION, - "read_scale": "Disabled" - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION, "read_scale": "Disabled"} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerConnectionPolicies/put/Create or update a server's secure connection policy[put] -#-------------------------------------------------------------------------- - BODY = { - "connection_type": "Proxy" - } - result = self.mgmt_client.server_connection_policies.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, connection_policy_name=CONNECTION_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"connection_type": "Proxy"} + result = self.mgmt_client.server_connection_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + connection_policy_name=CONNECTION_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Min with SAS key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "operation_mode": "Import", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" + "operation_mode": "Import", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", } # result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Max with SAS key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "name": "Import", - "type": "Microsoft.Sql/servers/databases/extensions", - "operation_mode": "Import", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "name": "Import", + "type": "Microsoft.Sql/servers/databases/extensions", + "operation_mode": "Import", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } # result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Min with storage key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "operation_mode": "Import", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" + "operation_mode": "Import", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", } # result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Import bacpac into an existing database Max with storage key[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "name": "Import", - "type": "Microsoft.Sql/servers/databases/extensions", - "operation_mode": "Import", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "name": "Import", + "type": "Microsoft.Sql/servers/databases/extensions", + "operation_mode": "Import", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } # result = self.mgmt_client.databases.begin_create_import_operation(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, extension_name=EXTENSION_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecoverableDatabases/get/Get a recoverable database[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.recoverable_databases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerConnectionPolicies/get/Get a server's secure connection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_connection_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, connection_policy_name=CONNECTION_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_connection_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, connection_policy_name=CONNECTION_POLICY_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/Gets a list of databases in an elastic pool.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.databases.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/Gets a database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/get/Gets a list of databases.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.databases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecoverableDatabases/get/Get list of restorable dropped databases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recoverable_databases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recoverable_databases.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseUsages/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_usages.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_usages.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Upgrades a data warehouse.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.databases.begin_upgrade_data_warehouse(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Export a database into a new bacpac file with storage key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } # result = self.mgmt_client.databases.begin_export(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Export a database into a new bacpac file with SAS key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } # result = self.mgmt_client.databases.begin_export(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Resumes a database.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.databases.begin_resume(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) # result = result.result() - -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/patch/Update an elastic pool with minimum parameters[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} # result = self.mgmt_client.elastic_pools.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Pauses a database.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.databases.begin_pause(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Renames a database.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- DATABASE_NAME_2 = DATABASE_NAME + "2" BODY = { - "id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME_2 + "id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME_2 } - result = self.mgmt_client.databases.rename(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.rename( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) DATABASE_NAME = DATABASE_NAME_2 -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/patch/Updates a database.[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "sku": { - "name": "S1", - "tier": "Standard" - }, - "collation": "SQL_Latin1_General_CP1_CI_AS", - "max_size_bytes": "1073741824" + "sku": {"name": "S1", "tier": "Standard"}, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "max_size_bytes": "1073741824", } - result = self.mgmt_client.databases.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + result = self.mgmt_client.databases.begin_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Max with storage key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } # result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Min with storage key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "StorageAccessKey", - "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "StorageAccessKey", + "storage_key": "sdlfkjdsf+sdlfkjsdlkfsjdfLDKFJSDLKFDFKLjsdfksjdflsdkfD2342309432849328479324/3RSD==", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", } # result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Max with SAS key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!", - "authentication_type": "SQL" + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", + "authentication_type": "SQL", } # result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Import bacpac into new database Min with SAS key[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "database_name": "TestDbImport", - "edition": "Basic", - "service_objective_name": "Basic", - "max_size_bytes": "2147483648", - "storage_key_type": "SharedAccessKey", - "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", - "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", - "administrator_login": "dummyLogin", - "administrator_login_password": "Un53cuRE!" + "database_name": "TestDbImport", + "edition": "Basic", + "service_objective_name": "Basic", + "max_size_bytes": "2147483648", + "storage_key_type": "SharedAccessKey", + "storage_key": "?sr=b&sp=rw&se=2018-01-01T00%3A00%3A00Z&sig=sdfsdfklsdjflSLIFJLSIEJFLKSDJFDd/%2wdfskdjf3%3D&sv=2015-07-08", + "storage_uri": "https://test.blob.core.windows.net/bacpacs/testbacpac.bacpac", + "administrator_login": "dummyLogin", + "administrator_login_password": "Un53cuRE!", } # result = self.mgmt_client.databases.begin_import(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/post/Failover an database[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, replica_type="Primary") + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_failover( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + replica_type="Primary", + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_elastic_pool.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_elastic_pool.py index d5b7f141519..9ff9218f41e 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_elastic_pool.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_elastic_pool.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # ElasticPools: 6/7 @@ -18,15 +18,14 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) @unittest.skip("unavailable") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @@ -37,54 +36,71 @@ def test_recommended_elastic_pool(self, resource_group): ELASTIC_POOL_NAME = "myelasticpool" RECOMMENDED_ELASTIC_POOL_NAME = ELASTIC_POOL_NAME -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecommendedElasticPools/get/List recommended elastic pools[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recommended_elastic_pools.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recommended_elastic_pools.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/put/Create or update elastic pool with minimum parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.elastic_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.elastic_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecommendedElasticPools/get/Get recommended elastic pool metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recommended_elastic_pools.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recommended_elastic_pools.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /RecommendedElasticPools/get/Get a recommended elastic pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.recommended_elastic_pools.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.recommended_elastic_pools.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + recommended_elastic_pool_name=RECOMMENDED_ELASTIC_POOL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/delete/Delete an elastic pool[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - - @unittest.skip('hard to test') + + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_elastic_pool(self, resource_group): @@ -92,82 +108,107 @@ def test_elastic_pool(self, resource_group): SERVER_NAME = "myserverxpxyz" ELASTIC_POOL_NAME = "myelasticpool" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/put/Create or update elastic pool with minimum parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.elastic_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.elastic_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/List database usage metrics[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.list_metrics(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'") + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.list_metrics( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + filter="name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/Get an elastic pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/get/Get all elastic pools in a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolActivities/get/List Elastic pool activity[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.elastic_pool_activities.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolOperations/get/List the elastic pool management operations[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pool_operations.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pool_operations.list_by_elastic_pool( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolOperations/post/Cancel the elastic pool management operation[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.elastic_pool_operations.cancel(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, operation_id=OPERATION_ID) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPoolDatabaseActivities/get/List elastic pool database activity[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pool_database_activities.list_by_elastic_pool(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pool_database_activities.list_by_elastic_pool( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/post/Failover an elastic pool[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.elastic_pools.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/patch/Update an elastic pool with minimum parameters[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = {} - result = self.mgmt_client.elastic_pools.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME, parameters=BODY) + result = self.mgmt_client.elastic_pools.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + elastic_pool_name=ELASTIC_POOL_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ElasticPools/delete/Delete an elastic pool[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.elastic_pools.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.elastic_pools.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, elastic_pool_name=ELASTIC_POOL_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_failover_group.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_failover_group.py index 68365e8a5fc..116bd699324 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_failover_group.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_failover_group.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # FailoverGroups: 7/7 @@ -14,17 +14,16 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_failover_group(self, resource_group): @@ -34,102 +33,127 @@ def test_failover_group(self, resource_group): PARTNER_SERVER_NAME = "mypartnerserverxpxy" FAILOVER_GROUP_NAME = "myfailovergroupxyz" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- - BODY = { - "location": "eastus2", - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": "eastus2", "administrator_login": "dummylogin", "administrator_login_password": "Un53cuRE!"} + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/put/Create failover group[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "read_write_endpoint": { - "failover_policy": "Automatic", - "failover_with_data_loss_grace_period_minutes": "480" - }, - "read_only_endpoint": { - "failover_policy": "Disabled" - }, - "partner_servers": [ - { - "id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + PARTNER_SERVER_NAME - } - ], - "databases": [ - # "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", - ] + "read_write_endpoint": { + "failover_policy": "Automatic", + "failover_with_data_loss_grace_period_minutes": "480", + }, + "read_only_endpoint": {"failover_policy": "Disabled"}, + "partner_servers": [ + { + "id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + PARTNER_SERVER_NAME + } + ], + "databases": [ + # "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1", + ], } - result = self.mgmt_client.failover_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.failover_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + failover_group_name=FAILOVER_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/get/Get failover group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/get/List failover group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/post/Forced failover of a failover group allowing data loss[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.begin_force_failover_allow_data_loss(resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.begin_force_failover_allow_data_loss( + resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/patch/Update failover group[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "read_write_endpoint": { - "failover_policy": "Automatic", - "failover_with_data_loss_grace_period_minutes": "120" - }, - "databases": [ - # "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1" - ] + "read_write_endpoint": { + "failover_policy": "Automatic", + "failover_with_data_loss_grace_period_minutes": "120", + }, + "databases": [ + # "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1" + ], } - result = self.mgmt_client.failover_groups.begin_update(resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.failover_groups.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=PARTNER_SERVER_NAME, + failover_group_name=FAILOVER_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/post/Planned failover of a failover group[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.begin_failover(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.begin_failover( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FailoverGroups/delete/Delete failover group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.failover_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.failover_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, failover_group_name=FAILOVER_GROUP_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.servers.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_instance_pool.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_instance_pool.py index d1891e82ae5..94608e78bf2 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_instance_pool.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_instance_pool.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # InstancePools: 0/6 @@ -14,41 +14,31 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.network import NetworkManagementClient - self.network_client = self.create_mgmt_client( - NetworkManagementClient - ) + + self.network_client = self.create_mgmt_client(NetworkManagementClient) def create_virtual_network(self, group_name, location, network_name, subnet_name): azure_operation_poller = self.network_client.virtual_networks.begin_create_or_update( group_name, network_name, - { - 'location': location, - 'address_space': { - 'address_prefixes': ['10.0.0.0/16'] - } - }, + {"location": location, "address_space": {"address_prefixes": ["10.0.0.0/16"]}}, ) result_create = azure_operation_poller.result() async_subnet_creation = self.network_client.subnets.begin_create_or_update( - group_name, - network_name, - subnet_name, - {'address_prefix': '10.0.0.0/24'} + group_name, network_name, subnet_name, {"address_prefix": "10.0.0.0/24"} ) subnet_info = async_subnet_creation.result() @@ -67,51 +57,58 @@ def test_instance_pool(self, resource_group): if self.is_live: self.create_virtual_network(RESOURCE_GROUP, AZURE_LOCATION, VIRTUAL_NETWORK_NAME, SUBNET_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/put/Create an instance pool with min properties.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": "westeurope", - "sku": { - "name": "GP_Gen5", - "tier": "GeneralPurpose", - "family": "Gen5" - }, - "v_cores": 8, - "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, - "license_type": "LicenseIncluded" + "location": "westeurope", + "sku": {"name": "GP_Gen5", "tier": "GeneralPurpose", "family": "Gen5"}, + "v_cores": 8, + "subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetworks/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + "license_type": "LicenseIncluded", } - result = self.mgmt_client.instance_pools.begin_create_or_update(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY) + result = self.mgmt_client.instance_pools.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/get/Get an instance pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_pools.get(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_pools.get( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/get/List instance pools by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.instance_pools.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/get/List instance pools in the subscription[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.instance_pools.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/patch/Patch an instance pool[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "x": "y" - } - } - result = self.mgmt_client.instance_pools.begin_update(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"x": "y"}} + result = self.mgmt_client.instance_pools.begin_update( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /InstancePools/delete/Delete an instance pool[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.instance_pools.begin_delete(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.instance_pools.begin_delete( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_job.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_job.py index 750f4b5e365..a7b3b76ecf6 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_job.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_job.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # JobAgents: 5/5 @@ -23,17 +23,16 @@ from azure.core.exceptions import ResourceNotFoundError from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_job(self, resource_group): @@ -49,257 +48,441 @@ def test_job(self, resource_group): STEP_NAME = "mystep" JOB_VERSION = 1 -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/put/Create or update a job agent with minimum properties[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME + "location": AZURE_LOCATION, + "database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME, } - result = self.mgmt_client.job_agents.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY) + result = self.mgmt_client.job_agents.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/put/Create or update a credential[put] -#-------------------------------------------------------------------------- - BODY = { - "username": "myuser", - "password": "" - } - result = self.mgmt_client.job_credentials.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, credential_name=CREDENTIAL_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"username": "myuser", "password": ""} + result = self.mgmt_client.job_credentials.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + credential_name=CREDENTIAL_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/put/Create or update a target group with minimal properties.[put] -#-------------------------------------------------------------------------- - BODY = { - "members": [] - } - result = self.mgmt_client.job_target_groups.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"members": []} + result = self.mgmt_client.job_target_groups.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/put/Create a job with all properties specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "description": "my favourite job", - "schedule": { - "start_time": "2020-09-24T18:30:01Z", - "end_time": "2020-09-24T23:59:59Z", - "type": "Recurring", - "interval": "PT5M", - "enabled": True - } + "description": "my favourite job", + "schedule": { + "start_time": "2020-09-24T18:30:01Z", + "end_time": "2020-09-24T23:59:59Z", + "type": "Recurring", + "interval": "PT5M", + "enabled": True, + }, } - result = self.mgmt_client.jobs.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, parameters=BODY) + result = self.mgmt_client.jobs.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/put/Create or update a job step with minimal properties specified.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "target_group": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/targetGroups/" + TARGET_GROUP_NAME, - "credential": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/jobAgents/" + JOB_AGENT_NAME + "/credentials/" + CREDENTIAL_NAME, - "action": { - "value": "select 1" - } + "target_group": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/targetGroups/" + + TARGET_GROUP_NAME, + "credential": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/jobAgents/" + + JOB_AGENT_NAME + + "/credentials/" + + CREDENTIAL_NAME, + "action": {"value": "select 1"}, } - result = self.mgmt_client.job_steps.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME, parameters=BODY) + result = self.mgmt_client.job_steps.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/put/Create job execution.[put] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/get/Get a job agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_agents.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_agents.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/get/Get a credential[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_credentials.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, credential_name=CREDENTIAL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_credentials.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + credential_name=CREDENTIAL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/get/Get a target group.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_groups.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/Get the latest version of a job step.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/Get a job execution.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobStepExecutions/get/List job step executions[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_step_executions.list_by_job_execution(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_step_executions.list_by_job_execution( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/get/Get a job[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.jobs.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.jobs.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetExecutions/get/List job step target executions[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_executions.list_by_job_execution(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_executions.list_by_job_execution( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) # TARGET_ID = result.next().value[0].name -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetExecutions/get/Get a job step target execution[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.job_target_executions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID, step_name=STEP_NAME, target_id=TARGET_ID) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetExecutions/get/List job step target executions[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_executions.list_by_step(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_executions.list_by_step( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobStepExecutions/get/Get a job step execution[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_step_executions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_step_executions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/Get the specified version of a job step.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.get_by_version(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_version=JOB_VERSION, step_name=STEP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.get_by_version( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_version=JOB_VERSION, + step_name=STEP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/List job steps for the specified version of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.list_by_version(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_version=JOB_VERSION) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.list_by_version( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_version=JOB_VERSION, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/get/List jobs in a job agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.jobs.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.jobs.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/get/List job steps for the latest version of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_steps.list_by_job(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_steps.list_by_job( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/List a job's executions.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.list_by_job(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.list_by_job( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/get/List all job executions in a job agent.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/get/List credentials in a job agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_credentials.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_credentials.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/get/Get all target groups in an agent.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_groups.list_by_agent(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_groups.list_by_agent( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/get/List job agents in a server[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.job_agents.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobVersions/get/Get all versions of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_versions.list_by_job(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_versions.list_by_job( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) # JOB_VERSION = result.next().name -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobVersions/get/Get a version of a job.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_versions.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_version=JOB_VERSION) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_versions.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_version=JOB_VERSION, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/post/Start a job execution.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.begin_create(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.begin_create( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobExecutions/post/Cancel a job execution.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_executions.cancel(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, job_execution_id=JOB_EXECUTION_ID) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_executions.cancel( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + job_execution_id=JOB_EXECUTION_ID, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Jobs/delete/Delete a job[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.jobs.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.jobs.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/patch/Update a job agent's tags.[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "mytag1": "myvalue1" - } - } - result = self.mgmt_client.job_agents.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"mytag1": "myvalue1"}} + result = self.mgmt_client.job_agents.begin_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobSteps/delete/Delete a job step.[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- try: - result = self.mgmt_client.job_steps.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, job_name=JOB_NAME, step_name=STEP_NAME) + result = self.mgmt_client.job_steps.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + job_name=JOB_NAME, + step_name=STEP_NAME, + ) except ResourceNotFoundError: pass -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobTargetGroups/delete/Delete a target group.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_target_groups.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, target_group_name=TARGET_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_target_groups.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + target_group_name=TARGET_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobCredentials/delete/Delete a credential[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_credentials.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME, credential_name=CREDENTIAL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_credentials.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + job_agent_name=JOB_AGENT_NAME, + credential_name=CREDENTIAL_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /JobAgents/delete/Delete a job agent[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.job_agents.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.job_agents.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, job_agent_name=JOB_AGENT_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_managed_db.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_managed_db.py index 7b14ad9950f..1a1955b6f54 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_managed_db.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_managed_db.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # ManagedDatabases: 6/7 @@ -19,48 +19,35 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.storage import StorageManagementClient - self.storage_client = self.create_mgmt_client( - StorageManagementClient - ) + + self.storage_client = self.create_mgmt_client(StorageManagementClient) def create_blob_container(self, location, group_name, account_name, container_name): # StorageAccountCreate[put] BODY = { - "sku": { - "name": "Standard_GRS" - }, - "kind": "StorageV2", - "location": location, - "encryption": { - "services": { - "file": { - "key_type": "Account", - "enabled": True - }, - "blob": { - "key_type": "Account", - "enabled": True - } + "sku": {"name": "Standard_GRS"}, + "kind": "StorageV2", + "location": location, + "encryption": { + "services": { + "file": {"key_type": "Account", "enabled": True}, + "blob": {"key_type": "Account", "enabled": True}, + }, + "key_source": "Microsoft.Storage", }, - "key_source": "Microsoft.Storage" - }, - "tags": { - "key1": "value1", - "key2": "value2" - } + "tags": {"key1": "value1", "key2": "value2"}, } result = self.storage_client.storage_accounts.begin_create(group_name, account_name, BODY) storageaccount = result.result() @@ -69,9 +56,7 @@ def create_blob_container(self, location, group_name, account_name, container_na result = self.storage_client.blob_containers.create(group_name, account_name, container_name, {}) # StorageAccountRegenerateKey[post] - BODY = { - "key_name": "key2" - } + BODY = {"key_name": "key2"} key = self.storage_client.storage_accounts.regenerate_key(group_name, account_name, BODY) return key.keys[0].value @@ -83,44 +68,57 @@ def test_managed_instance_long_term_retention_policy(self): DATABASE_NAME = "mydatabase" POLICY_NAME = "default" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceLongTermRetentionPolicies/put/Create or update the LTR policy for the managed database.[put] -#-------------------------------------------------------------------------- - BODY = { - "weekly_retention": "P1M", - "monthly_retention": "P1Y", - "yearly_retention": "P5Y", - "week_of_year": "5" - } - result = self.mgmt_client.managed_instance_long_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"weekly_retention": "P1M", "monthly_retention": "P1Y", "yearly_retention": "P5Y", "week_of_year": "5"} + result = self.mgmt_client.managed_instance_long_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceLongTermRetentionPolicies/get/Get the long term retention policy for the managed database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_long_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_long_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceLongTermRetentionPolicies/get/Get the long term retention policies for the managed database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_long_term_retention_policies.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_long_term_retention_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/delete/Delete managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_managed_backup_short_term_policy(self): RESOURCE_GROUP = "testManagedInstance" @@ -128,50 +126,70 @@ def test_managed_backup_short_term_policy(self): DATABASE_NAME = "mydatabase" POLICY_NAME = "default" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/put/Update the short term retention policy for the database.[put] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/get/Get the short term retention policy for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_backup_short_term_retention_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_backup_short_term_retention_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/get/Get the short term retention policy list for the database.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_backup_short_term_retention_policies.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_backup_short_term_retention_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedBackupShortTermRetentionPolicies/patch/Update the short term retention policy for the database.[patch] -#-------------------------------------------------------------------------- - BODY = { - "retention_days": "14" - } - result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, policy_name=POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"retention_days": "14"} + result = self.mgmt_client.managed_backup_short_term_retention_policies.begin_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + policy_name=POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/delete/Delete managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_managed_security_alert_policy(self): RESOURCE_GROUP = "testManagedInstance" @@ -182,119 +200,157 @@ def test_managed_security_alert_policy(self): BLOB_CONTAINER_NAME = "myblobcontainer" if self.is_live: - ACCESS_KEY = self.create_blob_container(AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME) + ACCESS_KEY = self.create_blob_container( + AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME + ) else: ACCESS_KEY = "accesskey" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/put/Update a server's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - "storage_account_access_key": ACCESS_KEY, - "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net" + "state": "Enabled", + "storage_account_access_key": ACCESS_KEY, + "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net", } - result = self.mgmt_client.managed_server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + result = self.mgmt_client.managed_server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/put/Update a database's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled" - } - result = self.mgmt_client.managed_database_security_alert_policies.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled"} + result = self.mgmt_client.managed_database_security_alert_policies.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/get/Get a managed server's threat detection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_server_security_alert_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_server_security_alert_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/get/Get a database's threat detection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_security_alert_policies.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_security_alert_policies.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedServerSecurityAlertPolicies/get/Get the managed server's threat detection policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_server_security_alert_policies.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_server_security_alert_policies.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseSecurityAlertPolicies/get/Get a list of the database's threat detection policies.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_security_alert_policies.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_security_alert_policies.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/delete/Delete managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) result = result.result() # @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_managed_db(self): RESOURCE_GROUP = "testManagedInstance" MANAGED_INSTANCE_NAME = "testinstancexxy" DATABASE_NAME = "mydatabase" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/get/Gets a managed database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.get( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/get/List inaccessible managed databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.list_inaccessible_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.list_inaccessible_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/get/List databases by managed instances[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/post/Completes a managed database external backup restore.[post] -#-------------------------------------------------------------------------- - BODY = { - "last_backup_name": "testdb1_log4" - } + # -------------------------------------------------------------------------- + BODY = {"last_backup_name": "testdb1_log4"} # result = self.mgmt_client.managed_databases.begin_complete_restore(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/patch/Updates a managed database with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "tags": { - "tag_key1": "TagValue1" - } - } - result = self.mgmt_client.managed_databases.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"tags": {"tag_key1": "TagValue1"}} + result = self.mgmt_client.managed_databases.begin_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/delete/Delete managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) result = result.result() - diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_server.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_server.py index a9543be685e..b0857586750 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_server.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_server.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # Servers: 7/7 @@ -29,53 +29,39 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.network import NetworkManagementClient - self.network_client = self.create_mgmt_client( - NetworkManagementClient - ) + + self.network_client = self.create_mgmt_client(NetworkManagementClient) from azure.mgmt.storage import StorageManagementClient - self.storage_client = self.create_mgmt_client( - StorageManagementClient - ) + + self.storage_client = self.create_mgmt_client(StorageManagementClient) def create_blob_container(self, location, group_name, account_name, container_name): # StorageAccountCreate[put] BODY = { - "sku": { - "name": "Standard_GRS" - }, - "kind": "StorageV2", - "location": location, - "encryption": { - "services": { - "file": { - "key_type": "Account", - "enabled": True - }, - "blob": { - "key_type": "Account", - "enabled": True - } + "sku": {"name": "Standard_GRS"}, + "kind": "StorageV2", + "location": location, + "encryption": { + "services": { + "file": {"key_type": "Account", "enabled": True}, + "blob": {"key_type": "Account", "enabled": True}, + }, + "key_source": "Microsoft.Storage", }, - "key_source": "Microsoft.Storage" - }, - "tags": { - "key1": "value1", - "key2": "value2" - } + "tags": {"key1": "value1", "key2": "value2"}, } result = self.storage_client.storage_accounts.begin_create(group_name, account_name, BODY) storageaccount = result.result() @@ -84,9 +70,7 @@ def create_blob_container(self, location, group_name, account_name, container_na result = self.storage_client.blob_containers.create(group_name, account_name, container_name, {}) # StorageAccountRegenerateKey[post] - BODY = { - "key_name": "key2" - } + BODY = {"key_name": "key2"} key = self.storage_client.storage_accounts.regenerate_key(group_name, account_name, BODY) return key.keys[0].value @@ -94,14 +78,7 @@ def create_virtual_network(self, group_name, location, network_name, subnet_name # create virtual network azure_operation_poller = self.network_client.virtual_networks.begin_create_or_update( - group_name, - network_name, - { - 'location': location, - 'address_space': { - 'address_prefixes': ['10.0.0.0/16'] - } - } + group_name, network_name, {"location": location, "address_space": {"address_prefixes": ["10.0.0.0/16"]}} ) result_create = azure_operation_poller.result() @@ -111,8 +88,8 @@ def create_virtual_network(self, group_name, location, network_name, subnet_name network_name, subnet_name, { - 'address_prefix': '10.0.0.0/24', - } + "address_prefix": "10.0.0.0/24", + }, ) subnet_info = async_subnet_creation.result() @@ -125,34 +102,38 @@ def test_tde_certificates(self, resource_group): RESOURCE_GROUP = resource_group.name SERVER_NAME = "myserverxpxy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /TdeCertificates/post/Upload a TDE certificate[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "private_blob": "MIIJ+QIBAzCCCbUGCSqGSIb3DQEHAaCCCaYEggmiMIIJnjCCBhcGCSqGSIb3DQEHAaCCBggEggYEMIIGADCCBfwGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgUeBd7F2KZUwICB9AEggTYSRi88/Xf0EZ9smyYDCr+jHa7a/510s19/5wjqGbLTT/CYBu2qSOhj+g9sNvjj5oWAcluaZ4XCl/oJhXlB+9q9ZYSC6pPhma7/Il+/zlZm8ZUMfgnUefpKXGj+Ilydghya2DOA0PONDGbqIJGBYC0JgtiL7WcYyA+LEiO0vXc2fZ+ccjQsHM+ePFOm6rTJ1oqE3quRC5Ls2Bv22PCmF+GWkWxqH1L5x8wR2tYfecEsx4sKMj318novQqBlJckOUPDrTT2ic6izFnDWS+zbGezSCeRkt2vjCUVDg7Aqm2bkmLVn+arA3tDZ/DBxgTwwt8prpAznDYG07WRxXMUk8Uqzmcds85jSMLSBOoRaS7GwIPprx0QwyYXd8H/go2vafuGCydRk8mA0bGLXjYWuYHAtztlGrE71a7ILqHY4XankohSAY4YF9Fc1mJcdtsuICs5vNosw1lf0VK5BR4ONCkiGFdYEKUpaUrzKpQiw3zteBN8RQs/ADKGWzaWERrkptf0pLH3/QnZvu9xwwnNWneygByPy7OVYrvgjD27x7Y/C24GyQweh75OTQN3fAvUj7IqeTVyWZGZq32AY/uUXYwASBpLbNUtUBfJ7bgyvVSZlPvcFUwDHJC1P+fSP8Vfcc9W3ec9HqVheXio7gYBEg9hZrOZwiZorl8HZJsEj5NxGccBme6hEVQRZfar5kFDHor/zmKohEAJVw8lVLkgmEuz8aqQUDSWVAcLbkfqygK/NxsR2CaC6xWroagQSRwpF8YbvqYJtAQvdkUXY9Ll4LSRcxKrWMZHgI+1Z22pyNtpy/kXLADche5CF3AVbHtzNNgn9L4GVuCW1Lqufu3U2+DEG+u53u1vraf45RS1y0IyLjTGC+8j0OTxcgUU6FrGgFny0m676v8potPrfyHvuOO511aOTe8UPBfnYyx0XHJPn8RaYGq0vMOBpFyfJkXtAnbRMgXjxxiO91yXTI2hbdVlAmOER1u8QemtF5PoKwZzaAjGBC5S0ARNtxZcWInGciGgtWJVVcyU6nJv3pa2T8jNvtcp8X7j+Il6j6Sju02L/f+S9MvAoGfgG6C5cInNIBEt7+mpYYV/6Mi9Nnj+8/Cq3eAMdTTo7XIzbFpeInzpVN2lAxPockRoAVj+odYO3CIBnzJ7mcA7JqtNk76vaWKasocMk9YS0Z+43o/Z5pZPwXvUv++UUv5fGRcsnIHEeQc+XJlSqRVoaLDo3mNRV6jp5GzJW2BZx3KkuLbohcmfBdr6c8ehGvHXhPm4k2jq9UNYvG9Gy58+1GqdhIYWbRc0Haid8H7UvvdkjA+Yul2rLj4fSTJ6yJ4f6xFAsFY7wIJthpik+dQO9lqPglo9DY30gEOXs3miuJmdmFtBoYlzxti4JBGwxXPwP3rtu6rY1JEOFsh1WmSEGE6Df2l9wtUQ0WAAD6bWgCxMiiRRv7TegxSeMtGn5QKuPC5lFuvzZvtJy1rR8WQwT7lVdHz32xLP2Rs4dayQPh08x3GsuI54d2kti2rcaSltGLRAOuODWc8KjYsPS6Ku4aN2NoQB5H9TEbHy2fsUNpNPMbCY54lH5bkgJtO4WmulnAHEApZG07u8G+Kk3a15npXemWgUW3N9gGtJ2XmieendXqS3RK1ZUYDsnAWW2jCZkjGB6jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAYgBjAGYAOABhADUAOQAtAGYAZQAzADIALQA0AGIAZgA0AC0AYQBiAGMAZgAtADkAOAA3AGIANwBmADgANwAzADEANgBjMGsGCSsGAQQBgjcRATFeHlwATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMDCCA38GCSqGSIb3DQEHBqCCA3AwggNsAgEAMIIDZQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIbQcNiyMGeL4CAgfQgIIDOPSSP6SqJGYsXCPWCMQU0TqdqT55fauuadduHaAlQpyN0MVYdu9QguLqMaJjxWa8Coy3K7LAOcqJ4S8FWV2SrpTuNHPv7vrtZfYhltGl+vW8rIrogeGTV4T/45oc5605HSiyItOWX8vHYKnAJkRMW4ICZXgY3dZVb+fr6yPIRFvMywqzwkViVOJIKjZN2lsAQ0xlLU0Fu/va9uxADwI2ZUKfo+6nX6bITkLvUSJoNCvZ5e7UITasxC4ZauHdMZch38N7BPH2usrAQfr3omYcScFzSeN2onhE1JBURCPDQa8+CGiWMm6mxboUOIcUGasaDqYQ8pSAgZZqQf8lU0uH4FP/z/5Dd7PniDHjvqlwYa+vB6flgtrwh6jYFeTKluhkucLrfzusFR52kHpg8K4GaUL8MhvlsNdd8iHSFjfyOdXRpY9re+B8X9Eorx0Z3xsSsVWaCwmI+Spq+BZ5CSXVm9Um6ogeM0et8JciZS2yFLIlbl2o4U1BWblskYfj/29jm4/2UKjKzORZnpjE0O+qP4hReSrx6os9dr8sNkq/7OafZock8zXjXaOpW6bqB1V5NWMPiWiPxPxfRi1F/MQp6CPY03H7MsDALEFcF7MmtY4YpN/+FFfrrOwS19Fg0OnQzNIgFpSRywX9dxyKICt/wbvhM+RLpUN50ZekFVska+C27hJRJEZ9rSdVhOVdL1UNknuwqF1cCQQriaNsnCbeVHN3/Wgsms9+Kt+glBNyZQlU8Fk+fafcQFI5MlxyMmARVwnC70F8AScnJPPFVZIdgIrvOXCDrEh8wFgkVM/MHkaTZUF51yy3pbIZaPmNd5dsUfEvMsW2IY6esnUUxPRQUUoi5Ib8EFHdiQJrYY3ELfZRXb2I1Xd0DVhlGzogn3CXZtXR2gSAakdB0qrLpXMSJNS65SS2tVTD7SI8OpUGNRjthQIAEEROPue10geFUwarWi/3jGMG529SzwDUJ4g0ix6VtcuLIDYFNdClDTyEyeV1f70NSG2QVXPIpeF7WQ8jWK7kenGaqqna4C4FYQpQk9vJP171nUXLR2mUR11bo1N4hcVhXnJls5yo9u14BB9CqVKXeDl7M5zwMDswHzAHBgUrDgMCGgQUT6Tjuka1G4O/ZCBxO7NBR34YUYQEFLaheEdRIIuxUd25/hl5vf2SFuZuAgIH0A==", - "cert_password": "Un53cuRE!" + "private_blob": "MIIJ+QIBAzCCCbUGCSqGSIb3DQEHAaCCCaYEggmiMIIJnjCCBhcGCSqGSIb3DQEHAaCCBggEggYEMIIGADCCBfwGCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAgUeBd7F2KZUwICB9AEggTYSRi88/Xf0EZ9smyYDCr+jHa7a/510s19/5wjqGbLTT/CYBu2qSOhj+g9sNvjj5oWAcluaZ4XCl/oJhXlB+9q9ZYSC6pPhma7/Il+/zlZm8ZUMfgnUefpKXGj+Ilydghya2DOA0PONDGbqIJGBYC0JgtiL7WcYyA+LEiO0vXc2fZ+ccjQsHM+ePFOm6rTJ1oqE3quRC5Ls2Bv22PCmF+GWkWxqH1L5x8wR2tYfecEsx4sKMj318novQqBlJckOUPDrTT2ic6izFnDWS+zbGezSCeRkt2vjCUVDg7Aqm2bkmLVn+arA3tDZ/DBxgTwwt8prpAznDYG07WRxXMUk8Uqzmcds85jSMLSBOoRaS7GwIPprx0QwyYXd8H/go2vafuGCydRk8mA0bGLXjYWuYHAtztlGrE71a7ILqHY4XankohSAY4YF9Fc1mJcdtsuICs5vNosw1lf0VK5BR4ONCkiGFdYEKUpaUrzKpQiw3zteBN8RQs/ADKGWzaWERrkptf0pLH3/QnZvu9xwwnNWneygByPy7OVYrvgjD27x7Y/C24GyQweh75OTQN3fAvUj7IqeTVyWZGZq32AY/uUXYwASBpLbNUtUBfJ7bgyvVSZlPvcFUwDHJC1P+fSP8Vfcc9W3ec9HqVheXio7gYBEg9hZrOZwiZorl8HZJsEj5NxGccBme6hEVQRZfar5kFDHor/zmKohEAJVw8lVLkgmEuz8aqQUDSWVAcLbkfqygK/NxsR2CaC6xWroagQSRwpF8YbvqYJtAQvdkUXY9Ll4LSRcxKrWMZHgI+1Z22pyNtpy/kXLADche5CF3AVbHtzNNgn9L4GVuCW1Lqufu3U2+DEG+u53u1vraf45RS1y0IyLjTGC+8j0OTxcgUU6FrGgFny0m676v8potPrfyHvuOO511aOTe8UPBfnYyx0XHJPn8RaYGq0vMOBpFyfJkXtAnbRMgXjxxiO91yXTI2hbdVlAmOER1u8QemtF5PoKwZzaAjGBC5S0ARNtxZcWInGciGgtWJVVcyU6nJv3pa2T8jNvtcp8X7j+Il6j6Sju02L/f+S9MvAoGfgG6C5cInNIBEt7+mpYYV/6Mi9Nnj+8/Cq3eAMdTTo7XIzbFpeInzpVN2lAxPockRoAVj+odYO3CIBnzJ7mcA7JqtNk76vaWKasocMk9YS0Z+43o/Z5pZPwXvUv++UUv5fGRcsnIHEeQc+XJlSqRVoaLDo3mNRV6jp5GzJW2BZx3KkuLbohcmfBdr6c8ehGvHXhPm4k2jq9UNYvG9Gy58+1GqdhIYWbRc0Haid8H7UvvdkjA+Yul2rLj4fSTJ6yJ4f6xFAsFY7wIJthpik+dQO9lqPglo9DY30gEOXs3miuJmdmFtBoYlzxti4JBGwxXPwP3rtu6rY1JEOFsh1WmSEGE6Df2l9wtUQ0WAAD6bWgCxMiiRRv7TegxSeMtGn5QKuPC5lFuvzZvtJy1rR8WQwT7lVdHz32xLP2Rs4dayQPh08x3GsuI54d2kti2rcaSltGLRAOuODWc8KjYsPS6Ku4aN2NoQB5H9TEbHy2fsUNpNPMbCY54lH5bkgJtO4WmulnAHEApZG07u8G+Kk3a15npXemWgUW3N9gGtJ2XmieendXqS3RK1ZUYDsnAWW2jCZkjGB6jANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAYgBjAGYAOABhADUAOQAtAGYAZQAzADIALQA0AGIAZgA0AC0AYQBiAGMAZgAtADkAOAA3AGIANwBmADgANwAzADEANgBjMGsGCSsGAQQBgjcRATFeHlwATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMDCCA38GCSqGSIb3DQEHBqCCA3AwggNsAgEAMIIDZQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIbQcNiyMGeL4CAgfQgIIDOPSSP6SqJGYsXCPWCMQU0TqdqT55fauuadduHaAlQpyN0MVYdu9QguLqMaJjxWa8Coy3K7LAOcqJ4S8FWV2SrpTuNHPv7vrtZfYhltGl+vW8rIrogeGTV4T/45oc5605HSiyItOWX8vHYKnAJkRMW4ICZXgY3dZVb+fr6yPIRFvMywqzwkViVOJIKjZN2lsAQ0xlLU0Fu/va9uxADwI2ZUKfo+6nX6bITkLvUSJoNCvZ5e7UITasxC4ZauHdMZch38N7BPH2usrAQfr3omYcScFzSeN2onhE1JBURCPDQa8+CGiWMm6mxboUOIcUGasaDqYQ8pSAgZZqQf8lU0uH4FP/z/5Dd7PniDHjvqlwYa+vB6flgtrwh6jYFeTKluhkucLrfzusFR52kHpg8K4GaUL8MhvlsNdd8iHSFjfyOdXRpY9re+B8X9Eorx0Z3xsSsVWaCwmI+Spq+BZ5CSXVm9Um6ogeM0et8JciZS2yFLIlbl2o4U1BWblskYfj/29jm4/2UKjKzORZnpjE0O+qP4hReSrx6os9dr8sNkq/7OafZock8zXjXaOpW6bqB1V5NWMPiWiPxPxfRi1F/MQp6CPY03H7MsDALEFcF7MmtY4YpN/+FFfrrOwS19Fg0OnQzNIgFpSRywX9dxyKICt/wbvhM+RLpUN50ZekFVska+C27hJRJEZ9rSdVhOVdL1UNknuwqF1cCQQriaNsnCbeVHN3/Wgsms9+Kt+glBNyZQlU8Fk+fafcQFI5MlxyMmARVwnC70F8AScnJPPFVZIdgIrvOXCDrEh8wFgkVM/MHkaTZUF51yy3pbIZaPmNd5dsUfEvMsW2IY6esnUUxPRQUUoi5Ib8EFHdiQJrYY3ELfZRXb2I1Xd0DVhlGzogn3CXZtXR2gSAakdB0qrLpXMSJNS65SS2tVTD7SI8OpUGNRjthQIAEEROPue10geFUwarWi/3jGMG529SzwDUJ4g0ix6VtcuLIDYFNdClDTyEyeV1f70NSG2QVXPIpeF7WQ8jWK7kenGaqqna4C4FYQpQk9vJP171nUXLR2mUR11bo1N4hcVhXnJls5yo9u14BB9CqVKXeDl7M5zwMDswHzAHBgUrDgMCGgQUT6Tjuka1G4O/ZCBxO7NBR34YUYQEFLaheEdRIIuxUd25/hl5vf2SFuZuAgIH0A==", + "cert_password": "Un53cuRE!", } - result = self.mgmt_client.tde_certificates.begin_create(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.tde_certificates.begin_create( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server_security_alert_policy(self, resource_group): @@ -163,122 +144,147 @@ def test_server_security_alert_policy(self, resource_group): SECURITY_ALERT_POLICY_NAME = "default" if self.is_live: - ACCESS_KEY = self.create_blob_container(AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME) + ACCESS_KEY = self.create_blob_container( + AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME + ) else: ACCESS_KEY = "accesskey" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/put/Update a server's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Disabled", - "email_account_admins": True, - "storage_account_access_key": ACCESS_KEY, - "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net" + "state": "Disabled", + "email_account_admins": True, + "storage_account_access_key": ACCESS_KEY, + "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net", } - result = self.mgmt_client.server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + result = self.mgmt_client.server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/get/Get a server's threat detection policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_security_alert_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_security_alert_policies.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/get/List the server's threat detection policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_security_alert_policies.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_security_alert_policies.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server_automatic_tuning(self, resource_group): RESOURCE_GROUP = resource_group.name SERVER_NAME = "myserverxpxy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/get/Get a database's automatic tuning settings[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_automatic_tuning.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_automatic_tuning.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseAutomaticTuning/patch/Updates database automatic tuning settings with minimal properties[patch] -#-------------------------------------------------------------------------- - BODY = { - "desired_state": "Auto" - } - result = self.mgmt_client.server_automatic_tuning.update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"desired_state": "Auto"} + result = self.mgmt_client.server_automatic_tuning.update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_service_objective(self, resource_group): RESOURCE_GROUP = resource_group.name SERVER_NAME = "myserverxpxy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceObjectives/get/List service objectives[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_objectives.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_objectives.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) SERVICE_OBJECTIVE_NAME = result.next().name -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServiceObjectives/get/Get a service objective[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.service_objectives.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, service_objective_name=SERVICE_OBJECTIVE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.service_objectives.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, service_objective_name=SERVICE_OBJECTIVE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_virtual_network_rule(self, resource_group): @@ -292,46 +298,70 @@ def test_virtual_network_rule(self, resource_group): if self.is_live: self.create_virtual_network(RESOURCE_GROUP, AZURE_LOCATION, VIRTUAL_NETWORK_NAME, SUBNET_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/put/Create or update a virtual network rule[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "ignore_missing_vnet_service_endpoint": True, - "virtual_network_subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME + "ignore_missing_vnet_service_endpoint": True, + "virtual_network_subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetworks/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, } - result = self.mgmt_client.virtual_network_rules.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, parameters=BODY) + result = self.mgmt_client.virtual_network_rules.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/get/Gets a virtual network rule[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_network_rules.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_network_rules.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/get/List virtual network rules[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_network_rules.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_network_rules.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /VirtualNetworkRules/delete/Delete a virtual network rule[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.virtual_network_rules.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.virtual_network_rules.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + virtual_network_rule_name=VIRTUAL_NETWORK_RULE_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() @@ -346,53 +376,66 @@ def test_server_azure_adadministrator(self, resource_group): SERVER_NAME = "myserverxpxy" ADMINISTRATOR_NAME = "myadministrator" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/put/Creates or updates an existing Azure Active Directory administrator.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "administrator_type": "ActiveDirectory", - "login": "bob@contoso.com", - # "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "sid": CLIENT_OID, - "tenant_id": TENANT_ID + "administrator_type": "ActiveDirectory", + "login": "bob@contoso.com", + # "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "sid": CLIENT_OID, + "tenant_id": TENANT_ID, } - result = self.mgmt_client.server_azure_ad_administrators.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME, parameters=BODY) + result = self.mgmt_client.server_azure_ad_administrators.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + administrator_name=ADMINISTRATOR_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/get/Gets a Azure Active Directory administrator.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_ad_administrators.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_ad_administrators.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/get/Gets a list of Azure Active Directory administrator.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_ad_administrators.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_ad_administrators.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerAzureADAdministrators/delete/Delete Azure Active Directory administrator.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_azure_ad_administrators.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_azure_ad_administrators.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, administrator_name=ADMINISTRATOR_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server_dns_alias(self, resource_group): @@ -402,55 +445,74 @@ def test_server_dns_alias(self, resource_group): DNS_ALIAS_NAME = "mydnsalias" DNS_ALIAS_NAME_2 = "mydnsalias2" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/put/Create server DNS alias[put] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/get/Get server DNS alias[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/get/List server DNS aliases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/post/Acquire server DNS alias[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "old_server_dns_alias_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/dnsAliases/" + DNS_ALIAS_NAME_2 + "old_server_dns_alias_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/dnsAliases/" + + DNS_ALIAS_NAME_2 } - result = self.mgmt_client.server_dns_aliases.begin_acquire(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME, parameters=BODY) + result = self.mgmt_client.server_dns_aliases.begin_acquire( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerDnsAliases/delete/Delete server DNS alias[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_dns_aliases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME_2) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_dns_aliases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, dns_alias_name=DNS_ALIAS_NAME_2 + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") # @unittest.skip("unavailable") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server_blob_auditing_policy(self, resource_group): @@ -464,74 +526,90 @@ def test_server_blob_auditing_policy(self, resource_group): SECURITY_ALERT_POLICY_NAME = "default" if self.is_live: - ACCESS_KEY = self.create_blob_container(AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME) + ACCESS_KEY = self.create_blob_container( + AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME + ) else: ACCESS_KEY = "accesskey" - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/put/Update a server's blob auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - # "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_account_access_key": ACCESS_KEY, - # "storage_endpoint": "https://mystorage.blob.core.windows.net" - "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net" + "state": "Enabled", + # "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_account_access_key": ACCESS_KEY, + # "storage_endpoint": "https://mystorage.blob.core.windows.net" + "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net", } - result = self.mgmt_client.server_blob_auditing_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.server_blob_auditing_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/put/Update a server's extended blob auditing policy with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "state": "Enabled", - # "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", - "storage_account_access_key": ACCESS_KEY, - # "storage_endpoint": "https://mystorage.blob.core.windows.net" - "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net" + "state": "Enabled", + # "storage_account_access_key": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==", + "storage_account_access_key": ACCESS_KEY, + # "storage_endpoint": "https://mystorage.blob.core.windows.net" + "storage_endpoint": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net", } - result = self.mgmt_client.extended_server_blob_auditing_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.extended_server_blob_auditing_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/get/Get a server's blob extended auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_server_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_server_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/get/Get a server's blob auditing policy[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_blob_auditing_policies.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_blob_auditing_policies.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerBlobAuditingPolicies/get/List auditing settings of a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_blob_auditing_policies.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_blob_auditing_policies.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ExtendedServerBlobAuditingPolicies/get/List extended auditing settings of a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.extended_server_blob_auditing_policies.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.extended_server_blob_auditing_policies.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server_communication_link(self, resource_group): @@ -539,60 +617,73 @@ def test_server_communication_link(self, resource_group): SERVER_NAME = "myserverxpxy" PARTNER_SERVER_NAME = "mypartnerserverxpxy" COMMUNICATION_LINK_NAME = "mycommunicationlink" - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=PARTNER_SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/put/Create a server communication link[put] -#-------------------------------------------------------------------------- - BODY = { - "partner_server": PARTNER_SERVER_NAME - } - result = self.mgmt_client.server_communication_links.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"partner_server": PARTNER_SERVER_NAME} + result = self.mgmt_client.server_communication_links.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + communication_link_name=COMMUNICATION_LINK_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/get/Get a server communication link[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_communication_links.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_communication_links.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/get/List server communication links[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_communication_links.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_communication_links.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerCommunicationLinks/delete/Delete a server communication link[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_communication_links.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_communication_links.delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, communication_link_name=COMMUNICATION_LINK_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_firewall_rule(self, resource_group): @@ -600,130 +691,140 @@ def test_firewall_rule(self, resource_group): SERVER_NAME = "myserverxpxy" FIREWALL_RULE_NAME = "myfirewallrule" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/put/Create a firewall rule max/min[put] -#-------------------------------------------------------------------------- - BODY = { - "start_ip_address": "0.0.0.3", - "end_ip_address": "0.0.0.3" - } - result = self.mgmt_client.firewall_rules.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"start_ip_address": "0.0.0.3", "end_ip_address": "0.0.0.3"} + result = self.mgmt_client.firewall_rules.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + firewall_rule_name=FIREWALL_RULE_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/get/Get Firewall Rule[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.firewall_rules.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.firewall_rules.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/get/List Firewall Rules[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.firewall_rules.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.firewall_rules.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /FirewallRules/delete/Delete a firewall rule[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.firewall_rules.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.firewall_rules.delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, firewall_rule_name=FIREWALL_RULE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_server(self, resource_group): RESOURCE_GROUP = resource_group.name SERVER_NAME = "myServerxpxy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Capabilities/get/List subscription capabilities in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.capabilities.list_by_location(location_name=AZURE_LOCATION) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/get/Get server[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/get/List servers by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/get/List servers[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerUsages/get/List servers usages[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_usages.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_usages.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/patch/Update a server[patch] -#-------------------------------------------------------------------------- - BODY = { - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!" - } - result = self.mgmt_client.servers.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"administrator_login": "dummylogin", "administrator_login_password": "Un53cuRE!"} + result = self.mgmt_client.servers.begin_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/post/Check for a server name that already exists[post] -#-------------------------------------------------------------------------- - BODY = { - "name": "server1", - "type": "Microsoft.Sql/servers" - } + # -------------------------------------------------------------------------- + BODY = {"name": "server1", "type": "Microsoft.Sql/servers"} result = self.mgmt_client.servers.check_name_availability(parameters=BODY) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_subscription_usage(self): -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SubscriptionUsages/get/List subscription usages in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.subscription_usages.list_by_location(location_name=AZURE_LOCATION) USAGE_NAME = result.next().name -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SubscriptionUsages/get/Get specific subscription usage in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.subscription_usages.get(location_name=AZURE_LOCATION, usage_name=USAGE_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Capabilities/get/List subscription capabilities in the given location.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.capabilities.list_by_location(location_name=AZURE_LOCATION) diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_sync.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_sync.py index 0d4a32204cf..4b5964b300e 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_sync.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_sync.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # SyncAgents: 6/6 @@ -16,17 +16,16 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_sync_member(self, resource_group): @@ -39,131 +38,204 @@ def test_sync_member(self, resource_group): # SYNC_MEMBER_NAME = SYNC_DATABASE_NAME SYNC_GROUP_NAME = "mysyncgroup" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=SYNC_DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=SYNC_DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/put/Create a sync group[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "interval": "-1", - "conflict_resolution_policy": "HubWin", - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + SYNC_DATABASE_NAME, - "hub_database_user_name": "hubUser", - "use_private_link_connection": False + "interval": "-1", + "conflict_resolution_policy": "HubWin", + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + SYNC_DATABASE_NAME, + "hub_database_user_name": "hubUser", + "use_private_link_connection": False, } - result = self.mgmt_client.sync_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.sync_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/put/Create a new sync member[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "database_type": "AzureSqlDatabase", - "server_name": SERVER_NAME, - "database_name": DATABASE_NAME, - "user_name": "dummylogin", - "password": "Un53cuRE!", - "sync_direction": "Bidirectional", - "use_private_link_connection": False, - "sync_state": "UnProvisioned" + "database_type": "AzureSqlDatabase", + "server_name": SERVER_NAME, + "database_name": DATABASE_NAME, + "user_name": "dummylogin", + "password": "Un53cuRE!", + "sync_direction": "Bidirectional", + "use_private_link_connection": False, + "sync_state": "UnProvisioned", } - result = self.mgmt_client.sync_members.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME, parameters=BODY) + result = self.mgmt_client.sync_members.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/get/Get a sync member schema[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.list_member_schemas(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.list_member_schemas( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/get/Get a sync member[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/get/List sync members under a sync group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.list_by_sync_group(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.list_by_sync_group( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/post/Refresh a sync member database schema[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.begin_refresh_member_schema(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.begin_refresh_member_schema( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/patch/Update an existing sync member[patch] -#-------------------------------------------------------------------------- - BODY = { - "use_private_link_connection": False - } - result = self.mgmt_client.sync_members.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"use_private_link_connection": False} + result = self.mgmt_client.sync_members.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncMembers/delete/Delete a sync member[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_members.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, sync_member_name=SYNC_MEMBER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_members.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + sync_member_name=SYNC_MEMBER_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Cancel a sync group synchronization[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.cancel_sync(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.cancel_sync( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/delete/Delete a sync group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=SYNC_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=SYNC_DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_sync_group(self, resource_group): @@ -174,130 +246,200 @@ def test_sync_group(self, resource_group): SYNC_DATABASE_NAME = "mysyncdatabase" SYNC_GROUP_NAME = "mysyncgroup" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() - -#-------------------------------------------------------------------------- + + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=SYNC_DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=SYNC_DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/put/Create a sync group[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "interval": "-1", - "conflict_resolution_policy": "HubWin", - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + SYNC_DATABASE_NAME, - "hub_database_user_name": "hubUser", - "use_private_link_connection": False + "interval": "-1", + "conflict_resolution_policy": "HubWin", + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + SYNC_DATABASE_NAME, + "hub_database_user_name": "hubUser", + "use_private_link_connection": False, } - result = self.mgmt_client.sync_groups.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.sync_groups.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get a hub database schema.[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.list_hub_schemas(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.list_hub_schemas( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get sync group logs[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.list_logs(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, start_time="2017-01-01T00:00:00", end_time="2017-12-31T00:00:00", type="All") + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.list_logs( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + start_time="2017-01-01T00:00:00", + end_time="2017-12-31T00:00:00", + type="All", + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get a sync group[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/List sync groups under a given database[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/get/Get a sync database ID[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.sync_groups.list_sync_database_ids(location_name=AZURE_LOCATION) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Refresh a hub database schema.[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.begin_refresh_hub_schema(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.begin_refresh_hub_schema( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Trigger a sync group synchronization.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # TODO: [Kaihui] (SyncOperation_GenericFailure) Failed to perform data sync operation: '' is not an active sync group. # result = self.mgmt_client.sync_groups.trigger_sync(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/patch/Update a sync group[patch] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "interval": "-1", - "conflict_resolution_policy": "HubWin", - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + SYNC_DATABASE_NAME, - "hub_database_user_name": "hubUser", - "hub_database_password": "hubPassword", - "use_private_link_connection": False + "interval": "-1", + "conflict_resolution_policy": "HubWin", + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + SYNC_DATABASE_NAME, + "hub_database_user_name": "hubUser", + "hub_database_password": "hubPassword", + "use_private_link_connection": False, } - result = self.mgmt_client.sync_groups.begin_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME, parameters=BODY) + result = self.mgmt_client.sync_groups.begin_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/post/Cancel a sync group synchronization[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.cancel_sync(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.cancel_sync( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncGroups/delete/Delete a sync group[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_groups.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, sync_group_name=SYNC_GROUP_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_groups.begin_delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + sync_group_name=SYNC_GROUP_NAME, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=SYNC_DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=SYNC_DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_sync_agent(self, resource_group): @@ -307,70 +449,96 @@ def test_sync_agent(self, resource_group): DATABASE_NAME = "mydatabase" SYNC_AGENT_NAME = "mysyncagent" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/put/Create a new sync agent[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "sync_database_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Sql/servers/" + SERVER_NAME + "/databases/" + DATABASE_NAME + "sync_database_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Sql/servers/" + + SERVER_NAME + + "/databases/" + + DATABASE_NAME } - result = self.mgmt_client.sync_agents.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME, parameters=BODY) + result = self.mgmt_client.sync_agents.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + sync_agent_name=SYNC_AGENT_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/get/Get sync agent linked databases[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.list_linked_databases(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.list_linked_databases( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/get/Get a sync agent[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.get( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/get/Get sync agents under a server[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/post/Generate a sync agent key[post] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.generate_key(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.generate_key( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /SyncAgents/delete/Delete a sync agent[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.sync_agents.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.sync_agents.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, sync_agent_name=SYNC_AGENT_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_vulnerability_assessment.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_vulnerability_assessment.py index 9373c31ba59..f501dd3b277 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_vulnerability_assessment.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_cli_mgmt_sql_vulnerability_assessment.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # DatabaseVulnerabilityAssessmentRuleBaselines: 0/3 @@ -19,48 +19,35 @@ import azure.mgmt.sql from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer -AZURE_LOCATION = 'eastus' +AZURE_LOCATION = "eastus" + class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.mgmt_client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.mgmt_client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) if self.is_live: from azure.mgmt.storage import StorageManagementClient - self.storage_client = self.create_mgmt_client( - StorageManagementClient - ) + + self.storage_client = self.create_mgmt_client(StorageManagementClient) def create_blob_container(self, location, group_name, account_name, container_name): # StorageAccountCreate[put] BODY = { - "sku": { - "name": "Standard_GRS" - }, - "kind": "StorageV2", - "location": location, - "encryption": { - "services": { - "file": { - "key_type": "Account", - "enabled": True - }, - "blob": { - "key_type": "Account", - "enabled": True - } + "sku": {"name": "Standard_GRS"}, + "kind": "StorageV2", + "location": location, + "encryption": { + "services": { + "file": {"key_type": "Account", "enabled": True}, + "blob": {"key_type": "Account", "enabled": True}, + }, + "key_source": "Microsoft.Storage", }, - "key_source": "Microsoft.Storage" - }, - "tags": { - "key1": "value1", - "key2": "value2" - } + "tags": {"key1": "value1", "key2": "value2"}, } result = self.storage_client.storage_accounts.begin_create(group_name, account_name, BODY) storageaccount = result.result() @@ -69,15 +56,13 @@ def create_blob_container(self, location, group_name, account_name, container_na result = self.storage_client.blob_containers.create(group_name, account_name, container_name, {}) # StorageAccountRegenerateKey[post] - BODY = { - "key_name": "key2" - } + BODY = {"key_name": "key2"} key = self.storage_client.storage_accounts.regenerate_key(group_name, account_name, BODY) return key.keys[0].value - @unittest.skip('hard to test') + @unittest.skip("hard to test") def test_managed_vulnerability_assessment(self): - + RESOURCE_GROUP = "testManagedInstance" MANAGED_INSTANCE_NAME = "testinstancexxy" DATABASE_NAME = "mydatabase" @@ -86,74 +71,122 @@ def test_managed_vulnerability_assessment(self): VULNERABILITY_ASSESSMENT_NAME = "default" if self.is_live: - ACCESS_KEY = self.create_blob_container(AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME) + ACCESS_KEY = self.create_blob_container( + AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME + ) else: ACCESS_KEY = "accesskey" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/put/Creates a new managed database with minimal properties[put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.managed_databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.managed_databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/put/Create a managed instance's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net/" + BLOB_CONTAINER_NAME + "/", - "storage_account_access_key": ACCESS_KEY + "storage_container_path": "https://" + + STORAGE_ACCOUNT_NAME + + ".blob.core.windows.net/" + + BLOB_CONTAINER_NAME + + "/", + "storage_account_access_key": ACCESS_KEY, } - result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_instance_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with minimal parameters[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net/" + BLOB_CONTAINER_NAME + "/", - "storage_account_access_key": ACCESS_KEY + "storage_container_path": "https://" + + STORAGE_ACCOUNT_NAME + + ".blob.core.windows.net/" + + BLOB_CONTAINER_NAME + + "/", + "storage_account_access_key": ACCESS_KEY, } - result = self.mgmt_client.managed_database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.managed_database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/get/Get a managed instance's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/get/Get a database's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/get/Get a managed instance's vulnerability assessment policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_vulnerability_assessments.list_by_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_vulnerability_assessments.list_by_instance( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/get/Get a database's vulnerability assessments list[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessments.list_by_database(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessments.list_by_database( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceVulnerabilityAssessments/delete/Remove a managed instance's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instance_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instance_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabaseVulnerabilityAssessments/delete/Remove a database's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_database_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_database_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + managed_instance_name=MANAGED_INSTANCE_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedDatabases/delete/Delete managed database[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_databases.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_databases.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, database_name=DATABASE_NAME + ) result = result.result() - @unittest.skip('hard to test') + @unittest.skip("hard to test") @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) def test_vulnerability_assessment(self, resource_group): @@ -167,139 +200,169 @@ def test_vulnerability_assessment(self, resource_group): RULE_ID = "VA1001" BASELINE_NAME = "default" - if self.is_live: - ACCESS_KEY = self.create_blob_container(AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME) + ACCESS_KEY = self.create_blob_container( + AZURE_LOCATION, RESOURCE_GROUP, STORAGE_ACCOUNT_NAME, BLOB_CONTAINER_NAME + ) else: ACCESS_KEY = "accesskey" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/put/Create server[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "location": AZURE_LOCATION, - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "version": "12.0" + "location": AZURE_LOCATION, + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "version": "12.0", } - result = self.mgmt_client.servers.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY) + result = self.mgmt_client.servers.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerSecurityAlertPolicies/put/Update a server's threat detection policy with minimal parameters[put] -#-------------------------------------------------------------------------- - BODY = { - "state": "Enabled", - "email_account_admins": True, - "disabled_alerts": [], - "email_addresses": [] - } - result = self.mgmt_client.server_security_alert_policies.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"state": "Enabled", "email_account_admins": True, "disabled_alerts": [], "email_addresses": []} + result = self.mgmt_client.server_security_alert_policies.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + security_alert_policy_name=SECURITY_ALERT_POLICY_NAME, + parameters=BODY, + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/put/Create a server's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net/" + BLOB_CONTAINER_NAME + "/", - "storage_account_access_key": ACCESS_KEY + "storage_container_path": "https://" + + STORAGE_ACCOUNT_NAME + + ".blob.core.windows.net/" + + BLOB_CONTAINER_NAME + + "/", + "storage_account_access_key": ACCESS_KEY, } - result = self.mgmt_client.server_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.server_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/put/Creates a database [put] -#-------------------------------------------------------------------------- - BODY = { - "location": AZURE_LOCATION - } - result = self.mgmt_client.databases.begin_create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY) + # -------------------------------------------------------------------------- + BODY = {"location": AZURE_LOCATION} + result = self.mgmt_client.databases.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, parameters=BODY + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/put/Create a database's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "storage_container_path": "https://" + STORAGE_ACCOUNT_NAME + ".blob.core.windows.net/" + BLOB_CONTAINER_NAME + "/", - "storage_account_access_key": ACCESS_KEY + "storage_container_path": "https://" + + STORAGE_ACCOUNT_NAME + + ".blob.core.windows.net/" + + BLOB_CONTAINER_NAME + + "/", + "storage_account_access_key": ACCESS_KEY, } - result = self.mgmt_client.database_vulnerability_assessments.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, parameters=BODY) + result = self.mgmt_client.database_vulnerability_assessments.create_or_update( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + parameters=BODY, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentRuleBaselines/put/Creates or updates a database's vulnerability assessment rule baseline.[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "baseline_results": [ - { - "result": [ - "userA", - "SELECT" - ] - }, - { - "result": [ - "userB", - "SELECT" - ] - }, - { - "result": [ - "userC", - "SELECT", - "tableId_4" - ] - } - ] + "baseline_results": [ + {"result": ["userA", "SELECT"]}, + {"result": ["userB", "SELECT"]}, + {"result": ["userC", "SELECT", "tableId_4"]}, + ] } # result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.create_or_update(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME, parameters=BODY) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/get/Get a server's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/get/Get a database's vulnerability assessment[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessments.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessments.get( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentRuleBaselines/get/Gets a database's vulnerability assessment rule baseline.[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.get(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/get/Get a server's vulnerability assessment policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_vulnerability_assessments.list_by_server(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_vulnerability_assessments.list_by_server( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/get/Get the database's vulnerability assessment policies[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessments.list_by_database(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessments.list_by_database( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessmentRuleBaselines/delete/Removes a database's vulnerability assessment rule baseline.[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.database_vulnerability_assessment_rule_baselines.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, rule_id=RULE_ID, baseline_name=BASELINE_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /DatabaseVulnerabilityAssessments/delete/Remove a database's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.database_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.database_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + database_name=DATABASE_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Databases/delete/Deletes a database.[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.databases.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.databases.begin_delete( + resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, database_name=DATABASE_NAME + ) result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ServerVulnerabilityAssessments/delete/Remove a server's vulnerability assessment[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.server_vulnerability_assessments.delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME, vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.server_vulnerability_assessments.delete( + resource_group_name=RESOURCE_GROUP, + server_name=SERVER_NAME, + vulnerability_assessment_name=VULNERABILITY_ASSESSMENT_NAME, + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /Servers/delete/Delete server[delete] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.servers.begin_delete(resource_group_name=RESOURCE_GROUP, server_name=SERVER_NAME) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/disable_test_mgmt_sql.py b/sdk/sql/azure-mgmt-sql/tests/disable_test_mgmt_sql.py index 0123c59f685..db1a729e9a3 100644 --- a/sdk/sql/azure-mgmt-sql/tests/disable_test_mgmt_sql.py +++ b/sdk/sql/azure-mgmt-sql/tests/disable_test_mgmt_sql.py @@ -1,74 +1,62 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- import unittest import azure.mgmt.sql -from devtools_testutils import ( - AzureMgmtTestCase, ResourceGroupPreparer, - AzureMgmtPreparer, FakeResource -) +from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer, AzureMgmtPreparer, FakeResource from devtools_testutils.fake_credentials import FAKE_LOGIN_PASSWORD def get_server_params(location): return { - 'location': 'westus2', #location, # "self.region" is 'west-us' by default - 'version': '12.0', - 'administrator_login': 'mysecretname', - 'administrator_login_password': FAKE_LOGIN_PASSWORD # this password may not work -- check when tests are active + "location": "westus2", # location, # "self.region" is 'west-us' by default + "version": "12.0", + "administrator_login": "mysecretname", + "administrator_login_password": FAKE_LOGIN_PASSWORD, # this password may not work -- check when tests are active } class SqlServerPreparer(AzureMgmtPreparer): - def __init__(self, name_prefix='mypysqlserverx'): + def __init__(self, name_prefix="mypysqlserverx"): super(SqlServerPreparer, self).__init__(name_prefix, 24) def create_resource(self, name, **kwargs): if self.is_live: async_server_create = self.test_class_instance.client.servers.create_or_update( - kwargs['resource_group'].name, - name, - get_server_params(kwargs['location']) + kwargs["resource_group"].name, name, get_server_params(kwargs["location"]) ) server = async_server_create.result() else: - server = FakeResource(name=name, id='') + server = FakeResource(name=name, id="") - return { - 'server': server - } + return {"server": server} class MgmtSqlTest(AzureMgmtTestCase): def setUp(self): super(MgmtSqlTest, self).setUp() - self.client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) @ResourceGroupPreparer() def test_server(self, resource_group, location): - server_name = self.get_resource_name('tstpysqlserverx') + server_name = self.get_resource_name("tstpysqlserverx") async_server_create = self.client.servers.create_or_update( - resource_group.name, # Created by the framework + resource_group.name, # Created by the framework server_name, get_server_params(location), ) server = async_server_create.result() self.assertEqual(server.name, server_name) - server = self.client.servers.get( - resource_group.name, - server_name - ) + server = self.client.servers.get(resource_group.name, server_name) self.assertEqual(server.name, server_name) my_servers = list(self.client.servers.list_by_resource_group(resource_group.name)) @@ -80,15 +68,11 @@ def test_server(self, resource_group, location): self.assertTrue(any(server.name == server_name for server in my_servers)) usages = list(self.client.server_usages.list_by_server(resource_group.name, server_name)) - self.assertTrue(any(usage.name == 'server_dtu_quota' for usage in usages)) + self.assertTrue(any(usage.name == "server_dtu_quota" for usage in usages)) - firewall_rule_name = self.get_resource_name('firewallrule') + firewall_rule_name = self.get_resource_name("firewallrule") firewall_rule = self.client.firewall_rules.create_or_update( - resource_group.name, - server_name, - firewall_rule_name, - "123.123.123.123", - "123.123.123.124" + resource_group.name, server_name, firewall_rule_name, "123.123.123.123", "123.123.123.124" ) self.assertEqual(firewall_rule.name, firewall_rule_name) self.assertEqual(firewall_rule.start_ip_address, "123.123.123.123") @@ -99,38 +83,29 @@ def test_server(self, resource_group, location): @ResourceGroupPreparer() @SqlServerPreparer() def test_database(self, resource_group, location, server): - db_name = self.get_resource_name('pyarmdb') + db_name = self.get_resource_name("pyarmdb") async_db_create = self.client.databases.create_or_update( - resource_group.name, - server.name, - db_name, - { - 'location': 'westus2' # location - } + resource_group.name, server.name, db_name, {"location": "westus2"} # location ) - database = async_db_create.result() # Wait for completion and return created object + database = async_db_create.result() # Wait for completion and return created object self.assertEqual(database.name, db_name) - db = self.client.databases.get( - resource_group.name, - server.name, - db_name - ) + db = self.client.databases.get(resource_group.name, server.name, db_name) self.assertEqual(db.name, db_name) my_dbs = list(self.client.databases.list_by_server(resource_group.name, server.name)) print([db.name for db in my_dbs]) self.assertEqual(len(my_dbs), 2) - self.assertTrue(any(db.name == 'master' for db in my_dbs)) + self.assertTrue(any(db.name == "master" for db in my_dbs)) self.assertTrue(any(db.name == db_name for db in my_dbs)) usages = list(self.client.database_usages.list_by_database(resource_group.name, server.name, db_name)) - self.assertTrue(any(usage.name == 'database_size' for usage in usages)) + self.assertTrue(any(usage.name == "database_size" for usage in usages)) self.client.databases.delete(resource_group.name, server.name, db_name).wait() -#------------------------------------------------------------------------------ -if __name__ == '__main__': +# ------------------------------------------------------------------------------ +if __name__ == "__main__": unittest.main() diff --git a/sdk/sql/azure-mgmt-sql/tests/test_cli_mgmt_sql_managed_instance.py b/sdk/sql/azure-mgmt-sql/tests/test_cli_mgmt_sql_managed_instance.py index b10d1758917..42527427f55 100644 --- a/sdk/sql/azure-mgmt-sql/tests/test_cli_mgmt_sql_managed_instance.py +++ b/sdk/sql/azure-mgmt-sql/tests/test_cli_mgmt_sql_managed_instance.py @@ -1,10 +1,10 @@ # coding: utf-8 -#------------------------------------------------------------------------- +# ------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for # license information. -#-------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # Current Operation Coverage: # ManagedInstances: 6/8 @@ -14,17 +14,21 @@ import azure.mgmt.sql from azure.core.exceptions import HttpResponseError -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, ResourceGroupPreparer, recorded_by_proxy +from devtools_testutils import ( + AzureMgmtRecordedTestCase, + RandomNameResourceGroupPreparer, + ResourceGroupPreparer, + recorded_by_proxy, +) + +AZURE_LOCATION = "eastus" -AZURE_LOCATION = 'eastus' @pytest.mark.live_test_only class TestMgmtSql(AzureMgmtRecordedTestCase): def setup_method(self, method): - self.client = self.create_mgmt_client( - azure.mgmt.sql.SqlManagementClient - ) + self.client = self.create_mgmt_client(azure.mgmt.sql.SqlManagementClient) # self.mgmt_client180601 = self.create_mgmt_client( # azure.mgmt.sql.SqlManagementClient, # api_version="2018-06-01-preview" @@ -36,15 +40,13 @@ def setup_method(self, method): # NetworkManagementClient # ) - def create_virtual_network(self, group_name, location, security_group_name, route_table_name, network_name, subnet_name): + def create_virtual_network( + self, group_name, location, security_group_name, route_table_name, network_name, subnet_name + ): # Create network security group network_security_group = self.network_client.network_security_groups.begin_create_or_update( - group_name, - security_group_name, - { - "location": location - } + group_name, security_group_name, {"location": location} ).result() # Create security rule @@ -60,10 +62,10 @@ def create_virtual_network(self, group_name, location, security_group_name, rout "source_address_prefix": "10.0.0.0/16", "destination_address_prefix": "*", "destination_port_range": "1433", - "priority": "1000" - } + "priority": "1000", + }, ).result() - + # Create security rule security_rule = self.network_client.security_rules.begin_create_or_update( group_name, @@ -77,8 +79,8 @@ def create_virtual_network(self, group_name, location, security_group_name, rout "source_address_prefix": "10.0.0.0/16", "destination_address_prefix": "*", "destination_port_range": "11000-11999", - "priority": "1100" - } + "priority": "1100", + }, ).result() # Create security rule @@ -94,8 +96,8 @@ def create_virtual_network(self, group_name, location, security_group_name, rout "source_address_prefix": "*", "destination_address_prefix": "*", "destination_port_range": "*", - "priority": "4096" - } + "priority": "4096", + }, ).result() # Create security rule @@ -111,29 +113,20 @@ def create_virtual_network(self, group_name, location, security_group_name, rout "source_address_prefix": "*", "destination_address_prefix": "*", "destination_port_range": "*", - "priority": "4095" - } + "priority": "4095", + }, ).result() # Create route table route_table = self.network_client.route_tables.begin_create_or_update( - group_name, - route_table_name, - { - "location": location - } + group_name, route_table_name, {"location": location} ).result() # create virtual network azure_operation_poller = self.network_client.virtual_networks.begin_create_or_update( group_name, network_name, - { - 'location': location, - 'address_space': { - 'address_prefixes': ['10.0.0.0/16'] - } - }, + {"location": location, "address_space": {"address_prefixes": ["10.0.0.0/16"]}}, ) result_create = azure_operation_poller.result() @@ -143,16 +136,11 @@ def create_virtual_network(self, group_name, location, security_group_name, rout network_name, subnet_name, { - 'address_prefix': '10.0.0.0/24', - 'network_security_group': network_security_group, - 'route_table': route_table, - 'delegations': [ - { - "service_name": "Microsoft.Sql/managedInstances", - "name": "dgManagedInstancexxx" - } - ] - } + "address_prefix": "10.0.0.0/24", + "network_security_group": network_security_group, + "route_table": route_table, + "delegations": [{"service_name": "Microsoft.Sql/managedInstances", "name": "dgManagedInstancexxx"}], + }, ) subnet_info = async_subnet_creation.result() @@ -164,22 +152,22 @@ def test_instance_operation(self): RESOURCE_GROUP = "testManagedInstance" MANAGED_INSTANCE_NAME = "testinstancexxy" -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstanceOperations/get/List the managed instance management operations[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.client.managed_instance_operations.list_by_managed_instance(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) result = self.client.managed_instances.list() page_result = [item for item in result] -#-------------------------------------------------------------------------- - # /ManagedInstanceOperations/get/Gets the managed instance management operation[get] -#-------------------------------------------------------------------------- - # result = self.mgmt_client.managed_instance_operations.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + # /ManagedInstanceOperations/get/Gets the managed instance management operation[get] + # -------------------------------------------------------------------------- + # result = self.mgmt_client.managed_instance_operations.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID) -#-------------------------------------------------------------------------- - # /ManagedInstanceOperations/post/Cancel the managed instance management operation[post] -#-------------------------------------------------------------------------- - # result = self.mgmt_client.managed_instance_operations.cancel(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID) + # -------------------------------------------------------------------------- + # /ManagedInstanceOperations/post/Cancel the managed instance management operation[post] + # -------------------------------------------------------------------------- + # result = self.mgmt_client.managed_instance_operations.cancel(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, operation_id=OPERATION_ID) @pytest.mark.skip("it will take a long time.") @ResourceGroupPreparer(location=AZURE_LOCATION) @@ -195,83 +183,98 @@ def test_managed_instances(self, resource_group): INSTANCE_POOL_NAME = "myinstancepool" if self.is_live: - self.create_virtual_network(RESOURCE_GROUP, AZURE_LOCATION, NETWORK_SECURITY_GROUP, ROUTE_TABLE, VIRTUAL_NETWORK_NAME, SUBNET_NAME) + self.create_virtual_network( + RESOURCE_GROUP, AZURE_LOCATION, NETWORK_SECURITY_GROUP, ROUTE_TABLE, VIRTUAL_NETWORK_NAME, SUBNET_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/put/Create managed instance with minimal properties[put] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- BODY = { - "sku": { - # "name": "BC_Gen5", - # "tier": "GeneralPurpose" - "name": "MIGP8G4", - "tier": "GeneralPurpose", - "family": "Gen5" - }, - "location": "westeurope", - "administrator_login": "dummylogin", - "administrator_login_password": "Un53cuRE!", - "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, - "storage_account_type": "GRS", - # "v_cores": "8", - # "storage_size_in_gb": "128", - # "collection": "Serbian_Cyrillic_100_CS_AS", - # "public_data_endpoint_enabled": True, - # "proxy_override": "Proxy", - # "timezone_id": "Central European Standard Time", - # "minimal_tls_version": "1.2", - # "license_type": "LicenseIncluded" + "sku": { + # "name": "BC_Gen5", + # "tier": "GeneralPurpose" + "name": "MIGP8G4", + "tier": "GeneralPurpose", + "family": "Gen5", + }, + "location": "westeurope", + "administrator_login": "dummylogin", + "administrator_login_password": "Un53cuRE!", + "subnet_id": "/subscriptions/" + + SUBSCRIPTION_ID + + "/resourceGroups/" + + RESOURCE_GROUP + + "/providers/Microsoft.Network/virtualNetworks/" + + VIRTUAL_NETWORK_NAME + + "/subnets/" + + SUBNET_NAME, + "storage_account_type": "GRS", + # "v_cores": "8", + # "storage_size_in_gb": "128", + # "collection": "Serbian_Cyrillic_100_CS_AS", + # "public_data_endpoint_enabled": True, + # "proxy_override": "Proxy", + # "timezone_id": "Central European Standard Time", + # "minimal_tls_version": "1.2", + # "license_type": "LicenseIncluded" } - result = self.mgmt_client180601.managed_instances.begin_create_or_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) + result = self.mgmt_client180601.managed_instances.begin_create_or_update( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY + ) # [Kaihui] it will use 6 hours to complete creation, so comment it. # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/List managed instances by instance pool[get] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instances.list_by_instance_pool(resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instances.list_by_instance_pool( + resource_group_name=RESOURCE_GROUP, instance_pool_name=INSTANCE_POOL_NAME + ) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/Get managed instance[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.managed_instances.get(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/List managed instances by resource group[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.managed_instances.list_by_resource_group(resource_group_name=RESOURCE_GROUP) -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/get/List managed instances[get] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- result = self.mgmt_client.managed_instances.list() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/post/Failover a managed instance.[post] -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # result = self.mgmt_client.managed_instances.begin_failover(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, replica_type="Primary") # result = result.result() -# #-------------------------------------------------------------------------- -# # /ManagedInstances/patch/Update managed instance with minimal properties[patch] -# #-------------------------------------------------------------------------- -# BODY = { -# "administrator_login": "dummylogin", -# "administrator_login_password": "Un53cuRE!", -# "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, -# "v_cores": "8", -# "storage_size_in_gb": "128", -# "collection": "Serbian_Cyrillic_100_CS_AS", -# "public_data_endpoint_enabled": True, -# "proxy_override": "Proxy", -# "timezone_id": "Central European Standard Time", -# "minimal_tls_version": "1.2" -# } -# result = self.mgmt_client.managed_instances.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) + # #-------------------------------------------------------------------------- + # # /ManagedInstances/patch/Update managed instance with minimal properties[patch] + # #-------------------------------------------------------------------------- + # BODY = { + # "administrator_login": "dummylogin", + # "administrator_login_password": "Un53cuRE!", + # "subnet_id": "/subscriptions/" + SUBSCRIPTION_ID + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.Network/virtualNetworks/" + VIRTUAL_NETWORK_NAME + "/subnets/" + SUBNET_NAME, + # "v_cores": "8", + # "storage_size_in_gb": "128", + # "collection": "Serbian_Cyrillic_100_CS_AS", + # "public_data_endpoint_enabled": True, + # "proxy_override": "Proxy", + # "timezone_id": "Central European Standard Time", + # "minimal_tls_version": "1.2" + # } + # result = self.mgmt_client.managed_instances.begin_update(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME, parameters=BODY) # result = result.result() -#-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # /ManagedInstances/delete/Delete managed instance[delete] -#-------------------------------------------------------------------------- - result = self.mgmt_client.managed_instances.begin_delete(resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME) + # -------------------------------------------------------------------------- + result = self.mgmt_client.managed_instances.begin_delete( + resource_group_name=RESOURCE_GROUP, managed_instance_name=MANAGED_INSTANCE_NAME + ) result = result.result() diff --git a/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_async_test.py b/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_async_test.py index 306d32ad073..0d3abc962dc 100644 --- a/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_async_test.py +++ b/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_async_test.py @@ -25,4 +25,3 @@ async def test_list(self, resource_group): response = self.client.operations.list() result = [r async for r in response] assert result - diff --git a/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_test.py b/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_test.py index 54597cf04fb..6449716ff08 100644 --- a/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_test.py +++ b/sdk/sql/azure-mgmt-sql/tests/test_sql_management_operations_test.py @@ -24,4 +24,3 @@ def test_list(self, resource_group): response = self.client.operations.list() result = [r for r in response] assert result -