Skip to content

Commit

Permalink
[T2] OperationsManagement (#14950)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhoxing-ms authored Nov 18, 2020
1 parent f6a850d commit c64ca07
Show file tree
Hide file tree
Showing 25 changed files with 2,824 additions and 1,158 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# Release History

## 1.0.0b1 (2020-11-02)

This is beta preview version.

This version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).

General breaking changes

Credential system has been completly revamped:

azure.common.credentials or msrestazure.azure_active_directory instances are no longer supported, use the azure-identity classes instead: https://pypi.org/project/azure-identity/
credentials parameter has been renamed credential
The config attribute no longer exists on a client, configuration should be passed as kwarg. Example: MyClient(credential, subscription_id, enable_logging=True). For a complete set of supported options, see the parameters accept in init documentation of azure-core

You can't import a version module anymore, use __version__ instead

Operations that used to return a msrest.polling.LROPoller now returns a azure.core.polling.LROPoller and are prefixed with begin_.

Exceptions tree have been simplified and most exceptions are now azure.core.exceptions.HttpResponseError (CloudError has been removed).

Most of the operation kwarg have changed. Some of the most noticeable:

raw has been removed. Equivalent feature can be found using cls, a callback that will give access to internal HTTP response for advanced user
For a complete set of supported options, see the parameters accept in Request documentation of azure-core
General new features

Type annotations support using typing. SDKs are mypy ready.
This client has now stable and official support for async. Check the aio namespace of your package to find the async client.
This client now support natively tracing library like OpenCensus or OpenTelemetry. See this tracing quickstart for an overview.

## 0.1.0 (2020-01-24)

* Initial Release
15 changes: 11 additions & 4 deletions sdk/operationsmanagement/azure-mgmt-operationsmanagement/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Microsoft Azure SDK for Python

This is the Microsoft Azure MyService Management Client Library.
This is the Microsoft Azure OperationsManagement Management Client Library.

Azure Resource Manager (ARM) is the next generation of management APIs
that replace the old Azure Service Management (ASM).
Expand All @@ -14,11 +14,18 @@ library.
For a more complete set of Azure libraries, see the
[azure sdk python release](https://aka.ms/azsdk/python/all).


## Usage

For code examples, see [MyService
Management](https://docs.microsoft.com/python/api/overview/azure/) on
docs.microsoft.com.

To learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt)



For docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/)
Code samples for this package can be found at [Operationsmanagement Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.
Additional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)


## Provide Feedback

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from ._configuration import OperationsManagementClientConfiguration
from ._operations_management_client import OperationsManagementClient
__all__ = ['OperationsManagementClient', 'OperationsManagementClientConfiguration']

from .version import VERSION

__version__ = VERSION
__all__ = ['OperationsManagementClient']

try:
from ._patch import patch_sdk # type: ignore
patch_sdk()
except ImportError:
pass
Original file line number Diff line number Diff line change
@@ -1,44 +1,55 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from msrestazure import AzureConfiguration

from .version import VERSION
from typing import TYPE_CHECKING

from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any

from azure.core.credentials import TokenCredential

VERSION = "unknown"

