Skip to content

Commit 39922d5

Browse files
author
SDKAuto
committed
CodeGen from PR 30824 in Azure/azure-rest-api-specs
Merge b2fdf5c0b14033037a6029f1b9701143ac199cdc into e605d439dda724fc2fc0274e0a82a3434a1524d7
1 parent d594ee8 commit 39922d5

File tree

127 files changed

+23873
-2955
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+23873
-2955
lines changed

sdk/azurearcdata/azure-mgmt-azurearcdata/README.md

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,61 @@
11
# Microsoft Azure SDK for Python
22

33
This is the Microsoft Azure Azure Arc Data Management Client Library.
4-
This package has been tested with Python 3.7+.
4+
This package has been tested with Python 3.8+.
55
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
66

77
## _Disclaimer_
88

99
_Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_
1010

11-
# Usage
11+
## Getting started
1212

13+
### Prerequisites
1314

14-
To learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)
15-
16-
For docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)
17-
Code samples for this package can be found at [Azure Arc Data Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.
18-
Additional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
15+
- Python 3.8+ is required to use this package.
16+
- [Azure subscription](https://azure.microsoft.com/free/)
1917

18+
### Install the package
2019

21-
# Provide Feedback
20+
```bash
21+
pip install azure-mgmt-azurearcdata
22+
pip install azure-identity
23+
```
24+
25+
### Authentication
26+
27+
By default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.
28+
29+
- `AZURE_CLIENT_ID` for Azure client ID.
30+
- `AZURE_TENANT_ID` for Azure tenant ID.
31+
- `AZURE_CLIENT_SECRET` for Azure client secret.
32+
33+
In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
34+
35+
With above configuration, client can be authenticated by following code:
36+
37+
```python
38+
from azure.identity import DefaultAzureCredential
39+
from azure.mgmt.azurearcdata import AzureArcDataManagementClient
40+
import os
41+
42+
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
43+
client = AzureArcDataManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)
44+
```
45+
46+
## Examples
47+
48+
Code samples for this package can be found at:
49+
- [Search Azure Arc Data Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com
50+
- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
51+
52+
53+
## Troubleshooting
54+
55+
## Next steps
56+
57+
## Provide Feedback
2258

2359
If you encounter any bugs or have suggestions, please file an issue in the
2460
[Issues](https://github.com/Azure/azure-sdk-for-python/issues)
2561
section of the project.
26-
27-
28-
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-azurearcdata%2FREADME.png)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"commit": "be6cd9ccfcb6ba08c1c206627026eabfbff31fc1",
2+
"commit": "6b815c0cae3b7b3b42809a68a22b1d86511ecf7f",
33
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
4-
"autorest": "3.9.2",
4+
"autorest": "3.10.2",
55
"use": [
6-
"@autorest/python@6.2.7",
7-
"@autorest/modelerfour@4.24.3"
6+
"@autorest/python@6.19.0",
7+
"@autorest/modelerfour@4.27.0"
88
],
9-
"autorest_command": "autorest specification/azurearcdata/resource-manager/readme.md --generate-sample=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.2.7 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
9+
"autorest_command": "autorest specification/azurearcdata/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/s/azure-sdk-for-python/sdk --use=@autorest/python@6.19.0 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False",
1010
"readme": "specification/azurearcdata/resource-manager/readme.md"
1111
}

sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_azure_arc_data_management_client.py

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,36 @@
88

99
from copy import deepcopy
1010
from typing import Any, TYPE_CHECKING
11+
from typing_extensions import Self
1112

13+
from azure.core.pipeline import policies
1214
from azure.core.rest import HttpRequest, HttpResponse
1315
from azure.mgmt.core import ARMPipelineClient
16+
from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy
1417

1518
from . import models as _models
1619
from ._configuration import AzureArcDataManagementClientConfiguration
1720
from ._serialization import Deserializer, Serializer
1821
from .operations import (
1922
ActiveDirectoryConnectorsOperations,
2023
DataControllersOperations,
24+
FailoverGroupsOperations,
2125
Operations,
2226
PostgresInstancesOperations,
2327
SqlManagedInstancesOperations,
28+
SqlServerAvailabilityGroupsOperations,
29+
SqlServerDatabasesOperations,
30+
SqlServerEsuLicensesOperations,
2431
SqlServerInstancesOperations,
32+
SqlServerLicensesOperations,
2533
)
2634

2735
if TYPE_CHECKING:
2836
# pylint: disable=unused-import,ungrouped-imports
2937
from azure.core.credentials import TokenCredential
3038

3139

32-
class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-version-keyword
40+
class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
3341
"""The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data
3442
Services on Azure Arc Resources.
3543
@@ -38,22 +46,34 @@ class AzureArcDataManagementClient: # pylint: disable=client-accepts-api-versio
3846
:ivar sql_managed_instances: SqlManagedInstancesOperations operations
3947
:vartype sql_managed_instances:
4048
azure.mgmt.azurearcdata.operations.SqlManagedInstancesOperations
49+
:ivar failover_groups: FailoverGroupsOperations operations
50+
:vartype failover_groups: azure.mgmt.azurearcdata.operations.FailoverGroupsOperations
4151
:ivar sql_server_instances: SqlServerInstancesOperations operations
4252
:vartype sql_server_instances: azure.mgmt.azurearcdata.operations.SqlServerInstancesOperations
53+
:ivar sql_server_licenses: SqlServerLicensesOperations operations
54+
:vartype sql_server_licenses: azure.mgmt.azurearcdata.operations.SqlServerLicensesOperations
4355
:ivar data_controllers: DataControllersOperations operations
4456
:vartype data_controllers: azure.mgmt.azurearcdata.operations.DataControllersOperations
4557
:ivar active_directory_connectors: ActiveDirectoryConnectorsOperations operations
4658
:vartype active_directory_connectors:
4759
azure.mgmt.azurearcdata.operations.ActiveDirectoryConnectorsOperations
4860
:ivar postgres_instances: PostgresInstancesOperations operations
4961
:vartype postgres_instances: azure.mgmt.azurearcdata.operations.PostgresInstancesOperations
62+
:ivar sql_server_availability_groups: SqlServerAvailabilityGroupsOperations operations
63+
:vartype sql_server_availability_groups:
64+
azure.mgmt.azurearcdata.operations.SqlServerAvailabilityGroupsOperations
65+
:ivar sql_server_databases: SqlServerDatabasesOperations operations
66+
:vartype sql_server_databases: azure.mgmt.azurearcdata.operations.SqlServerDatabasesOperations
67+
:ivar sql_server_esu_licenses: SqlServerEsuLicensesOperations operations
68+
:vartype sql_server_esu_licenses:
69+
azure.mgmt.azurearcdata.operations.SqlServerEsuLicensesOperations
5070
:param credential: Credential needed for the client to connect to Azure. Required.
5171
:type credential: ~azure.core.credentials.TokenCredential
5272
:param subscription_id: The ID of the Azure subscription. Required.
5373
:type subscription_id: str
5474
:param base_url: Service URL. Default value is "https://management.azure.com".
5575
:type base_url: str
56-
:keyword api_version: Api Version. Default value is "2022-03-01-preview". Note that overriding
76+
:keyword api_version: Api Version. Default value is "2024-05-01-preview". Note that overriding
5777
this default value may result in unsupported behavior.
5878
:paramtype api_version: str
5979
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
@@ -70,7 +90,25 @@ def __init__(
7090
self._config = AzureArcDataManagementClientConfiguration(
7191
credential=credential, subscription_id=subscription_id, **kwargs
7292
)
73-
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
93+
_policies = kwargs.pop("policies", None)
94+
if _policies is None:
95+
_policies = [
96+
policies.RequestIdPolicy(**kwargs),
97+
self._config.headers_policy,
98+
self._config.user_agent_policy,
99+
self._config.proxy_policy,
100+
policies.ContentDecodePolicy(**kwargs),
101+
ARMAutoResourceProviderRegistrationPolicy(),
102+
self._config.redirect_policy,
103+
self._config.retry_policy,
104+
self._config.authentication_policy,
105+
self._config.custom_hook_policy,
106+
self._config.logging_policy,
107+
policies.DistributedTracingPolicy(**kwargs),
108+
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
109+
self._config.http_logging_policy,
110+
]
111+
self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
74112

75113
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
76114
self._serialize = Serializer(client_models)
@@ -80,9 +118,13 @@ def __init__(
80118
self.sql_managed_instances = SqlManagedInstancesOperations(
81119
self._client, self._config, self._serialize, self._deserialize
82120
)
121+
self.failover_groups = FailoverGroupsOperations(self._client, self._config, self._serialize, self._deserialize)
83122
self.sql_server_instances = SqlServerInstancesOperations(
84123
self._client, self._config, self._serialize, self._deserialize
85124
)
125+
self.sql_server_licenses = SqlServerLicensesOperations(
126+
self._client, self._config, self._serialize, self._deserialize
127+
)
86128
self.data_controllers = DataControllersOperations(
87129
self._client, self._config, self._serialize, self._deserialize
88130
)
@@ -92,8 +134,17 @@ def __init__(
92134
self.postgres_instances = PostgresInstancesOperations(
93135
self._client, self._config, self._serialize, self._deserialize
94136
)
137+
self.sql_server_availability_groups = SqlServerAvailabilityGroupsOperations(
138+
self._client, self._config, self._serialize, self._deserialize
139+
)
140+
self.sql_server_databases = SqlServerDatabasesOperations(
141+
self._client, self._config, self._serialize, self._deserialize
142+
)
143+
self.sql_server_esu_licenses = SqlServerEsuLicensesOperations(
144+
self._client, self._config, self._serialize, self._deserialize
145+
)
95146

96-
def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
147+
def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
97148
"""Runs the network request through the client's chained policies.
98149
99150
>>> from azure.core.rest import HttpRequest
@@ -113,14 +164,14 @@ def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse:
113164

114165
request_copy = deepcopy(request)
115166
request_copy.url = self._client.format_url(request_copy.url)
116-
return self._client.send_request(request_copy, **kwargs)
167+
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
117168

118169
def close(self) -> None:
119170
self._client.close()
120171

121-
def __enter__(self) -> "AzureArcDataManagementClient":
172+
def __enter__(self) -> Self:
122173
self._client.__enter__()
123174
return self
124175

125-
def __exit__(self, *exc_details) -> None:
176+
def __exit__(self, *exc_details: Any) -> None:
126177
self._client.__exit__(*exc_details)

sdk/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata/_configuration.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,19 @@
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
88

9-
import sys
109
from typing import Any, TYPE_CHECKING
1110

12-
from azure.core.configuration import Configuration
1311
from azure.core.pipeline import policies
1412
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
1513

1614
from ._version import VERSION
1715

18-
if sys.version_info >= (3, 8):
19-
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
20-
else:
21-
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
22-
2316
if TYPE_CHECKING:
2417
# pylint: disable=unused-import,ungrouped-imports
2518
from azure.core.credentials import TokenCredential
2619

2720

28-
class AzureArcDataManagementClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
21+
class AzureArcDataManagementClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
2922
"""Configuration for AzureArcDataManagementClient.
3023
3124
Note that all parameters used to create this instance are saved as instance
@@ -35,14 +28,13 @@ class AzureArcDataManagementClientConfiguration(Configuration): # pylint: disab
3528
:type credential: ~azure.core.credentials.TokenCredential
3629
:param subscription_id: The ID of the Azure subscription. Required.
3730
:type subscription_id: str
38-
:keyword api_version: Api Version. Default value is "2022-03-01-preview". Note that overriding
31+
:keyword api_version: Api Version. Default value is "2024-05-01-preview". Note that overriding
3932
this default value may result in unsupported behavior.
4033
:paramtype api_version: str
4134
"""
4235

4336
def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
44-
super(AzureArcDataManagementClientConfiguration, self).__init__(**kwargs)
45-
api_version: Literal["2022-03-01-preview"] = kwargs.pop("api_version", "2022-03-01-preview")
37+
api_version: str = kwargs.pop("api_version", "2024-05-01-preview")
4638

4739
if credential is None:
4840
raise ValueError("Parameter 'credential' must not be None.")
@@ -54,6 +46,7 @@ def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs
5446
self.api_version = api_version
5547
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
5648
kwargs.setdefault("sdk_moniker", "mgmt-azurearcdata/{}".format(VERSION))
49+
self.polling_interval = kwargs.get("polling_interval", 30)
5750
self._configure(**kwargs)
5851

5952
def _configure(self, **kwargs: Any) -> None:
@@ -62,9 +55,9 @@ def _configure(self, **kwargs: Any) -> None:
6255
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
6356
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
6457
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
65-
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
6658
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
6759
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
60+
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
6861
self.authentication_policy = kwargs.get("authentication_policy")
6962
if self.credential and not self.authentication_policy:
7063
self.authentication_policy = ARMChallengeAuthenticationPolicy(

0 commit comments

Comments
 (0)