class OperationsManagementClientConfiguration(Configuration):
"""Configuration for OperationsManagementClient.
class OperationsManagementClientConfiguration(AzureConfiguration):
"""Configuration for OperationsManagementClient
Note that all parameters used to create this instance are saved as instance
attributes.
:param credentials: Credentials needed for the client to connect to Azure.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:param credential: Credential needed for the client to connect to Azure.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
:type subscription_id: str
:param provider_name: Provider name for the parent resource.
:type provider_name: str
:param resource_type: Resource type for the parent resource
:param resource_type: Resource type for the parent resource.
:type resource_type: str
:param resource_name: Parent resource name.
:type resource_name: str
:param str base_url: Service URL
"""

def __init__(
self, credentials, subscription_id, provider_name, resource_type, resource_name, base_url=None):

if credentials is None:
raise ValueError("Parameter 'credentials' must not be None.")
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
provider_name, # type: str
resource_type, # type: str
resource_name, # type: str
**kwargs # type: Any
):
# type: (...) -> None
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
if provider_name is None:
Expand All @@ -47,19 +58,31 @@ def __init__(
raise ValueError("Parameter 'resource_type' must not be None.")
if resource_name is None:
raise ValueError("Parameter 'resource_name' must not be None.")
if not base_url:
base_url = 'https://management.azure.com'
super(OperationsManagementClientConfiguration, self).__init__(**kwargs)

super(OperationsManagementClientConfiguration, self).__init__(base_url)

# Starting Autorest.Python 4.0.64, make connection pool activated by default
self.keep_alive = True

self.add_user_agent('azure-mgmt-operationsmanagement/{}'.format(VERSION))
self.add_user_agent('Azure-SDK-For-Python')

self.credentials = credentials
self.credential = credential
self.subscription_id = subscription_id
self.provider_name = provider_name
self.resource_type = resource_type
self.resource_name = resource_name
self.api_version = "2015-11-01-preview"
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-operationsmanagement/{}'.format(VERSION))
self._configure(**kwargs)

def _configure(
self,
**kwargs # type: Any
):
# type: (...) -> None
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs)
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from msrest.service_client import SDKClient
from msrest import Serializer, Deserializer
from typing import TYPE_CHECKING

from azure.mgmt.core import ARMPipelineClient
from msrest import Deserializer, Serializer

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any, Optional

from azure.core.credentials import TokenCredential

from ._configuration import OperationsManagementClientConfiguration
from .operations import SolutionsOperations
Expand All @@ -20,53 +25,70 @@
from . import models


class OperationsManagementClient(SDKClient):
"""Operations Management Client
class OperationsManagementClient(object):
"""Operations Management Client.
:ivar config: Configuration for client.
:vartype config: OperationsManagementClientConfiguration
:ivar solutions: Solutions operations
:vartype solutions: azure.mgmt.operationsmanagement.operations.SolutionsOperations
:ivar management_associations: ManagementAssociations operations
:vartype management_associations: azure.mgmt.operationsmanagement.operations.ManagementAssociationsOperations
:ivar management_configurations: ManagementConfigurations operations
:vartype management_configurations: azure.mgmt.operationsmanagement.operations.ManagementConfigurationsOperations
:ivar solutions: SolutionsOperations operations
:vartype solutions: operations_management_client.operations.SolutionsOperations
:ivar management_associations: ManagementAssociationsOperations operations
:vartype management_associations: operations_management_client.operations.ManagementAssociationsOperations
:ivar management_configurations: ManagementConfigurationsOperations operations
:vartype management_configurations: operations_management_client.operations.ManagementConfigurationsOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.operationsmanagement.operations.Operations
:param credentials: Credentials needed for the client to connect to Azure.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:vartype operations: operations_management_client.operations.Operations
:param credential: Credential needed for the client to connect to Azure.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
:type subscription_id: str
:param provider_name: Provider name for the parent resource.
:type provider_name: str
:param resource_type: Resource type for the parent resource
:param resource_type: Resource type for the parent resource.
:type resource_type: str
:param resource_name: Parent resource name.
:type resource_name: str
:param str base_url: Service URL
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.
"""

def __init__(
self, credentials, subscription_id, provider_name, resource_type, resource_name, base_url=None):

self.config = OperationsManagementClientConfiguration(credentials, subscription_id, provider_name, resource_type, resource_name, base_url)
super(OperationsManagementClient, self).__init__(self.config.credentials, self.config)
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
provider_name, # type: str
resource_type, # type: str
resource_name, # type: str
base_url=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> None
if not base_url:
base_url = 'https://management.azure.com'
self._config = OperationsManagementClientConfiguration(credential, subscription_id, provider_name, resource_type, resource_name, **kwargs)
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self.api_version = '2015-11-01-preview'
self._serialize = Serializer(client_models)
self._serialize.client_side_validation = False
self._deserialize = Deserializer(client_models)

self.solutions = SolutionsOperations(
self._client, self.config, self._serialize, self._deserialize)
self._client, self._config, self._serialize, self._deserialize)
self.management_associations = ManagementAssociationsOperations(
self._client, self.config, self._serialize, self._deserialize)
self._client, self._config, self._serialize, self._deserialize)
self.management_configurations = ManagementConfigurationsOperations(
self._client, self.config, self._serialize, self._deserialize)
self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(
self._client, self.config, self._serialize, self._deserialize)
self._client, self._config, self._serialize, self._deserialize)

def close(self):
# type: () -> None
self._client.close()

def __enter__(self):
# type: () -> OperationsManagementClient
self._client.__enter__()
return self

def __exit__(self, *exc_details):
# type: (Any) -> None
self._client.__exit__(*exc_details)
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
# regenerated.
# --------------------------------------------------------------------------

VERSION = "0.1.0"
VERSION = "1.0.0b1"

Original file line number Diff line number Diff line change
@@ -0,0 +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.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from ._operations_management_client import OperationsManagementClient
__all__ = ['OperationsManagementClient']
Loading

0 comments on commit c64ca07

Please sign in to comment.